aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpavelvelikhov <pavelvelikhov@ydb.tech>2023-12-06 19:03:18 +0300
committerpavelvelikhov <pavelvelikhov@ydb.tech>2023-12-06 20:42:26 +0300
commitc962b9ba7511d2fe0776750d9a65d8f8d331acb2 (patch)
tree9d8b4fadd0c4b3aca91f7c2453562e4f82475903
parentaadc6e8d05d6e39c3cacb24ecc6504badb7f384e (diff)
downloadydb-c962b9ba7511d2fe0776750d9a65d8f8d331acb2.tar.gz
Added ToFlow operator to JSON plan
Added ToFlow operator to JSON plan
-rw-r--r--ydb/core/kqp/opt/kqp_query_plan.cpp19
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_2.plan17
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_1.plan10
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_2.plan10
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_3.plan10
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_5.plan10
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_2.plan10
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_5.plan10
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_7.plan10
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_125.plan9
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_15.plan9
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_25.plan9
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_75.plan9
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_24.plan9
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_51.plan9
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_85.plan9
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_120.plan9
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_96.plan9
18 files changed, 160 insertions, 27 deletions
diff --git a/ydb/core/kqp/opt/kqp_query_plan.cpp b/ydb/core/kqp/opt/kqp_query_plan.cpp
index 0e624d7c57..cd429b1277 100644
--- a/ydb/core/kqp/opt/kqp_query_plan.cpp
+++ b/ydb/core/kqp/opt/kqp_query_plan.cpp
@@ -926,6 +926,8 @@ private:
operatorId = Visit(maybeSkip.Cast(), planNode);
} else if (auto maybeExtend = TMaybeNode<TCoExtendBase>(node)) {
operatorId = Visit(maybeExtend.Cast(), planNode);
+ } else if (auto maybeToFlow = TMaybeNode<TCoToFlow>(node)) {
+ operatorId = Visit(maybeToFlow.Cast(), planNode);
} else if (auto maybeIter = TMaybeNode<TCoIterator>(node)) {
operatorId = Visit(maybeIter.Cast(), planNode);
} else if (auto maybePartitionByKey = TMaybeNode<TCoPartitionByKey>(node)) {
@@ -1029,6 +1031,23 @@ private:
return AddOperator(planNode, "Union", std::move(op));
}
+ TMaybe<ui32> Visit(const TCoToFlow& toflow, TQueryPlanNode& planNode) {
+ const auto toflowValue = NPlanUtils::PrettyExprStr(toflow.Input());
+
+ TOperator op;
+ op.Properties["Name"] = "ToFlow";
+
+ if (auto maybeResultBinding = ContainResultBinding(toflowValue)) {
+ auto [txId, resId] = *maybeResultBinding;
+ planNode.CteRefName = TStringBuilder() << "precompute_" << txId << "_" << resId;
+ op.Properties["ToFlow"] = *planNode.CteRefName;
+ } else {
+ return TMaybe<ui32>();
+ }
+
+ return AddOperator(planNode, "ConstantExpr", std::move(op));
+ }
+
ui32 Visit(const TCoIterator& iter, TQueryPlanNode& planNode) {
const auto iterValue = NPlanUtils::PrettyExprStr(iter.List());
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 7abf0dfd2d..1fe63d2b45 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
@@ -24,12 +24,13 @@
"PlanNodeType": "Connection",
"Plans": [
{
- "Node Type": "Limit-Aggregate-InnerJoin (MapJoin)-Filter-TableFullScan",
+ "CTE Name": "precompute_0_0",
+ "Node Type": "Limit-Aggregate-ConstantExpr-InnerJoin (MapJoin)-ConstantExpr-Filter-TableFullScan",
"Operators": [
{
"Inputs": [
1,
- 2
+ 3
],
"Limit": "1001",
"Name": "Limit"
@@ -38,9 +39,21 @@
"Name": "Aggregate"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
+ "Inputs": [
+ 4,
+ 5
+ ],
"Name": "InnerJoin (MapJoin)"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "Filter",
"Predicate": "Exist(item.thousand)"
},
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 ec6c74101e..33dbe33b9a 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
@@ -25,7 +25,7 @@
"Plans": [
{
"CTE Name": "precompute_1_0",
- "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr",
+ "Node Type": "TopSort-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr",
"Operators": [
{
"Limit": "1001",
@@ -33,9 +33,17 @@
"TopSortBy": ""
},
{
+ "Inputs": [
+ 2,
+ 3
+ ],
"Name": "InnerJoin (MapJoin)"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "Filter",
"Predicate": "Exist(item.i)"
},
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 f67ef4d282..106668e321 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
@@ -25,7 +25,7 @@
"Plans": [
{
"CTE Name": "precompute_1_0",
- "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr",
+ "Node Type": "TopSort-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr",
"Operators": [
{
"Limit": "1001",
@@ -33,9 +33,17 @@
"TopSortBy": ""
},
{
+ "Inputs": [
+ 2,
+ 3
+ ],
"Name": "InnerJoin (MapJoin)"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "Filter",
"Predicate": "Exist(item.i)"
},
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 f67ef4d282..106668e321 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
@@ -25,7 +25,7 @@
"Plans": [
{
"CTE Name": "precompute_1_0",
- "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr",
+ "Node Type": "TopSort-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr",
"Operators": [
{
"Limit": "1001",
@@ -33,9 +33,17 @@
"TopSortBy": ""
},
{
+ "Inputs": [
+ 2,
+ 3
+ ],
"Name": "InnerJoin (MapJoin)"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "Filter",
"Predicate": "Exist(item.i)"
},
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 f67ef4d282..106668e321 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
@@ -25,7 +25,7 @@
"Plans": [
{
"CTE Name": "precompute_1_0",
- "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr",
+ "Node Type": "TopSort-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr",
"Operators": [
{
"Limit": "1001",
@@ -33,9 +33,17 @@
"TopSortBy": ""
},
{
+ "Inputs": [
+ 2,
+ 3
+ ],
"Name": "InnerJoin (MapJoin)"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "Filter",
"Predicate": "Exist(item.i)"
},
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 8894ea3b6f..f9ed7d31d7 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
@@ -25,7 +25,7 @@
"Plans": [
{
"CTE Name": "precompute_1_0",
- "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr",
+ "Node Type": "TopSort-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr",
"Operators": [
{
"Limit": "1001",
@@ -33,9 +33,17 @@
"TopSortBy": "argument.s2.name"
},
{
+ "Inputs": [
+ 2,
+ 3
+ ],
"Name": "InnerJoin (MapJoin)"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "Filter",
"Predicate": "Exist(item.name)"
},
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 d1b3d119bf..7999245d97 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
@@ -25,16 +25,24 @@
"Plans": [
{
"CTE Name": "precompute_4_0",
- "Node Type": "Limit-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr",
+ "Node Type": "Limit-InnerJoin (MapJoin)-ConstantExpr-Filter-TablePointLookup-ConstantExpr",
"Operators": [
{
"Limit": "1001",
"Name": "Limit"
},
{
+ "Inputs": [
+ 2,
+ 3
+ ],
"Name": "InnerJoin (MapJoin)"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_3_0"
+ },
+ {
"Name": "Filter",
"Predicate": "Exist(item.k)"
},
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 9ccca22f5f..394687b6df 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
@@ -25,7 +25,7 @@
"Plans": [
{
"CTE Name": "precompute_1_0",
- "Node Type": "Limit-Filter-InnerJoin (MapJoin)-Filter-TableRangeScan-ConstantExpr",
+ "Node Type": "Limit-Filter-InnerJoin (MapJoin)-ConstantExpr-Filter-TableRangeScan-ConstantExpr",
"Operators": [
{
"Limit": "1001",
@@ -36,9 +36,17 @@
"Predicate": "item.tt5.f1 == item.tt5.f2 - item.tt6.f2"
},
{
+ "Inputs": [
+ 3,
+ 4
+ ],
"Name": "InnerJoin (MapJoin)"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "Filter",
"Predicate": "Exist(item.f1)"
},
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 0e04a17443..8150d020f0 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
@@ -24,12 +24,13 @@
"PlanNodeType": "Connection",
"Plans": [
{
- "Node Type": "TopSort-Aggregate-TableRangeScan",
+ "CTE Name": "precompute_0_0",
+ "Node Type": "TopSort-Aggregate-ConstantExpr-TableRangeScan",
"Operators": [
{
"Inputs": [
1,
- 2
+ 3
],
"Limit": "1001",
"Name": "TopSort",
@@ -39,6 +40,10 @@
"Name": "Aggregate"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "TableRangeScan",
"ReadColumns": [
"a",
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 62856b9a29..f50c4ad242 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
@@ -24,12 +24,13 @@
"PlanNodeType": "Connection",
"Plans": [
{
- "Node Type": "TopSort-Aggregate-TableRangeScan",
+ "CTE Name": "precompute_0_0",
+ "Node Type": "TopSort-Aggregate-ConstantExpr-TableRangeScan",
"Operators": [
{
"Inputs": [
1,
- 2
+ 3
],
"Limit": "1001",
"Name": "TopSort",
@@ -39,6 +40,10 @@
"Name": "Aggregate"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "TableRangeScan",
"ReadColumns": [
"a",
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 7755c69c14..8ffa5aef46 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
@@ -24,12 +24,13 @@
"PlanNodeType": "Connection",
"Plans": [
{
- "Node Type": "TopSort-Aggregate-TableRangeScan",
+ "CTE Name": "precompute_0_0",
+ "Node Type": "TopSort-Aggregate-ConstantExpr-TableRangeScan",
"Operators": [
{
"Inputs": [
1,
- 2
+ 3
],
"Limit": "1001",
"Name": "TopSort",
@@ -39,6 +40,10 @@
"Name": "Aggregate"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "TableRangeScan",
"ReadColumns": [
"a",
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 ef46a5758e..32fc84f132 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
@@ -24,12 +24,13 @@
"PlanNodeType": "Connection",
"Plans": [
{
- "Node Type": "TopSort-Aggregate-TableRangeScan",
+ "CTE Name": "precompute_0_0",
+ "Node Type": "TopSort-Aggregate-ConstantExpr-TableRangeScan",
"Operators": [
{
"Inputs": [
1,
- 2
+ 3
],
"Limit": "1001",
"Name": "TopSort",
@@ -39,6 +40,10 @@
"Name": "Aggregate"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "TableRangeScan",
"ReadColumns": [
"a",
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 40d62af965..13a8ae80ee 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
@@ -24,12 +24,13 @@
"PlanNodeType": "Connection",
"Plans": [
{
- "Node Type": "TopSort-Aggregate-TableRangeScan",
+ "CTE Name": "precompute_0_0",
+ "Node Type": "TopSort-Aggregate-ConstantExpr-TableRangeScan",
"Operators": [
{
"Inputs": [
1,
- 2
+ 3
],
"Limit": "1001",
"Name": "TopSort",
@@ -39,6 +40,10 @@
"Name": "Aggregate"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "TableRangeScan",
"ReadColumns": [
"a",
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 ba1fe9ab09..7c9fe20166 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
@@ -24,12 +24,13 @@
"PlanNodeType": "Connection",
"Plans": [
{
- "Node Type": "TopSort-Aggregate-TableRangeScan",
+ "CTE Name": "precompute_0_0",
+ "Node Type": "TopSort-Aggregate-ConstantExpr-TableRangeScan",
"Operators": [
{
"Inputs": [
1,
- 2
+ 3
],
"Limit": "1001",
"Name": "TopSort",
@@ -39,6 +40,10 @@
"Name": "Aggregate"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "TableRangeScan",
"ReadColumns": [
"a",
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 f9e76e2067..1ed71c9056 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
@@ -24,12 +24,13 @@
"PlanNodeType": "Connection",
"Plans": [
{
- "Node Type": "TopSort-Aggregate-TableRangeScan",
+ "CTE Name": "precompute_0_0",
+ "Node Type": "TopSort-Aggregate-ConstantExpr-TableRangeScan",
"Operators": [
{
"Inputs": [
1,
- 2
+ 3
],
"Limit": "1001",
"Name": "TopSort",
@@ -39,6 +40,10 @@
"Name": "Aggregate"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "TableRangeScan",
"ReadColumns": [
"a",
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 783ff0f2e9..07b2dd3acd 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
@@ -24,12 +24,13 @@
"PlanNodeType": "Connection",
"Plans": [
{
- "Node Type": "TopSort-Aggregate-TableRangeScan",
+ "CTE Name": "precompute_0_0",
+ "Node Type": "TopSort-Aggregate-ConstantExpr-TableRangeScan",
"Operators": [
{
"Inputs": [
1,
- 2
+ 3
],
"Limit": "1001",
"Name": "TopSort",
@@ -39,6 +40,10 @@
"Name": "Aggregate"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "TableRangeScan",
"ReadColumns": [
"a",
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 d05eaf86f8..4112b0b949 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
@@ -24,12 +24,13 @@
"PlanNodeType": "Connection",
"Plans": [
{
- "Node Type": "TopSort-Aggregate-TableRangeScan",
+ "CTE Name": "precompute_0_0",
+ "Node Type": "TopSort-Aggregate-ConstantExpr-TableRangeScan",
"Operators": [
{
"Inputs": [
1,
- 2
+ 3
],
"Limit": "1001",
"Name": "TopSort",
@@ -39,6 +40,10 @@
"Name": "Aggregate"
},
{
+ "Name": "ToFlow",
+ "ToFlow": "precompute_0_0"
+ },
+ {
"Name": "TableRangeScan",
"ReadColumns": [
"a",