aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora-romanov <Anton.Romanov@ydb.tech>2023-11-28 20:41:02 +0300
committera-romanov <Anton.Romanov@ydb.tech>2023-11-28 21:17:37 +0300
commit396f91b844f37c8c91d9998f18f2f4af281f5455 (patch)
tree876ac1a6a176d107608aface2978d980507d03c9
parent903d55c07f4742c149c58859e2dad04d00e10cd1 (diff)
downloadydb-396f91b844f37c8c91d9998f18f2f4af281f5455.tar.gz
KIKIMR-19512 Logical ops on yql kernel.
-rw-r--r--ydb/core/kqp/query_compiler/kqp_olap_compiler.cpp111
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-121
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-1017
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-1117
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-1217
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-1317
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-1417
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-1917
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-2021
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-2140
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-22154
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-2317
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-2417
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-2517
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-2617
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-2717
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-2817
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-3017
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-3117
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-36109
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-37109
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-38109
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-3945
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-4075
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-41109
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-4275
-rw-r--r--ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-717
27 files changed, 282 insertions, 951 deletions
diff --git a/ydb/core/kqp/query_compiler/kqp_olap_compiler.cpp b/ydb/core/kqp/query_compiler/kqp_olap_compiler.cpp
index 7d246bde09..6127d5c8da 100644
--- a/ydb/core/kqp/query_compiler/kqp_olap_compiler.cpp
+++ b/ydb/core/kqp/query_compiler/kqp_olap_compiler.cpp
@@ -164,6 +164,10 @@ public:
}
return true;
}
+
+ TKernelRequestBuilder& GetKernelRequestBuilder() const {
+ return *YqlKernelRequestBuilder;
+ }
private:
const TTypeAnnotationNode* ConvertToBlockType(const TTypeAnnotationNode* type) {
if (!type->IsBlock()) {
@@ -540,14 +544,16 @@ TProgram::TAssignment* CompileYqlKernelAnyComparison(const TKqpOlapFilterCompare
cmpFunc->SetKernelIdx(idx);
cmpFunc->AddArguments()->SetId(leftColumnId);
cmpFunc->AddArguments()->SetId(rightColumnId);
- return ConvertSafeCastToColumn(command->GetColumn().GetId(), "Boolean", ctx);
+ return command;
}
TProgram::TAssignment* CompileComparison(const TKqpOlapFilterCompare& comparison, TKqpOlapCompileContext& ctx)
{
- if constexpr (NKikimr::NSsa::RuntimeVersion >= 4) {
+ if constexpr (NKikimr::NSsa::RuntimeVersion >= 4U) {
if (ctx.CheckYqlCompatibleArgsTypes(comparison)) {
return CompileYqlKernelAnyComparison(comparison, ctx);
+ } else {
+ return ConvertSafeCastToColumn(CompileSimpleArrowComparison(comparison, ctx)->GetColumn().GetId(), "Uint8", ctx);
}
}
@@ -561,24 +567,40 @@ TProgram::TAssignment* CompileComparison(const TKqpOlapFilterCompare& comparison
}
}
-TProgram::TAssignment* CompileExists(const TKqpOlapFilterExists& exists,
- TKqpOlapCompileContext& ctx)
+TProgram::TAssignment* InvertResult(TProgram::TAssignment* command, TKqpOlapCompileContext& ctx)
{
- ui32 columnId = GetOrCreateColumnId(exists.Column(), ctx);
+ auto *const notCommand = ctx.CreateAssignCmd();
+ auto *const notFunc = notCommand->MutableFunction();
- TProgram::TAssignment* command = ctx.CreateAssignCmd();
- auto* isNullFunc = command->MutableFunction();
+ notFunc->SetId(TProgram::TAssignment::FUNC_BINARY_NOT);
+ notFunc->AddArguments()->SetId(command->GetColumn().GetId());
+ return notCommand;
+}
+
+template<bool Empty = false>
+TProgram::TAssignment* CompileExists(const TKqpOlapFilterExists& exists, TKqpOlapCompileContext& ctx)
+{
+ const ui32 columnId = GetOrCreateColumnId(exists.Column(), ctx);
+ auto *const command = ctx.CreateAssignCmd();
+ auto *const isNullFunc = command->MutableFunction();
isNullFunc->SetId(TProgram::TAssignment::FUNC_IS_NULL);
isNullFunc->AddArguments()->SetId(columnId);
- TProgram::TAssignment *notCommand = ctx.CreateAssignCmd();
- auto *notFunc = notCommand->MutableFunction();
-
- notFunc->SetId(TProgram::TAssignment::FUNC_BINARY_NOT);
- notFunc->AddArguments()->SetId(command->GetColumn().GetId());
+ if constexpr (Empty) {
+ if constexpr (NSsa::RuntimeVersion >= 4U) {
+ return ConvertSafeCastToColumn(command->GetColumn().GetId(), "Uint8", ctx);
+ } else {
+ return command;
+ }
+ }
- return notCommand;
+ auto *const notCommand = InvertResult(command, ctx);
+ if constexpr (NSsa::RuntimeVersion >= 4U) {
+ return ConvertSafeCastToColumn(notCommand->GetColumn().GetId(), "Uint8", ctx);
+ } else {
+ return notCommand;
+ }
}
TProgram::TAssignment* CompileJsonExists(const TKqpOlapJsonExists& jsonExistsCallable, TKqpOlapCompileContext& ctx) {
@@ -603,15 +625,14 @@ TProgram::TAssignment* CompileJsonExists(const TKqpOlapJsonExists& jsonExistsCal
return command;
}
-TProgram::TAssignment* BuildLogicalProgram(const TExprNode::TChildrenType& args, ui32 function,
- TKqpOlapCompileContext& ctx)
+template<typename TFunc>
+TProgram::TAssignment* BuildLogicalProgram(const TExprNode::TChildrenType& args, const TFunc function, TKqpOlapCompileContext& ctx)
{
- ui32 childrenCount = args.size();
-
+ const auto childrenCount = args.size();
if (childrenCount == 1) {
// NOT operation is handled separately, thus only one available situation here:
// this is binary operation with only one node, just build this node and return.
- return CompileCondition(TExprBase(args[0]), ctx);
+ return CompileCondition(TExprBase(args.front()), ctx);
}
TProgram::TAssignment* left = nullptr;
@@ -630,55 +651,79 @@ TProgram::TAssignment* BuildLogicalProgram(const TExprNode::TChildrenType& args,
right = BuildLogicalProgram(rightArgs, function, ctx);
}
- TProgram::TAssignment *logicalOp = ctx.CreateAssignCmd();
- auto *logicalFunc = logicalOp->MutableFunction();
-
- logicalFunc->SetId(function);
+ auto *const logicalOp = ctx.CreateAssignCmd();
+ auto *const logicalFunc = logicalOp->MutableFunction();
logicalFunc->AddArguments()->SetId(left->GetColumn().GetId());
logicalFunc->AddArguments()->SetId(right->GetColumn().GetId());
+ if constexpr (std::is_same<TFunc, TKernelRequestBuilder::EBinaryOp>()) {
+ const auto block = ctx.ExprCtx().MakeType<TBlockExprType>(ctx.ExprCtx().MakeType<TDataExprType>(EDataSlot::Bool));
+ const auto idx = ctx.GetKernelRequestBuilder().AddBinaryOp(function, block, block, block);
+ logicalFunc->SetKernelIdx(idx);
+ logicalFunc->SetFunctionType(TProgram::YQL_KERNEL);
+ } else {
+ logicalFunc->SetFunctionType(function);
+ }
+
return logicalOp;
}
TProgram::TAssignment* CompileCondition(const TExprBase& condition, TKqpOlapCompileContext& ctx) {
- if (auto maybeCompare = condition.Maybe<TKqpOlapFilterCompare>()) {
+ if (const auto maybeCompare = condition.Maybe<TKqpOlapFilterCompare>()) {
return CompileComparison(maybeCompare.Cast(), ctx);
}
- if (auto maybeExists = condition.Maybe<TKqpOlapFilterExists>()) {
+ if (const auto maybeExists = condition.Maybe<TKqpOlapFilterExists>()) {
return CompileExists(maybeExists.Cast(), ctx);
}
- if (auto maybeJsonExists = condition.Maybe<TKqpOlapJsonExists>()) {
+ if (const auto maybeJsonExists = condition.Maybe<TKqpOlapJsonExists>()) {
return CompileJsonExists(maybeJsonExists.Cast(), ctx);
}
- if (auto maybeNot = condition.Maybe<TKqpOlapNot>()) {
- // Not is a special way in case it has only one child
- TProgram::TAssignment *value = CompileCondition(maybeNot.Cast().Value(), ctx);
+ if (const auto maybeNot = condition.Maybe<TKqpOlapNot>()) {
+ if (const auto maybeExists = maybeNot.Cast().Value().Maybe<TKqpOlapFilterExists>()) {
+ return CompileExists<true>(maybeExists.Cast(), ctx);
+ }
- TProgram::TAssignment *notOp = ctx.CreateAssignCmd();
- auto *notFunc = notOp->MutableFunction();
+ // Not is a special way in case it has only one child
+ auto *const value = CompileCondition(maybeNot.Cast().Value(), ctx);
+ auto *const notOp = ctx.CreateAssignCmd();
+ auto *const notFunc = notOp->MutableFunction();
- notFunc->SetId(TProgram::TAssignment::FUNC_BINARY_NOT);
notFunc->AddArguments()->SetId(value->GetColumn().GetId());
+ if constexpr (NSsa::RuntimeVersion >= 4U) {
+ const auto block = ctx.ExprCtx().MakeType<TBlockExprType>(ctx.ExprCtx().MakeType<TDataExprType>(EDataSlot::Bool));
+ const auto idx = ctx.GetKernelRequestBuilder().AddUnaryOp(TKernelRequestBuilder::EUnaryOp::Not, block, block);
+ notFunc->SetKernelIdx(idx);
+ notFunc->SetFunctionType(TProgram::YQL_KERNEL);
+ } else
+ notFunc->SetId(TProgram::TAssignment::FUNC_BINARY_NOT);
+
return notOp;
}
ui32 function = TProgram::TAssignment::FUNC_UNSPECIFIED;
+ TKernelRequestBuilder::EBinaryOp op;
if (condition.Maybe<TKqpOlapAnd>()) {
function = TProgram::TAssignment::FUNC_BINARY_AND;
+ op = TKernelRequestBuilder::EBinaryOp::And;
} else if (condition.Maybe<TKqpOlapOr>()) {
function = TProgram::TAssignment::FUNC_BINARY_OR;
+ op = TKernelRequestBuilder::EBinaryOp::Or;
} else if (condition.Maybe<TKqpOlapXor>()) {
function = TProgram::TAssignment::FUNC_BINARY_XOR;
+ op = TKernelRequestBuilder::EBinaryOp::Xor;
} else {
- YQL_ENSURE(false, "Unsuppoted logical operation: " << condition.Ptr()->Content());
+ YQL_ENSURE(false, "Unsuppoted logical operation: " << condition.Ref().Content());
}
- return BuildLogicalProgram(condition.Ptr()->Children(), function, ctx);
+ if constexpr (NSsa::RuntimeVersion >= 4U)
+ return BuildLogicalProgram(condition.Ref().Children(), op, ctx);
+ else
+ return BuildLogicalProgram(condition.Ref().Children(), function, ctx);
}
void CompileFilter(const TKqpOlapFilter& filterNode, TKqpOlapCompileContext& ctx) {
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-1 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-1
index 4bdaa9670e..f5bc4f60f0 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-1
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-1
@@ -98,24 +98,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
@@ -124,7 +109,7 @@
"Aggregates": [
{
"Column": {
- "Id": 109
+ "Id": 108
},
"Function": {
"Id": 2
@@ -137,7 +122,7 @@
"Projection": {
"Columns": [
{
- "Id": 109
+ "Id": 108
}
]
}
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-10 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-10
index 93875ed327..f53b5c50ec 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-10
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-10
@@ -121,24 +121,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-11 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-11
index 3ae673a158..f6d69fe98a 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-11
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-11
@@ -124,24 +124,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-12 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-12
index a2150da068..43ecf8b347 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-12
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-12
@@ -100,24 +100,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-13 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-13
index e962a76550..5efa8a2095 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-13
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-13
@@ -121,24 +121,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-14 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-14
index cbe0f4f5d9..3d8b8d643e 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-14
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-14
@@ -102,24 +102,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-19 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-19
index 611147cbbf..a0386db921 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-19
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-19
@@ -81,24 +81,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-20 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-20
index 6439c87b3d..0501b636c9 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-20
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-20
@@ -98,24 +98,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
@@ -124,7 +109,7 @@
"Aggregates": [
{
"Column": {
- "Id": 109
+ "Id": 108
},
"Function": {
"Id": 2
@@ -137,7 +122,7 @@
"Projection": {
"Columns": [
{
- "Id": 109
+ "Id": 108
}
]
}
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-21 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-21
index a9800d7a04..a82faeaf51 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-21
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-21
@@ -101,24 +101,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
@@ -128,7 +113,7 @@
{
"Assign": {
"Column": {
- "Id": 109
+ "Id": 108
},
"Constant": {
"Bytes": "google"
@@ -138,7 +123,7 @@
{
"Assign": {
"Column": {
- "Id": 110
+ "Id": 109
},
"Function": {
"Arguments": [
@@ -146,7 +131,7 @@
"Id": 14
},
{
- "Id": 109
+ "Id": 108
}
],
"FunctionType": 2,
@@ -155,24 +140,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 111
- },
- "Function": {
- "Arguments": [
- {
- "Id": 110
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 111
+ "Id": 109
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-22 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-22
index 07e0d2bf90..3e7b6dabf2 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-22
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-22
@@ -117,24 +117,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
@@ -144,7 +129,7 @@
{
"Assign": {
"Column": {
- "Id": 109
+ "Id": 108
},
"Constant": {
"Bytes": "Google"
@@ -154,7 +139,7 @@
{
"Assign": {
"Column": {
- "Id": 110
+ "Id": 109
},
"Function": {
"Arguments": [
@@ -162,7 +147,7 @@
"Id": 3
},
{
- "Id": 109
+ "Id": 108
}
],
"FunctionType": 2,
@@ -173,22 +158,7 @@
{
"Assign": {
"Column": {
- "Id": 111
- },
- "Function": {
- "Arguments": [
- {
- "Id": 110
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 112
+ "Id": 110
},
"Constant": {
"Bytes": ".google."
@@ -198,7 +168,7 @@
{
"Assign": {
"Column": {
- "Id": 113
+ "Id": 111
},
"Function": {
"Arguments": [
@@ -206,7 +176,7 @@
"Id": 14
},
{
- "Id": 112
+ "Id": 110
}
],
"FunctionType": 2,
@@ -217,55 +187,42 @@
{
"Assign": {
"Column": {
- "Id": 114
- },
- "Function": {
- "Arguments": [
- {
- "Id": 113
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 115
+ "Id": 112
},
"Function": {
"Arguments": [
{
- "Id": 114
+ "Id": 111
}
],
- "Id": 10
+ "FunctionType": 2,
+ "KernelIdx": 3
}
}
},
{
"Assign": {
"Column": {
- "Id": 116
+ "Id": 113
},
"Function": {
"Arguments": [
{
- "Id": 111
+ "Id": 109
},
{
- "Id": 115
+ "Id": 112
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 4
}
}
},
{
"Filter": {
"Predicate": {
- "Id": 116
+ "Id": 113
}
}
},
@@ -383,24 +340,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
@@ -410,7 +352,7 @@
{
"Assign": {
"Column": {
- "Id": 109
+ "Id": 108
},
"Constant": {
"Bytes": "Google"
@@ -420,7 +362,7 @@
{
"Assign": {
"Column": {
- "Id": 110
+ "Id": 109
},
"Function": {
"Arguments": [
@@ -428,7 +370,7 @@
"Id": 3
},
{
- "Id": 109
+ "Id": 108
}
],
"FunctionType": 2,
@@ -439,22 +381,7 @@
{
"Assign": {
"Column": {
- "Id": 111
- },
- "Function": {
- "Arguments": [
- {
- "Id": 110
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 112
+ "Id": 110
},
"Constant": {
"Bytes": ".google."
@@ -464,7 +391,7 @@
{
"Assign": {
"Column": {
- "Id": 113
+ "Id": 111
},
"Function": {
"Arguments": [
@@ -472,7 +399,7 @@
"Id": 14
},
{
- "Id": 112
+ "Id": 110
}
],
"FunctionType": 2,
@@ -483,55 +410,42 @@
{
"Assign": {
"Column": {
- "Id": 114
- },
- "Function": {
- "Arguments": [
- {
- "Id": 113
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 115
+ "Id": 112
},
"Function": {
"Arguments": [
{
- "Id": 114
+ "Id": 111
}
],
- "Id": 10
+ "FunctionType": 2,
+ "KernelIdx": 3
}
}
},
{
"Assign": {
"Column": {
- "Id": 116
+ "Id": 113
},
"Function": {
"Arguments": [
{
- "Id": 111
+ "Id": 109
},
{
- "Id": 115
+ "Id": 112
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 4
}
}
},
{
"Filter": {
"Predicate": {
- "Id": 116
+ "Id": 113
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-23 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-23
index cad223d373..aeb2011df0 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-23
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-23
@@ -186,24 +186,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-24 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-24
index d777dba41c..f80d18669d 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-24
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-24
@@ -83,24 +83,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-25 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-25
index 50eb4522ac..7a8a8a22a8 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-25
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-25
@@ -81,24 +81,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-26 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-26
index 832173d899..3b83c55b4e 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-26
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-26
@@ -82,24 +82,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-27 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-27
index 2f21dfebb2..459197f6bc 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-27
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-27
@@ -105,24 +105,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-28 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-28
index afc2d85f13..c22f363004 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-28
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-28
@@ -104,24 +104,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-30 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-30
index 84b0148316..82562d3fde 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-30
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-30
@@ -105,24 +105,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-31 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-31
index a00f4020c6..6c46fb62ae 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-31
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-31
@@ -105,24 +105,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-36 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-36
index 436ba40987..6041c10e21 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-36
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-36
@@ -112,21 +112,6 @@
"Column": {
"Id": 108
},
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 109
- },
"Constant": {
"Int32": 0
}
@@ -135,7 +120,7 @@
{
"Assign": {
"Column": {
- "Id": 110
+ "Id": 109
},
"Function": {
"Arguments": [
@@ -143,7 +128,7 @@
"Id": 62
},
{
- "Id": 109
+ "Id": 108
}
],
"FunctionType": 2,
@@ -154,40 +139,26 @@
{
"Assign": {
"Column": {
- "Id": 111
- },
- "Function": {
- "Arguments": [
- {
- "Id": 110
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 112
+ "Id": 110
},
"Function": {
"Arguments": [
{
- "Id": 108
+ "Id": 107
},
{
- "Id": 111
+ "Id": 109
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 2
}
}
},
{
"Assign": {
"Column": {
- "Id": 113
+ "Id": 111
},
"Constant": {
"Int32": 0
@@ -197,7 +168,7 @@
{
"Assign": {
"Column": {
- "Id": 114
+ "Id": 112
},
"Function": {
"Arguments": [
@@ -205,33 +176,18 @@
"Id": 16
},
{
- "Id": 113
+ "Id": 111
}
],
"FunctionType": 2,
- "KernelIdx": 2
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 115
- },
- "Function": {
- "Arguments": [
- {
- "Id": 114
- }
- ],
- "Id": 18
+ "KernelIdx": 3
}
}
},
{
"Assign": {
"Column": {
- "Id": 116
+ "Id": 113
},
"Constant": {
"Bytes": ""
@@ -241,7 +197,7 @@
{
"Assign": {
"Column": {
- "Id": 117
+ "Id": 114
},
"Function": {
"Arguments": [
@@ -249,69 +205,56 @@
"Id": 14
},
{
- "Id": 116
+ "Id": 113
}
],
"FunctionType": 2,
- "KernelIdx": 3
+ "KernelIdx": 4
}
}
},
{
"Assign": {
"Column": {
- "Id": 118
- },
- "Function": {
- "Arguments": [
- {
- "Id": 117
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 119
+ "Id": 115
},
"Function": {
"Arguments": [
{
- "Id": 115
+ "Id": 112
},
{
- "Id": 118
+ "Id": 114
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 5
}
}
},
{
"Assign": {
"Column": {
- "Id": 120
+ "Id": 116
},
"Function": {
"Arguments": [
{
- "Id": 112
+ "Id": 110
},
{
- "Id": 119
+ "Id": 115
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 6
}
}
},
{
"Filter": {
"Predicate": {
- "Id": 120
+ "Id": 116
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-37 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-37
index 853e0b03db..70c90875da 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-37
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-37
@@ -112,21 +112,6 @@
"Column": {
"Id": 108
},
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 109
- },
"Constant": {
"Int32": 0
}
@@ -135,7 +120,7 @@
{
"Assign": {
"Column": {
- "Id": 110
+ "Id": 109
},
"Function": {
"Arguments": [
@@ -143,7 +128,7 @@
"Id": 62
},
{
- "Id": 109
+ "Id": 108
}
],
"FunctionType": 2,
@@ -154,40 +139,26 @@
{
"Assign": {
"Column": {
- "Id": 111
- },
- "Function": {
- "Arguments": [
- {
- "Id": 110
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 112
+ "Id": 110
},
"Function": {
"Arguments": [
{
- "Id": 108
+ "Id": 107
},
{
- "Id": 111
+ "Id": 109
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 2
}
}
},
{
"Assign": {
"Column": {
- "Id": 113
+ "Id": 111
},
"Constant": {
"Int32": 0
@@ -197,7 +168,7 @@
{
"Assign": {
"Column": {
- "Id": 114
+ "Id": 112
},
"Function": {
"Arguments": [
@@ -205,33 +176,18 @@
"Id": 16
},
{
- "Id": 113
+ "Id": 111
}
],
"FunctionType": 2,
- "KernelIdx": 2
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 115
- },
- "Function": {
- "Arguments": [
- {
- "Id": 114
- }
- ],
- "Id": 18
+ "KernelIdx": 3
}
}
},
{
"Assign": {
"Column": {
- "Id": 116
+ "Id": 113
},
"Constant": {
"Bytes": ""
@@ -241,7 +197,7 @@
{
"Assign": {
"Column": {
- "Id": 117
+ "Id": 114
},
"Function": {
"Arguments": [
@@ -249,69 +205,56 @@
"Id": 3
},
{
- "Id": 116
+ "Id": 113
}
],
"FunctionType": 2,
- "KernelIdx": 3
+ "KernelIdx": 4
}
}
},
{
"Assign": {
"Column": {
- "Id": 118
- },
- "Function": {
- "Arguments": [
- {
- "Id": 117
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 119
+ "Id": 115
},
"Function": {
"Arguments": [
{
- "Id": 115
+ "Id": 112
},
{
- "Id": 118
+ "Id": 114
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 5
}
}
},
{
"Assign": {
"Column": {
- "Id": 120
+ "Id": 116
},
"Function": {
"Arguments": [
{
- "Id": 112
+ "Id": 110
},
{
- "Id": 119
+ "Id": 115
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 6
}
}
},
{
"Filter": {
"Predicate": {
- "Id": 120
+ "Id": 116
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-38 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-38
index 5569b3cc17..4646b57fa0 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-38
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-38
@@ -132,21 +132,6 @@
"Column": {
"Id": 108
},
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 109
- },
"Constant": {
"Int32": 0
}
@@ -155,7 +140,7 @@
{
"Assign": {
"Column": {
- "Id": 110
+ "Id": 109
},
"Function": {
"Arguments": [
@@ -163,7 +148,7 @@
"Id": 16
},
{
- "Id": 109
+ "Id": 108
}
],
"FunctionType": 2,
@@ -174,40 +159,26 @@
{
"Assign": {
"Column": {
- "Id": 111
- },
- "Function": {
- "Arguments": [
- {
- "Id": 110
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 112
+ "Id": 110
},
"Function": {
"Arguments": [
{
- "Id": 108
+ "Id": 107
},
{
- "Id": 111
+ "Id": 109
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 2
}
}
},
{
"Assign": {
"Column": {
- "Id": 113
+ "Id": 111
},
"Constant": {
"Int32": 0
@@ -217,7 +188,7 @@
{
"Assign": {
"Column": {
- "Id": 114
+ "Id": 112
},
"Function": {
"Arguments": [
@@ -225,33 +196,18 @@
"Id": 53
},
{
- "Id": 113
+ "Id": 111
}
],
"FunctionType": 2,
- "KernelIdx": 2
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 115
- },
- "Function": {
- "Arguments": [
- {
- "Id": 114
- }
- ],
- "Id": 18
+ "KernelIdx": 3
}
}
},
{
"Assign": {
"Column": {
- "Id": 116
+ "Id": 113
},
"Constant": {
"Int32": 0
@@ -261,7 +217,7 @@
{
"Assign": {
"Column": {
- "Id": 117
+ "Id": 114
},
"Function": {
"Arguments": [
@@ -269,69 +225,56 @@
"Id": 54
},
{
- "Id": 116
+ "Id": 113
}
],
"FunctionType": 2,
- "KernelIdx": 3
+ "KernelIdx": 4
}
}
},
{
"Assign": {
"Column": {
- "Id": 118
- },
- "Function": {
- "Arguments": [
- {
- "Id": 117
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 119
+ "Id": 115
},
"Function": {
"Arguments": [
{
- "Id": 115
+ "Id": 112
},
{
- "Id": 118
+ "Id": 114
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 5
}
}
},
{
"Assign": {
"Column": {
- "Id": 120
+ "Id": 116
},
"Function": {
"Arguments": [
{
- "Id": 112
+ "Id": 110
},
{
- "Id": 119
+ "Id": 115
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 6
}
}
},
{
"Filter": {
"Predicate": {
- "Id": 120
+ "Id": 116
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-39 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-39
index a0d973ca98..33f62ecb79 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-39
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-39
@@ -138,21 +138,6 @@
"Column": {
"Id": 108
},
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 109
- },
"Constant": {
"Int32": 0
}
@@ -161,7 +146,7 @@
{
"Assign": {
"Column": {
- "Id": 110
+ "Id": 109
},
"Function": {
"Arguments": [
@@ -169,7 +154,7 @@
"Id": 16
},
{
- "Id": 109
+ "Id": 108
}
],
"FunctionType": 2,
@@ -180,40 +165,26 @@
{
"Assign": {
"Column": {
- "Id": 111
- },
- "Function": {
- "Arguments": [
- {
- "Id": 110
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 112
+ "Id": 110
},
"Function": {
"Arguments": [
{
- "Id": 108
+ "Id": 107
},
{
- "Id": 111
+ "Id": 109
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 2
}
}
},
{
"Filter": {
"Predicate": {
- "Id": 112
+ "Id": 110
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-40 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-40
index 175fae2a89..7e64534399 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-40
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-40
@@ -133,21 +133,6 @@
"Column": {
"Id": 108
},
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 109
- },
"Constant": {
"Int32": 0
}
@@ -156,7 +141,7 @@
{
"Assign": {
"Column": {
- "Id": 110
+ "Id": 109
},
"Function": {
"Arguments": [
@@ -164,7 +149,7 @@
"Id": 16
},
{
- "Id": 109
+ "Id": 108
}
],
"FunctionType": 2,
@@ -175,22 +160,7 @@
{
"Assign": {
"Column": {
- "Id": 111
- },
- "Function": {
- "Arguments": [
- {
- "Id": 110
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 112
+ "Id": 110
},
"Constant": {
"Int64": 3594120000172545465
@@ -200,7 +170,7 @@
{
"Assign": {
"Column": {
- "Id": 113
+ "Id": 111
},
"Function": {
"Arguments": [
@@ -208,7 +178,7 @@
"Id": 103
},
{
- "Id": 112
+ "Id": 110
}
],
"FunctionType": 2,
@@ -219,58 +189,45 @@
{
"Assign": {
"Column": {
- "Id": 114
- },
- "Function": {
- "Arguments": [
- {
- "Id": 113
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 115
+ "Id": 112
},
"Function": {
"Arguments": [
{
- "Id": 111
+ "Id": 109
},
{
- "Id": 114
+ "Id": 111
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 3
}
}
},
{
"Assign": {
"Column": {
- "Id": 116
+ "Id": 113
},
"Function": {
"Arguments": [
{
- "Id": 108
+ "Id": 107
},
{
- "Id": 115
+ "Id": 112
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 4
}
}
},
{
"Filter": {
"Predicate": {
- "Id": 116
+ "Id": 113
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-41 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-41
index 5479864442..c5788da802 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-41
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-41
@@ -134,21 +134,6 @@
"Column": {
"Id": 108
},
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 109
- },
"Constant": {
"Int32": 0
}
@@ -157,7 +142,7 @@
{
"Assign": {
"Column": {
- "Id": 110
+ "Id": 109
},
"Function": {
"Arguments": [
@@ -165,7 +150,7 @@
"Id": 16
},
{
- "Id": 109
+ "Id": 108
}
],
"FunctionType": 2,
@@ -176,40 +161,26 @@
{
"Assign": {
"Column": {
- "Id": 111
- },
- "Function": {
- "Arguments": [
- {
- "Id": 110
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 112
+ "Id": 110
},
"Function": {
"Arguments": [
{
- "Id": 108
+ "Id": 107
},
{
- "Id": 111
+ "Id": 109
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 2
}
}
},
{
"Assign": {
"Column": {
- "Id": 113
+ "Id": 111
},
"Constant": {
"Int32": 0
@@ -219,7 +190,7 @@
{
"Assign": {
"Column": {
- "Id": 114
+ "Id": 112
},
"Function": {
"Arguments": [
@@ -227,33 +198,18 @@
"Id": 62
},
{
- "Id": 113
+ "Id": 111
}
],
"FunctionType": 2,
- "KernelIdx": 2
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 115
- },
- "Function": {
- "Arguments": [
- {
- "Id": 114
- }
- ],
- "Id": 18
+ "KernelIdx": 3
}
}
},
{
"Assign": {
"Column": {
- "Id": 116
+ "Id": 113
},
"Constant": {
"Int64": 2868770270353813622
@@ -263,7 +219,7 @@
{
"Assign": {
"Column": {
- "Id": 117
+ "Id": 114
},
"Function": {
"Arguments": [
@@ -271,69 +227,56 @@
"Id": 104
},
{
- "Id": 116
+ "Id": 113
}
],
"FunctionType": 2,
- "KernelIdx": 3
+ "KernelIdx": 4
}
}
},
{
"Assign": {
"Column": {
- "Id": 118
- },
- "Function": {
- "Arguments": [
- {
- "Id": 117
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 119
+ "Id": 115
},
"Function": {
"Arguments": [
{
- "Id": 115
+ "Id": 112
},
{
- "Id": 118
+ "Id": 114
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 5
}
}
},
{
"Assign": {
"Column": {
- "Id": 120
+ "Id": 116
},
"Function": {
"Arguments": [
{
- "Id": 112
+ "Id": 110
},
{
- "Id": 119
+ "Id": 115
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 6
}
}
},
{
"Filter": {
"Predicate": {
- "Id": 120
+ "Id": 116
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-42 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-42
index 65a7398c85..330935366f 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-42
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-42
@@ -131,21 +131,6 @@
"Column": {
"Id": 108
},
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 109
- },
"Constant": {
"Int32": 0
}
@@ -154,7 +139,7 @@
{
"Assign": {
"Column": {
- "Id": 110
+ "Id": 109
},
"Function": {
"Arguments": [
@@ -162,7 +147,7 @@
"Id": 16
},
{
- "Id": 109
+ "Id": 108
}
],
"FunctionType": 2,
@@ -173,22 +158,7 @@
{
"Assign": {
"Column": {
- "Id": 111
- },
- "Function": {
- "Arguments": [
- {
- "Id": 110
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 112
+ "Id": 110
},
"Constant": {
"Int32": 0
@@ -198,7 +168,7 @@
{
"Assign": {
"Column": {
- "Id": 113
+ "Id": 111
},
"Function": {
"Arguments": [
@@ -206,7 +176,7 @@
"Id": 62
},
{
- "Id": 112
+ "Id": 110
}
],
"FunctionType": 2,
@@ -217,58 +187,45 @@
{
"Assign": {
"Column": {
- "Id": 114
- },
- "Function": {
- "Arguments": [
- {
- "Id": 113
- }
- ],
- "Id": 18
- }
- }
- },
- {
- "Assign": {
- "Column": {
- "Id": 115
+ "Id": 112
},
"Function": {
"Arguments": [
{
- "Id": 111
+ "Id": 109
},
{
- "Id": 114
+ "Id": 111
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 3
}
}
},
{
"Assign": {
"Column": {
- "Id": 116
+ "Id": 113
},
"Function": {
"Arguments": [
{
- "Id": 108
+ "Id": 107
},
{
- "Id": 115
+ "Id": 112
}
],
- "Id": 11
+ "FunctionType": 2,
+ "KernelIdx": 4
}
}
},
{
"Filter": {
"Predicate": {
- "Id": 116
+ "Id": 113
}
}
},
diff --git a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-7 b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-7
index 70ec33cf55..40828295c1 100644
--- a/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-7
+++ b/ydb/tests/functional/clickbench/canondata/test.test_plans_column_/queries-original-plan-column-7
@@ -100,24 +100,9 @@
}
},
{
- "Assign": {
- "Column": {
- "Id": 108
- },
- "Function": {
- "Arguments": [
- {
- "Id": 107
- }
- ],
- "Id": 18
- }
- }
- },
- {
"Filter": {
"Predicate": {
- "Id": 108
+ "Id": 107
}
}
},