diff options
author | Hor911 <hor911@ydb.tech> | 2025-02-25 14:37:20 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-25 14:37:20 +0300 |
commit | b58a028c6dba00b325267cbf8ac43acb987dc076 (patch) | |
tree | d83ff9410031415f50f9b3f1ee011bbae9fb1f90 | |
parent | 27ea9c1bf9cfdc37801076912f8e270eb47c0f04 (diff) | |
download | ydb-b58a028c6dba00b325267cbf8ac43acb987dc076.tar.gz |
Revert use of GraceJoinCore for map/broadcast by default (#14974)
62 files changed, 432 insertions, 908 deletions
diff --git a/ydb/core/kqp/kqp_default_settings.txt b/ydb/core/kqp/kqp_default_settings.txt index 4a639c0af3..3120e3e3c9 100644 --- a/ydb/core/kqp/kqp_default_settings.txt +++ b/ydb/core/kqp/kqp_default_settings.txt @@ -72,8 +72,3 @@ DefaultSettings { Name: "_KqpDisableLlvmForUdfStages" Value: "false" } - -DefaultSettings { - Name: "UseGraceJoinCoreForMap" - Value: "true" -} diff --git a/ydb/core/kqp/ut/query/kqp_explain_ut.cpp b/ydb/core/kqp/ut/query/kqp_explain_ut.cpp index a2f1f67690..dc594ebc9b 100644 --- a/ydb/core/kqp/ut/query/kqp_explain_ut.cpp +++ b/ydb/core/kqp/ut/query/kqp_explain_ut.cpp @@ -85,7 +85,7 @@ Y_UNIT_TEST_SUITE(KqpExplain) { NJson::ReadJsonTree(*res.PlanJson, &plan, true); UNIT_ASSERT(ValidatePlanNodeIds(plan)); - auto join = FindPlanNodeByKv(plan, "Node Type", "Aggregate-InnerJoin (MapJoin)-Filter-TableFullScan-Filter"); + auto join = FindPlanNodeByKv(plan, "Node Type", "Aggregate-InnerJoin (MapJoin)-Filter-TableFullScan"); UNIT_ASSERT(join.IsDefined()); auto left = FindPlanNodeByKv(join, "Table", "EightShard"); UNIT_ASSERT(left.IsDefined()); @@ -113,7 +113,7 @@ Y_UNIT_TEST_SUITE(KqpExplain) { NJson::ReadJsonTree(*res.PlanJson, &plan, true); UNIT_ASSERT(ValidatePlanNodeIds(plan)); - auto join = FindPlanNodeByKv(plan, "Node Type", "Aggregate-InnerJoin (MapJoin)-Filter-TableFullScan-Filter"); + auto join = FindPlanNodeByKv(plan, "Node Type", "Aggregate-InnerJoin (MapJoin)-Filter-TableFullScan"); UNIT_ASSERT(join.IsDefined()); auto left = FindPlanNodeByKv(join, "Table", "EightShard"); UNIT_ASSERT(left.IsDefined()); @@ -203,7 +203,7 @@ Y_UNIT_TEST_SUITE(KqpExplain) { auto join = FindPlanNodeByKv( plan, "Node Type", - "Aggregate-InnerJoin (MapJoin)-Filter-TableFullScan-Filter" + "Aggregate-InnerJoin (MapJoin)-Filter-TableFullScan" ); UNIT_ASSERT(join.IsDefined()); @@ -366,9 +366,9 @@ Y_UNIT_TEST_SUITE(KqpExplain) { NJson::ReadJsonTree(*res.PlanJson, &plan, true); UNIT_ASSERT(ValidatePlanNodeIds(plan)); - auto join1 = FindPlanNodeByKv(plan, "Node Type", "Sort-InnerJoin (MapJoin)-Filter-Filter"); + auto join1 = FindPlanNodeByKv(plan, "Node Type", "Sort-InnerJoin (MapJoin)-Filter"); UNIT_ASSERT(join1.IsDefined()); - auto join2 = FindPlanNodeByKv(plan, "Node Type", "Aggregate-InnerJoin (MapJoin)-Filter-Filter"); + auto join2 = FindPlanNodeByKv(plan, "Node Type", "Aggregate-InnerJoin (MapJoin)-Filter"); UNIT_ASSERT(join2.IsDefined()); } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_join_group_by_lookup.script-script_/join_group_by_lookup.script.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_join_group_by_lookup.script-script_/join_group_by_lookup.script.plan index 9d9b9d7289..2138e55a23 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_join_group_by_lookup.script-script_/join_group_by_lookup.script.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_join_group_by_lookup.script-script_/join_group_by_lookup.script.plan @@ -35,7 +35,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -54,19 +54,10 @@ "ExternalPlanNodeId": 17 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 15 } ], - "Name": "Filter", - "Predicate": "Exist(item.Group)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 18, 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 7b93814cc7..aea29c89a2 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 29 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 27 } ], - "Name": "Filter", - "Predicate": "Exist(item.x)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 30, @@ -189,7 +180,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "a.x = qt.x", @@ -198,19 +189,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.x)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 ca6fb10ea1..77c2ba6aff 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.x)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 554de2e194..af67ce1c4f 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.x)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 285559c7bb..2d07ec292a 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.pkxx)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 2d1f447d4e..e48a95b6fe 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 @@ -62,7 +62,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Aggregate-LeftJoin (MapJoin)-Filter", + "Node Type": "Aggregate-LeftJoin (MapJoin)", "Operators": [ { "Aggregation": "{COUNT(item.t1.q1)}", @@ -82,19 +82,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.q1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 be5580c309..b26bfa85df 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 @@ -62,7 +62,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Aggregate-LeftJoin (MapJoin)-Filter", + "Node Type": "Aggregate-LeftJoin (MapJoin)", "Operators": [ { "Aggregation": "{COUNT(item.t2.q1)}", @@ -82,19 +82,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.q1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 f0b83689f3..a7e890fe80 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 @@ -62,7 +62,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Aggregate-LeftJoin (MapJoin)-Filter", + "Node Type": "Aggregate-LeftJoin (MapJoin)", "Operators": [ { "Aggregation": "{COUNT(item.t2.q1)}", @@ -82,19 +82,10 @@ "ExternalPlanNodeId": 10 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 7 } ], - "Name": "Filter", - "Predicate": "Exist(item.q1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 11, 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 a25b5ff061..6762eba9b5 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 @@ -62,7 +62,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Aggregate-LeftJoin (MapJoin)-Filter", + "Node Type": "Aggregate-LeftJoin (MapJoin)", "Operators": [ { "Aggregation": "{COUNT(item.t2.q1)}", @@ -70,6 +70,15 @@ "Inputs": [ { "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 } ], "Name": "Aggregate", @@ -82,19 +91,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.q1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 3410878e33..b3499e2862 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.i2_1.q2)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, @@ -87,6 +78,9 @@ "Inputs": [ { "InternalOperatorId": 1 + }, + { + "Other": "ConstantExpression" } ], "Name": "InnerJoin (MapJoin)" 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 7b373b1f2f..f89d37becc 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-Filter-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-Filter-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -65,19 +65,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 3 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.unique2)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 583bd5de90..9c787afebe 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 @@ -29,12 +29,27 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ { "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 } ], "Limit": "1001", @@ -47,19 +62,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.unique2)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 55f15c1be6..9415f95590 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -47,19 +47,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.unique2)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, @@ -123,7 +114,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "a.unique1 = b.thousand", @@ -132,19 +123,10 @@ "ExternalPlanNodeId": 13 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 10 } ], - "Name": "Filter", - "Predicate": "Exist(item.thousand)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 14, 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 d70f7ff2d2..88da06bc41 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 @@ -29,12 +29,24 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ { "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 } ], "Limit": "1001", @@ -48,19 +60,10 @@ "ExternalPlanNodeId": 14 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 12 } ], - "Name": "Filter", - "Predicate": "Exist(item.foo2.f1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 15, @@ -80,7 +83,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "foo2.f1 = ss2.unique2", @@ -89,19 +92,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.unique2)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 15e7598dba..39333ebc7b 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -47,19 +47,10 @@ "ExternalPlanNodeId": 11 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 9 } ], - "Name": "Filter", - "Predicate": "Exist(item.yy_1.id)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 12, 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 03472c6909..73cb8f9b79 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -47,19 +47,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.unique2)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 cf9582cfc3..1a6ab63a8a 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 @@ -30,7 +30,7 @@ "Plans": [ { "CTE Name": "precompute_0_0", - "Node Type": "Limit-CrossJoin-InnerJoin (MapJoin)-Filter-Filter-ConstantExpr-ConstantExpr", + "Node Type": "Limit-CrossJoin-InnerJoin (MapJoin)-ConstantExpr-Filter-ConstantExpr", "Operators": [ { "Inputs": [ @@ -71,7 +71,7 @@ "InternalOperatorId": 2 }, { - "InternalOperatorId": 6 + "InternalOperatorId": 5 } ], "Name": "CrossJoin" @@ -80,36 +80,27 @@ "Condition": "t.thousand = b.Sum0", "Inputs": [ { - "InternalOperatorId": 3 + "InternalOperatorId": 4 }, { - "InternalOperatorId": 4 + "InternalOperatorId": 3 } ], "Name": "InnerJoin (MapJoin)" }, { - "Inputs": [ - { - "ExternalPlanNodeId": 7 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.thousand)" + "Inputs": [], + "Name": "ToFlow", + "ToFlow": "precompute_0_0" }, { "Inputs": [ { - "InternalOperatorId": 5 + "ExternalPlanNodeId": 7 } ], "Name": "Filter", - "Predicate": "Exist(item.Sum0)" - }, - { - "Inputs": [], - "Name": "ToFlow", - "ToFlow": "precompute_0_0" + "Predicate": "Exist(item.thousand)" }, { "Inputs": [], 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 d507ef184c..dd27d457f9 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 @@ -47,7 +47,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Aggregate-InnerJoin (MapJoin)-Filter-Filter", + "Node Type": "Aggregate-InnerJoin (MapJoin)-Filter", "Operators": [ { "Inputs": [ @@ -65,7 +65,7 @@ "InternalOperatorId": 2 }, { - "InternalOperatorId": 3 + "ExternalPlanNodeId": 5 } ], "Name": "InnerJoin (MapJoin)" @@ -78,15 +78,6 @@ ], "Name": "Filter", "Predicate": "Exist(item.hundred)" - }, - { - "Inputs": [ - { - "ExternalPlanNodeId": 5 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.thousand)" } ], "PlanNodeId": 9, 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 230ea90af4..a7b30808b5 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-Filter-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-Filter-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -68,19 +68,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 3 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.tenthous)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 b184ad12b2..47e2e9ef97 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-Filter", + "Node Type": "TopSort-InnerJoin (MapJoin)-Filter", "Operators": [ { "Inputs": [ @@ -48,7 +48,7 @@ "InternalOperatorId": 2 }, { - "InternalOperatorId": 3 + "ExternalPlanNodeId": 5 } ], "Name": "InnerJoin (MapJoin)" @@ -61,15 +61,6 @@ ], "Name": "Filter", "Predicate": "Exist(item.qq)" - }, - { - "Inputs": [ - { - "ExternalPlanNodeId": 5 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.unique2)" } ], "PlanNodeId": 18, 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 465942d51e..3dd5ee6487 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-Filter-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-Filter-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -65,19 +65,10 @@ "ExternalPlanNodeId": 36 }, { - "InternalOperatorId": 3 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 34 } ], - "Name": "Filter", - "Predicate": "Exist(item.unique1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 37, @@ -204,7 +195,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "InnerJoin (MapJoin)-Filter-Filter", + "Node Type": "InnerJoin (MapJoin)-Filter", "Operators": [ { "Condition": "t1.unique2 = subq1.d1", @@ -213,7 +204,7 @@ "InternalOperatorId": 1 }, { - "InternalOperatorId": 2 + "ExternalPlanNodeId": 19 } ], "Name": "InnerJoin (MapJoin)" @@ -226,15 +217,6 @@ ], "Name": "Filter", "Predicate": "Exist(item.unique2)" - }, - { - "Inputs": [ - { - "ExternalPlanNodeId": 19 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.d1)" } ], "PlanNodeId": 23, @@ -254,7 +236,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "i1.f1 = subq1.v1.x2", @@ -263,19 +245,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 12 } ], - "Name": "Filter", - "Predicate": "Exist(item.v1.x2)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, @@ -295,7 +268,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "v1.x1 = v2.y2", @@ -304,19 +277,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.y2)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 d4bd6fa1fb..6d4c1b6471 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 @@ -47,7 +47,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Aggregate-LeftJoin (MapJoin)-Filter", + "Node Type": "Aggregate-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -65,19 +65,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 12 } ], - "Name": "Filter", - "Predicate": "Exist(item.t2.hundred) AND Exist(item.t3.ten)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, @@ -97,7 +88,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "InnerJoin (MapJoin)-Filter-Filter", + "Node Type": "InnerJoin (MapJoin)-Filter", "Operators": [ { "Condition": "t2.thousand = t3.unique2", @@ -106,7 +97,7 @@ "InternalOperatorId": 1 }, { - "InternalOperatorId": 2 + "ExternalPlanNodeId": 5 } ], "Name": "InnerJoin (MapJoin)" @@ -119,15 +110,6 @@ ], "Name": "Filter", "Predicate": "Exist(item.thousand)" - }, - { - "Inputs": [ - { - "ExternalPlanNodeId": 5 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.unique2)" } ], "PlanNodeId": 9, 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 bb4890315e..d0adfff56a 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 @@ -47,7 +47,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Aggregate-LeftJoin (MapJoin)-Filter", + "Node Type": "Aggregate-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -65,19 +65,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 12 } ], - "Name": "Filter", - "Predicate": "Exist(item._equijoin_column_0) AND Exist(item.hundred)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, @@ -97,7 +88,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "InnerJoin (MapJoin)-Filter-Filter", + "Node Type": "InnerJoin (MapJoin)-Filter", "Operators": [ { "Condition": "t2.thousand = t3.unique2", @@ -106,7 +97,7 @@ "InternalOperatorId": 1 }, { - "InternalOperatorId": 2 + "ExternalPlanNodeId": 5 } ], "Name": "InnerJoin (MapJoin)" @@ -119,15 +110,6 @@ ], "Name": "Filter", "Predicate": "Exist(item.thousand)" - }, - { - "Inputs": [ - { - "ExternalPlanNodeId": 5 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.unique2)" } ], "PlanNodeId": 9, 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 03afef6915..a13a0554cb 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 @@ -29,12 +29,27 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ { "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 } ], "Limit": "1001", @@ -48,19 +63,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.unique2)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 2e0f7c052a..6e7ab60d2a 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 @@ -29,8 +29,8 @@ "PlanNodeType": "Connection", "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr-Filter-ConstantExpr", + "CTE Name": "precompute_1_0", + "Node Type": "TopSort-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr", "Operators": [ { "Inputs": [ @@ -46,18 +46,23 @@ "Condition": "t2.i = t1.i", "Inputs": [ { - "InternalOperatorId": 2 + "InternalOperatorId": 3 }, { - "InternalOperatorId": 5 + "InternalOperatorId": 2 } ], "Name": "InnerJoin (MapJoin)" }, { + "Inputs": [], + "Name": "ToFlow", + "ToFlow": "precompute_0_0" + }, + { "Inputs": [ { - "InternalOperatorId": 3 + "InternalOperatorId": 4 } ], "Name": "Filter", @@ -66,7 +71,7 @@ { "Inputs": [ { - "InternalOperatorId": 4 + "InternalOperatorId": 5 } ], "Name": "TableRangeScan", @@ -81,20 +86,6 @@ "Inputs": [], "Iterator": "precompute_1_0", "Name": "Iterator" - }, - { - "Inputs": [ - { - "InternalOperatorId": 6 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.i)" - }, - { - "Inputs": [], - "Name": "ToFlow", - "ToFlow": "precompute_0_0" } ], "PlanNodeId": 10, 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 ac4f28eef5..612c9f76f4 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.i)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 71be559cd0..0afa81cab8 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-Filter-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-Filter-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -65,19 +65,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 3 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.i)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 32694173e0..e95666f81a 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -47,19 +47,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.i)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 784115eda5..2b53868496 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 @@ -29,8 +29,8 @@ "PlanNodeType": "Connection", "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr-Filter-ConstantExpr", + "CTE Name": "precompute_1_0", + "Node Type": "TopSort-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr", "Operators": [ { "Inputs": [ @@ -46,18 +46,23 @@ "Condition": "J2_TBL.i = J1_TBL.i", "Inputs": [ { - "InternalOperatorId": 2 + "InternalOperatorId": 3 }, { - "InternalOperatorId": 5 + "InternalOperatorId": 2 } ], "Name": "InnerJoin (MapJoin)" }, { + "Inputs": [], + "Name": "ToFlow", + "ToFlow": "precompute_0_0" + }, + { "Inputs": [ { - "InternalOperatorId": 3 + "InternalOperatorId": 4 } ], "Name": "Filter", @@ -66,7 +71,7 @@ { "Inputs": [ { - "InternalOperatorId": 4 + "InternalOperatorId": 5 } ], "Name": "TableRangeScan", @@ -81,20 +86,6 @@ "Inputs": [], "Iterator": "precompute_1_0", "Name": "Iterator" - }, - { - "Inputs": [ - { - "InternalOperatorId": 6 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.i)" - }, - { - "Inputs": [], - "Name": "ToFlow", - "ToFlow": "precompute_0_0" } ], "PlanNodeId": 10, 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 784115eda5..2b53868496 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 @@ -29,8 +29,8 @@ "PlanNodeType": "Connection", "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr-Filter-ConstantExpr", + "CTE Name": "precompute_1_0", + "Node Type": "TopSort-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr", "Operators": [ { "Inputs": [ @@ -46,18 +46,23 @@ "Condition": "J2_TBL.i = J1_TBL.i", "Inputs": [ { - "InternalOperatorId": 2 + "InternalOperatorId": 3 }, { - "InternalOperatorId": 5 + "InternalOperatorId": 2 } ], "Name": "InnerJoin (MapJoin)" }, { + "Inputs": [], + "Name": "ToFlow", + "ToFlow": "precompute_0_0" + }, + { "Inputs": [ { - "InternalOperatorId": 3 + "InternalOperatorId": 4 } ], "Name": "Filter", @@ -66,7 +71,7 @@ { "Inputs": [ { - "InternalOperatorId": 4 + "InternalOperatorId": 5 } ], "Name": "TableRangeScan", @@ -81,20 +86,6 @@ "Inputs": [], "Iterator": "precompute_1_0", "Name": "Iterator" - }, - { - "Inputs": [ - { - "InternalOperatorId": 6 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.i)" - }, - { - "Inputs": [], - "Name": "ToFlow", - "ToFlow": "precompute_0_0" } ], "PlanNodeId": 10, 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 97ea90c89e..a592b826b2 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-Filter", + "Node Type": "TopSort-InnerJoin (MapJoin)-Filter", "Operators": [ { "Inputs": [ @@ -48,7 +48,7 @@ "InternalOperatorId": 2 }, { - "InternalOperatorId": 3 + "ExternalPlanNodeId": 5 } ], "Name": "InnerJoin (MapJoin)" @@ -61,15 +61,6 @@ ], "Name": "Filter", "Predicate": "Exist(item.j)" - }, - { - "Inputs": [ - { - "ExternalPlanNodeId": 5 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.k)" } ], "PlanNodeId": 9, 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 784115eda5..2b53868496 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 @@ -29,8 +29,8 @@ "PlanNodeType": "Connection", "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr-Filter-ConstantExpr", + "CTE Name": "precompute_1_0", + "Node Type": "TopSort-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr", "Operators": [ { "Inputs": [ @@ -46,18 +46,23 @@ "Condition": "J2_TBL.i = J1_TBL.i", "Inputs": [ { - "InternalOperatorId": 2 + "InternalOperatorId": 3 }, { - "InternalOperatorId": 5 + "InternalOperatorId": 2 } ], "Name": "InnerJoin (MapJoin)" }, { + "Inputs": [], + "Name": "ToFlow", + "ToFlow": "precompute_0_0" + }, + { "Inputs": [ { - "InternalOperatorId": 3 + "InternalOperatorId": 4 } ], "Name": "Filter", @@ -66,7 +71,7 @@ { "Inputs": [ { - "InternalOperatorId": 4 + "InternalOperatorId": 5 } ], "Name": "TableRangeScan", @@ -81,20 +86,6 @@ "Inputs": [], "Iterator": "precompute_1_0", "Name": "Iterator" - }, - { - "Inputs": [ - { - "InternalOperatorId": 6 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.i)" - }, - { - "Inputs": [], - "Name": "ToFlow", - "ToFlow": "precompute_0_0" } ], "PlanNodeId": 10, 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 738e2dd430..eb1d433fe4 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-Filter", + "Node Type": "TopSort-InnerJoin (MapJoin)-Filter", "Operators": [ { "Inputs": [ @@ -48,7 +48,7 @@ "InternalOperatorId": 2 }, { - "InternalOperatorId": 3 + "ExternalPlanNodeId": 5 } ], "Name": "InnerJoin (MapJoin)" @@ -61,15 +61,6 @@ ], "Name": "Filter", "Predicate": "Exist(item.i)" - }, - { - "Inputs": [ - { - "ExternalPlanNodeId": 5 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.k)" } ], "PlanNodeId": 9, 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 f186d5e3f8..9859e251a0 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.i)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 f186d5e3f8..9859e251a0 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.i)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 ac4f28eef5..612c9f76f4 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.i)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 55f8709752..1fa89569d9 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 @@ -29,12 +29,39 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ { "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 } ], "Limit": "1001", @@ -48,19 +75,10 @@ "ExternalPlanNodeId": 22 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 14 } ], - "Name": "Filter", - "Predicate": "Exist(item.x1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 23, @@ -71,7 +89,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "x_1.x1 = y.y1", @@ -80,19 +98,10 @@ "ExternalPlanNodeId": 20 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 18 } ], - "Name": "Filter", - "Predicate": "Exist(item.y1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 21, @@ -161,13 +170,13 @@ "PlanNodeType": "Connection", "Plans": [ { - "CTE Name": "precompute_0_1", + "CTE Name": "precompute_0_0", "Node Type": "ConstantExpr", "Operators": [ { "Inputs": [], "Name": "ToFlow", - "ToFlow": "precompute_0_1" + "ToFlow": "precompute_0_0" } ], "PlanNodeId": 19 @@ -184,13 +193,13 @@ "PlanNodeType": "Connection", "Plans": [ { - "CTE Name": "precompute_0_0", + "CTE Name": "precompute_0_1", "Node Type": "ConstantExpr", "Operators": [ { "Inputs": [], "Name": "ToFlow", - "ToFlow": "precompute_0_0" + "ToFlow": "precompute_0_1" } ], "PlanNodeId": 13 @@ -215,11 +224,11 @@ "PlanNodeType": "Materialize", "Plans": [ { - "CTE Name": "precompute_0_1", + "CTE Name": "precompute_0_0", "Node Type": "Aggregate", "Operators": [ { - "Input": "precompute_0_1", + "Input": "precompute_0_0", "Inputs": [], "Name": "PartitionByKey" } 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 8ae7582ea8..79fc955c63 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-Filter-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-Filter-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -84,19 +84,10 @@ "ExternalPlanNodeId": 22 }, { - "InternalOperatorId": 3 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 14 } ], - "Name": "Filter", - "Predicate": "Exist(item.x1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 23, @@ -107,7 +98,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "x_1.x1 = y.y1", @@ -116,19 +107,10 @@ "ExternalPlanNodeId": 20 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 18 } ], - "Name": "Filter", - "Predicate": "Exist(item.y1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 21, @@ -197,13 +179,13 @@ "PlanNodeType": "Connection", "Plans": [ { - "CTE Name": "precompute_0_0", + "CTE Name": "precompute_0_1", "Node Type": "ConstantExpr", "Operators": [ { "Inputs": [], "Name": "ToFlow", - "ToFlow": "precompute_0_0" + "ToFlow": "precompute_0_1" } ], "PlanNodeId": 19 @@ -220,13 +202,13 @@ "PlanNodeType": "Connection", "Plans": [ { - "CTE Name": "precompute_0_1", + "CTE Name": "precompute_0_0", "Node Type": "ConstantExpr", "Operators": [ { "Inputs": [], "Name": "ToFlow", - "ToFlow": "precompute_0_1" + "ToFlow": "precompute_0_0" } ], "PlanNodeId": 13 @@ -251,11 +233,11 @@ "PlanNodeType": "Materialize", "Plans": [ { - "CTE Name": "precompute_0_0", + "CTE Name": "precompute_0_1", "Node Type": "Aggregate", "Operators": [ { - "Input": "precompute_0_0", + "Input": "precompute_0_1", "Inputs": [], "Name": "PartitionByKey" } 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 d4d4afb6d5..1af6259f5f 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 @@ -29,12 +29,48 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ { "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 } ], "Limit": "1001", @@ -48,19 +84,10 @@ "ExternalPlanNodeId": 22 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 14 } ], - "Name": "Filter", - "Predicate": "Exist(item.x1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 23, @@ -71,7 +98,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "x_1.x1 = y.y1", @@ -80,19 +107,10 @@ "ExternalPlanNodeId": 20 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 18 } ], - "Name": "Filter", - "Predicate": "Exist(item.y1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 21, 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 88d6a311d8..2307672e56 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 @@ -29,8 +29,8 @@ "PlanNodeType": "Connection", "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr-Filter-ConstantExpr", + "CTE Name": "precompute_1_0", + "Node Type": "TopSort-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr", "Operators": [ { "Inputs": [ @@ -46,18 +46,23 @@ "Condition": "s3.name = s2.name", "Inputs": [ { - "InternalOperatorId": 2 + "InternalOperatorId": 3 }, { - "InternalOperatorId": 5 + "InternalOperatorId": 2 } ], "Name": "InnerJoin (MapJoin)" }, { + "Inputs": [], + "Name": "ToFlow", + "ToFlow": "precompute_0_0" + }, + { "Inputs": [ { - "InternalOperatorId": 3 + "InternalOperatorId": 4 } ], "Name": "Filter", @@ -66,7 +71,7 @@ { "Inputs": [ { - "InternalOperatorId": 4 + "InternalOperatorId": 5 } ], "Name": "TableRangeScan", @@ -81,20 +86,6 @@ "Inputs": [], "Iterator": "precompute_1_0", "Name": "Iterator" - }, - { - "Inputs": [ - { - "InternalOperatorId": 6 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.name)" - }, - { - "Inputs": [], - "Name": "ToFlow", - "ToFlow": "precompute_0_0" } ], "PlanNodeId": 10, 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 7ec575e63d..b9881162d3 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.name)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 fc3aa2adcc..e132301bf4 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.y1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 6a29a41b5d..e607a331ce 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-Filter-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-Filter-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -66,19 +66,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 3 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.y1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 d4d4afb6d5..59e317075a 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 @@ -29,12 +29,39 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ { "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 } ], "Limit": "1001", @@ -48,19 +75,10 @@ "ExternalPlanNodeId": 22 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 14 } ], - "Name": "Filter", - "Predicate": "Exist(item.x1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 23, @@ -71,7 +89,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "x_1.x1 = y.y1", @@ -80,19 +98,10 @@ "ExternalPlanNodeId": 20 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 18 } ], - "Name": "Filter", - "Predicate": "Exist(item.y1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 21, 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 02276f613d..910d0fe2dd 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.k)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 cf0400090a..5f4e45f765 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 @@ -29,12 +29,21 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ { "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 } ], "Limit": "1001", @@ -48,19 +57,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.k)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 3b56cb479b..f3468eb1d0 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -47,19 +47,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.k)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 9fdc3d94c4..c25ebffb3e 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 @@ -29,8 +29,8 @@ "PlanNodeType": "Connection", "Plans": [ { - "CTE Name": "precompute_3_0", - "Node Type": "Limit-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr-Filter-ConstantExpr", + "CTE Name": "precompute_4_0", + "Node Type": "Limit-InnerJoin (MapJoin)-ConstantExpr-Filter-TablePointLookup-ConstantExpr", "Operators": [ { "Inputs": [ @@ -45,18 +45,23 @@ "Condition": "x.k = p_1.k", "Inputs": [ { - "InternalOperatorId": 2 + "InternalOperatorId": 3 }, { - "InternalOperatorId": 5 + "InternalOperatorId": 2 } ], "Name": "InnerJoin (MapJoin)" }, { + "Inputs": [], + "Name": "ToFlow", + "ToFlow": "precompute_3_0" + }, + { "Inputs": [ { - "InternalOperatorId": 3 + "InternalOperatorId": 4 } ], "Name": "Filter", @@ -65,7 +70,7 @@ { "Inputs": [ { - "InternalOperatorId": 4 + "InternalOperatorId": 5 } ], "Name": "TablePointLookup", @@ -79,20 +84,6 @@ "Inputs": [], "Iterator": "precompute_4_0", "Name": "Iterator" - }, - { - "Inputs": [ - { - "InternalOperatorId": 6 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.p_1.k)" - }, - { - "Inputs": [], - "Name": "ToFlow", - "ToFlow": "precompute_3_0" } ], "PlanNodeId": 24, @@ -143,7 +134,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "p_1.k = c.k", @@ -152,19 +143,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.k)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 1e91c8d014..7ab6ea2e73 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-Filter-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-Filter-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -62,19 +62,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 3 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.id)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 5e21e09eb8..a6f522679e 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-Filter-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-Filter-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -59,19 +59,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 3 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.id)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 032323b068..53b5d0869c 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 @@ -78,6 +78,9 @@ "Inputs": [ { "ExternalPlanNodeId": 1 + }, + { + "Other": "ConstantExpression" } ], "Name": "LeftJoin (MapJoin)" 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 e4030a8e0b..0f189ca7e7 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-Filter-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-Filter-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -56,19 +56,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 3 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 12 } ], - "Name": "Filter", - "Predicate": "Exist(item.nt2.id)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, @@ -88,7 +79,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "nt2.nt1_id = ss1.id", @@ -97,19 +88,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.id)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 9f54b7b0f5..89c2ed0580 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.a)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 3915aaae99..88a9f431f6 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 @@ -29,12 +29,48 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ { "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 + }, + { + "InternalOperatorId": 1 } ], "Limit": "1001", @@ -48,19 +84,10 @@ "ExternalPlanNodeId": 17 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 14 } ], - "Name": "Filter", - "Predicate": "Exist(item.a.code)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 18, @@ -80,7 +107,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "a.code = b_grp.a", @@ -89,19 +116,10 @@ "ExternalPlanNodeId": 10 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 7 } ], - "Name": "Filter", - "Predicate": "Exist(item.a)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 11, 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 8ff134dd3b..74efc5cefb 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -41,25 +41,16 @@ "Name": "Limit" }, { - "Condition": "tqa.i = tqb.x,tqb.y,tqb.x", + "Condition": "tqa.i,tqa.i,tqa.i = tqb.x,tqb.y,tqb.x", "Inputs": [ { "ExternalPlanNodeId": 15 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 13 } ], - "Name": "Filter", - "Predicate": "Exist(item.x) AND Exist(item.y)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 16, 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 ac3be37ea9..0131159e83 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "Limit-LeftJoin (MapJoin)-Filter", + "Node Type": "Limit-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -47,19 +47,10 @@ "ExternalPlanNodeId": 27 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 25 } ], - "Name": "Filter", - "Predicate": "Exist(item.f1)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 28, @@ -185,7 +176,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "LeftJoin (MapJoin)-Filter", + "Node Type": "LeftJoin (MapJoin)", "Operators": [ { "Condition": "zt2.f2 = zt3.f3", @@ -194,19 +185,10 @@ "ExternalPlanNodeId": 13 }, { - "InternalOperatorId": 1 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 11 } ], - "Name": "Filter", - "Predicate": "Exist(item.f3)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 14, 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 d79c09e422..31fc2c01f0 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 @@ -29,8 +29,8 @@ "PlanNodeType": "Connection", "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "Limit-Filter-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr-Filter-ConstantExpr", + "CTE Name": "precompute_1_0", + "Node Type": "Limit-Filter-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr", "Operators": [ { "Inputs": [ @@ -63,18 +63,23 @@ "Condition": "tt6.f1 = tt5.f1", "Inputs": [ { - "InternalOperatorId": 3 + "InternalOperatorId": 4 }, { - "InternalOperatorId": 6 + "InternalOperatorId": 3 } ], "Name": "InnerJoin (MapJoin)" }, { + "Inputs": [], + "Name": "ToFlow", + "ToFlow": "precompute_0_0" + }, + { "Inputs": [ { - "InternalOperatorId": 4 + "InternalOperatorId": 5 } ], "Name": "Filter", @@ -83,7 +88,7 @@ { "Inputs": [ { - "InternalOperatorId": 5 + "InternalOperatorId": 6 } ], "Name": "TableRangeScan", @@ -98,20 +103,6 @@ "Inputs": [], "Iterator": "precompute_1_0", "Name": "Iterator" - }, - { - "Inputs": [ - { - "InternalOperatorId": 7 - } - ], - "Name": "Filter", - "Predicate": "Exist(item.f1)" - }, - { - "Inputs": [], - "Name": "ToFlow", - "ToFlow": "precompute_0_0" } ], "PlanNodeId": 10, 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 e962703f5d..0c6f0907f4 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.joincol)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 b6fa0ad999..f47be89616 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 @@ -29,7 +29,7 @@ "PlanNodeType": "Connection", "Plans": [ { - "Node Type": "TopSort-LeftJoin (MapJoin)-Filter", + "Node Type": "TopSort-LeftJoin (MapJoin)", "Operators": [ { "Inputs": [ @@ -48,19 +48,10 @@ "ExternalPlanNodeId": 8 }, { - "InternalOperatorId": 2 - } - ], - "Name": "LeftJoin (MapJoin)" - }, - { - "Inputs": [ - { "ExternalPlanNodeId": 5 } ], - "Name": "Filter", - "Predicate": "Exist(item.joincol)" + "Name": "LeftJoin (MapJoin)" } ], "PlanNodeId": 9, 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 2760f0a8a9..e5a3122efa 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 @@ -41,10 +41,13 @@ "Name": "Limit" }, { - "Condition": "onek.stringu1,onek.unique1 = v.i,v.j", + "Condition": "onek.unique1,onek.stringu1 = v.i,v.j", "Inputs": [ { "InternalOperatorId": 2 + }, + { + "Other": "ConstantExpression" } ], "Name": "InnerJoin (MapJoin)" |