summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraozeritsky <[email protected]>2023-09-07 00:34:33 +0300
committeraozeritsky <[email protected]>2023-09-07 00:53:24 +0300
commited4f5dcd2a3d3ade430882d08513356cc33e9ada (patch)
treed3cb86307daa96856018fd58c5d3d4bdc7f24ef2
parent6a4d0ea1c2b008667aa54b53565935e69a164206 (diff)
Rename SelfJoin -> GraceSelfJoin
-rw-r--r--ydb/library/yql/core/expr_nodes/yql_expr_nodes.json4
-rw-r--r--ydb/library/yql/core/type_ann/type_ann_core.cpp2
-rw-r--r--ydb/library/yql/core/type_ann/type_ann_impl.h2
-rw-r--r--ydb/library/yql/core/type_ann/type_ann_join.cpp2
-rw-r--r--ydb/library/yql/core/yql_expr_constraint.cpp10
-rw-r--r--ydb/library/yql/dq/opt/dq_opt_join.cpp2
-rw-r--r--ydb/library/yql/minikql/comp_nodes/mkql_factory.cpp2
-rw-r--r--ydb/library/yql/minikql/comp_nodes/mkql_grace_join.cpp2
-rw-r--r--ydb/library/yql/minikql/comp_nodes/mkql_grace_join.h2
-rw-r--r--ydb/library/yql/minikql/comp_nodes/ut/mkql_grace_join_ut.cpp80
-rw-r--r--ydb/library/yql/minikql/mkql_program_builder.cpp2
-rw-r--r--ydb/library/yql/minikql/mkql_program_builder.h2
-rw-r--r--ydb/library/yql/providers/common/mkql/yql_provider_mkql.cpp6
13 files changed, 59 insertions, 59 deletions
diff --git a/ydb/library/yql/core/expr_nodes/yql_expr_nodes.json b/ydb/library/yql/core/expr_nodes/yql_expr_nodes.json
index 4514042e22c..b0ab65d4f6c 100644
--- a/ydb/library/yql/core/expr_nodes/yql_expr_nodes.json
+++ b/ydb/library/yql/core/expr_nodes/yql_expr_nodes.json
@@ -1538,9 +1538,9 @@
]
},
{
- "Name": "TCoSelfJoinCore",
+ "Name": "TCoGraceSelfJoinCore",
"Base": "TCallable",
- "Match": {"Type": "Callable", "Name": "SelfJoinCore"},
+ "Match": {"Type": "Callable", "Name": "GraceSelfJoinCore"},
"Children": [
{"Index": 0, "Name": "Input", "Type": "TExprBase"},
{"Index": 1, "Name": "JoinKind", "Type": "TCoAtom"},
diff --git a/ydb/library/yql/core/type_ann/type_ann_core.cpp b/ydb/library/yql/core/type_ann/type_ann_core.cpp
index 7176fafc233..cff3447465c 100644
--- a/ydb/library/yql/core/type_ann/type_ann_core.cpp
+++ b/ydb/library/yql/core/type_ann/type_ann_core.cpp
@@ -11823,7 +11823,7 @@ template <NKikimr::NUdf::EDataSlot DataSlot>
Functions["MapJoinCore"] = &MapJoinCoreWrapper;
Functions["CommonJoinCore"] = &CommonJoinCoreWrapper;
Functions["GraceJoinCore"] = &GraceJoinCoreWrapper;
- Functions["SelfJoinCore"] = &SelfJoinCoreWrapper;
+ Functions["GraceSelfJoinCore"] = &GraceSelfJoinCoreWrapper;
Functions["CombineCore"] = &CombineCoreWrapper;
Functions["GroupingCore"] = &GroupingCoreWrapper;
Functions["HoppingTraits"] = &HoppingTraitsWrapper;
diff --git a/ydb/library/yql/core/type_ann/type_ann_impl.h b/ydb/library/yql/core/type_ann/type_ann_impl.h
index 8acfe37c0b2..d249e83db33 100644
--- a/ydb/library/yql/core/type_ann/type_ann_impl.h
+++ b/ydb/library/yql/core/type_ann/type_ann_impl.h
@@ -29,7 +29,7 @@ namespace NTypeAnnImpl {
IGraphTransformer::TStatus JoinDictWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
IGraphTransformer::TStatus MapJoinCoreWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
IGraphTransformer::TStatus GraceJoinCoreWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
- IGraphTransformer::TStatus SelfJoinCoreWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
+ IGraphTransformer::TStatus GraceSelfJoinCoreWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
IGraphTransformer::TStatus CommonJoinCoreWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
IGraphTransformer::TStatus EquiJoinWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
IGraphTransformer::TStatus CombineCoreWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
diff --git a/ydb/library/yql/core/type_ann/type_ann_join.cpp b/ydb/library/yql/core/type_ann/type_ann_join.cpp
index cf993764ac9..1e01773482b 100644
--- a/ydb/library/yql/core/type_ann/type_ann_join.cpp
+++ b/ydb/library/yql/core/type_ann/type_ann_join.cpp
@@ -665,7 +665,7 @@ namespace NTypeAnnImpl {
return GraceJoinCoreWrapperImp(input, *leftItemType->Cast<TMultiExprType>(), *rightItemType->Cast<TMultiExprType>(), ctx, 2);
}
- IGraphTransformer::TStatus SelfJoinCoreWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx) {
+ IGraphTransformer::TStatus GraceSelfJoinCoreWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx) {
if (!EnsureArgsCount(*input, 7, ctx.Expr)) {
return IGraphTransformer::TStatus::Error;
}
diff --git a/ydb/library/yql/core/yql_expr_constraint.cpp b/ydb/library/yql/core/yql_expr_constraint.cpp
index 15c63f2e230..c6829a121d5 100644
--- a/ydb/library/yql/core/yql_expr_constraint.cpp
+++ b/ydb/library/yql/core/yql_expr_constraint.cpp
@@ -199,7 +199,7 @@ public:
Functions["JoinDict"] = &TCallableConstraintTransformer::JoinDictWrap;
Functions["MapJoinCore"] = &TCallableConstraintTransformer::MapJoinCoreWrap;
Functions["GraceJoinCore"] = &TCallableConstraintTransformer::GraceJoinCoreWrap;
- Functions["SelfJoinCore"] = &TCallableConstraintTransformer::SelfJoinCoreWrap;
+ Functions["GraceSelfJoinCore"] = &TCallableConstraintTransformer::GraceSelfJoinCoreWrap;
Functions["CommonJoinCore"] = &TCallableConstraintTransformer::FromFirst<TEmptyConstraintNode>;
Functions["ToDict"] = &TCallableConstraintTransformer::ToDictWrap;
Functions["DictItems"] = &TCallableConstraintTransformer::DictItemsWrap;
@@ -2436,7 +2436,7 @@ private:
return core.RightInput().Ptr();
}
- TExprNode::TPtr GraceJoinRightInput(const TCoSelfJoinCore& core) const {
+ TExprNode::TPtr GraceJoinRightInput(const TCoGraceSelfJoinCore& core) const {
return core.Input().Ptr();
}
@@ -2444,7 +2444,7 @@ private:
return core.LeftInput().Ptr();
}
- TExprNode::TPtr GraceJoinLeftInput(const TCoSelfJoinCore& core) const {
+ TExprNode::TPtr GraceJoinLeftInput(const TCoGraceSelfJoinCore& core) const {
return core.Input().Ptr();
}
@@ -2543,8 +2543,8 @@ private:
return GraceJoinCoreWrapImpl<TCoGraceJoinCore>(input, output, ctx);
}
- TStatus SelfJoinCoreWrap(const TExprNode::TPtr& input, TExprNode::TPtr& output, TExprContext& ctx) const {
- return GraceJoinCoreWrapImpl<TCoSelfJoinCore>(input, output, ctx);
+ TStatus GraceSelfJoinCoreWrap(const TExprNode::TPtr& input, TExprNode::TPtr& output, TExprContext& ctx) const {
+ return GraceJoinCoreWrapImpl<TCoGraceSelfJoinCore>(input, output, ctx);
}
template<bool Distinct>
diff --git a/ydb/library/yql/dq/opt/dq_opt_join.cpp b/ydb/library/yql/dq/opt/dq_opt_join.cpp
index 049b3e52fd0..3045447ba9d 100644
--- a/ydb/library/yql/dq/opt/dq_opt_join.cpp
+++ b/ydb/library/yql/dq/opt/dq_opt_join.cpp
@@ -1210,7 +1210,7 @@ TExprBase DqBuildHashJoin(const TDqJoin& join, EHashJoinMode mode, TExprContext&
int shift = 2;
bool selfJoin = false;
if (mode == EHashJoinMode::GraceAndSelf && leftIn.Stage().Ptr() == rightIn.Stage().Ptr()) {
- callableName = "SelfJoinCore";
+ callableName = "GraceSelfJoinCore";
shift = 1;
selfJoin = true;
}
diff --git a/ydb/library/yql/minikql/comp_nodes/mkql_factory.cpp b/ydb/library/yql/minikql/comp_nodes/mkql_factory.cpp
index 45ee823be4c..e8dae8bb1d8 100644
--- a/ydb/library/yql/minikql/comp_nodes/mkql_factory.cpp
+++ b/ydb/library/yql/minikql/comp_nodes/mkql_factory.cpp
@@ -230,7 +230,7 @@ struct TCallableComputationNodeBuilderFuncMapFiller {
{"ToIndexDict", &WrapToIndexDict},
{"JoinDict", &WrapJoinDict},
{"GraceJoin", &WrapGraceJoin},
- {"SelfJoin", &WrapSelfJoin},
+ {"GraceSelfJoin", &WrapGraceSelfJoin},
{"MapJoinCore", &WrapMapJoinCore},
{"CommonJoinCore", &WrapCommonJoinCore},
{"CombineCore", &WrapCombineCore},
diff --git a/ydb/library/yql/minikql/comp_nodes/mkql_grace_join.cpp b/ydb/library/yql/minikql/comp_nodes/mkql_grace_join.cpp
index 80ed262cb51..b82327e5e10 100644
--- a/ydb/library/yql/minikql/comp_nodes/mkql_grace_join.cpp
+++ b/ydb/library/yql/minikql/comp_nodes/mkql_grace_join.cpp
@@ -954,7 +954,7 @@ IComputationNode* WrapGraceJoin(TCallable& callable, const TComputationNodeFacto
}
-IComputationNode* WrapSelfJoin(TCallable& callable, const TComputationNodeFactoryContext& ctx) {
+IComputationNode* WrapGraceSelfJoin(TCallable& callable, const TComputationNodeFactoryContext& ctx) {
MKQL_ENSURE(callable.GetInputsCount() == 7, "Expected 7 args");
const auto leftFlowNode = callable.GetInput(0);
diff --git a/ydb/library/yql/minikql/comp_nodes/mkql_grace_join.h b/ydb/library/yql/minikql/comp_nodes/mkql_grace_join.h
index 0c0772a9030..5672cca5b54 100644
--- a/ydb/library/yql/minikql/comp_nodes/mkql_grace_join.h
+++ b/ydb/library/yql/minikql/comp_nodes/mkql_grace_join.h
@@ -5,7 +5,7 @@ namespace NKikimr {
namespace NMiniKQL {
IComputationNode* WrapGraceJoin(TCallable& callable, const TComputationNodeFactoryContext& ctx);
-IComputationNode* WrapSelfJoin(TCallable& callable, const TComputationNodeFactoryContext& ctx);
+IComputationNode* WrapGraceSelfJoin(TCallable& callable, const TComputationNodeFactoryContext& ctx);
}
}
diff --git a/ydb/library/yql/minikql/comp_nodes/ut/mkql_grace_join_ut.cpp b/ydb/library/yql/minikql/comp_nodes/ut/mkql_grace_join_ut.cpp
index 6f655ef78b1..58ebd6d1512 100644
--- a/ydb/library/yql/minikql/comp_nodes/ut/mkql_grace_join_ut.cpp
+++ b/ydb/library/yql/minikql/comp_nodes/ut/mkql_grace_join_ut.cpp
@@ -177,7 +177,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinMemTest) {
UNIT_ASSERT(true);
-
+
}
}
@@ -194,7 +194,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinImpTest) {
(char *)"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"};
ui32 bigStrSize[2] = {151, 151};
-
+
NMemInfo::TMemInfo mi = NMemInfo::GetMemInfo();
CTEST << "Mem usage before tables tuples added (MB): " << mi.RSS / (1024 * 1024) << Endl;
@@ -206,7 +206,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinImpTest) {
const ui64 TupleSize = 1024;
- ui64 bigTuple[TupleSize];
+ ui64 bigTuple[TupleSize];
for (ui64 i = 0; i < TupleSize; i++) {
bigTuple[i] = std::rand() / ( RAND_MAX / 10000 );
@@ -214,13 +214,13 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinImpTest) {
ui64 milliseconds = 0;
-
+
const ui64 BigTableTuples = 600000;
const ui64 SmallTableTuples = 150000;
const ui64 BigTupleSize = 40;
- std::chrono::steady_clock::time_point begin03 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin03 = std::chrono::steady_clock::now();
for ( ui64 i = 0; i < BigTableTuples; i++) {
@@ -250,7 +250,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinImpTest) {
bigTable.Clear();
smallTable.Clear();
- begin03 = std::chrono::steady_clock::now();
+ begin03 = std::chrono::steady_clock::now();
for ( ui64 i = 0; i < BigTableTuples; i++) {
@@ -272,7 +272,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinImpTest) {
CTEST << "Time for hash = " << milliseconds << "[ms]" << Endl;
CTEST << "Adding tuples speed: " << (BigTupleSize * (BigTableTuples + SmallTableTuples) * 1000) / ( milliseconds * 1024 * 1024) << "MB/sec" << Endl;
CTEST << Endl;
-
+
mi = NMemInfo::GetMemInfo();
CTEST << "Mem usage after tables tuples added (MB): " << mi.RSS / (1024 * 1024) << Endl;
@@ -297,7 +297,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinImpTest) {
ui64 numBigTuples = 0;
bigTable.ResetIterator();
- std::chrono::steady_clock::time_point begin04 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin04 = std::chrono::steady_clock::now();
while(bigTable.NextTuple(td1)) { numBigTuples++; }
@@ -310,7 +310,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinImpTest) {
numBigTuples = 0;
bigTable.ResetIterator();
- std::chrono::steady_clock::time_point begin041 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin041 = std::chrono::steady_clock::now();
while(bigTable.NextTuple(td2)) { numBigTuples++; }
@@ -321,7 +321,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinImpTest) {
CTEST << Endl;
- std::chrono::steady_clock::time_point begin05 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin05 = std::chrono::steady_clock::now();
joinTable.Join(smallTable,bigTable);
@@ -337,7 +337,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinImpTest) {
ui64 numJoinedTuples = 0;
- std::chrono::steady_clock::time_point begin042 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin042 = std::chrono::steady_clock::now();
while(joinTable.NextJoinedData(td1, td2)) { numJoinedTuples++; }
@@ -367,7 +367,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinAnyTest) {
(char *)"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"};
ui32 bigStrSize[2] = {151, 151};
-
+
GraceJoin::TTable bigTable (1,1,1,1,0,0,1, nullptr, true);
GraceJoin::TTable smallTable(1,1,1,1,0,0,1, nullptr, true);
@@ -377,7 +377,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinAnyTest) {
const ui64 TupleSize = 1024;
- ui64 bigTuple[TupleSize];
+ ui64 bigTuple[TupleSize];
for (ui64 i = 0; i < TupleSize; i++) {
bigTuple[i] = std::rand() / ( RAND_MAX / 10000 );
@@ -385,13 +385,13 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinAnyTest) {
ui64 milliseconds = 0;
-
+
const ui64 BigTableTuples = 600000;
const ui64 SmallTableTuples = 150000;
const ui64 BigTupleSize = 40;
- std::chrono::steady_clock::time_point begin03 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin03 = std::chrono::steady_clock::now();
for ( ui64 i = 0; i < BigTableTuples; i++) {
@@ -434,7 +434,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinAnyTest) {
ui64 numBigTuples = 0;
bigTable.ResetIterator();
- std::chrono::steady_clock::time_point begin04 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin04 = std::chrono::steady_clock::now();
while(bigTable.NextTuple(td1)) { numBigTuples++; }
@@ -447,7 +447,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinAnyTest) {
numBigTuples = 0;
bigTable.ResetIterator();
- std::chrono::steady_clock::time_point begin041 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin041 = std::chrono::steady_clock::now();
while(bigTable.NextTuple(td2)) { numBigTuples++; }
@@ -458,7 +458,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinAnyTest) {
CTEST << Endl;
- std::chrono::steady_clock::time_point begin05 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin05 = std::chrono::steady_clock::now();
joinTable.Join(smallTable,bigTable);
@@ -470,7 +470,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinAnyTest) {
ui64 numJoinedTuples = 0;
- std::chrono::steady_clock::time_point begin042 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin042 = std::chrono::steady_clock::now();
while(joinTable.NextJoinedData(td1, td2)) { numJoinedTuples++; }
@@ -500,7 +500,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceSelfJoinTest) {
(char *)"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"};
ui32 bigStrSize[2] = {151, 151};
-
+
GraceJoin::TTable bigTable (1,1,1,1,0,0,1, nullptr, false);
GraceJoin::TTable smallTable(1,1,1,1,0,0,1, nullptr, false);
@@ -510,7 +510,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceSelfJoinTest) {
const ui64 TupleSize = 1024;
- ui64 bigTuple[TupleSize];
+ ui64 bigTuple[TupleSize];
for (ui64 i = 0; i < TupleSize; i++) {
bigTuple[i] = std::rand() / ( RAND_MAX / 10000 );
@@ -518,13 +518,13 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceSelfJoinTest) {
ui64 milliseconds = 0;
-
+
const ui64 BigTableTuples = 600000;
const ui64 SmallTableTuples = 150000;
const ui64 BigTupleSize = 40;
- std::chrono::steady_clock::time_point begin03 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin03 = std::chrono::steady_clock::now();
for ( ui64 i = 0; i < BigTableTuples; i++) {
@@ -567,7 +567,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceSelfJoinTest) {
ui64 numBigTuples = 0;
bigTable.ResetIterator();
- std::chrono::steady_clock::time_point begin04 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin04 = std::chrono::steady_clock::now();
while(bigTable.NextTuple(td1)) { numBigTuples++; }
@@ -580,7 +580,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceSelfJoinTest) {
numBigTuples = 0;
bigTable.ResetIterator();
- std::chrono::steady_clock::time_point begin041 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin041 = std::chrono::steady_clock::now();
while(bigTable.NextTuple(td2)) { numBigTuples++; }
@@ -591,7 +591,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceSelfJoinTest) {
CTEST << Endl;
- std::chrono::steady_clock::time_point begin05 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin05 = std::chrono::steady_clock::now();
joinTable.Join(bigTable,bigTable);
@@ -603,7 +603,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceSelfJoinTest) {
ui64 numJoinedTuples = 0;
- std::chrono::steady_clock::time_point begin042 = std::chrono::steady_clock::now();
+ std::chrono::steady_clock::time_point begin042 = std::chrono::steady_clock::now();
while(joinTable.NextJoinedData(td1, td2)) { numJoinedTuples++; }
@@ -651,7 +651,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLSelfJoinTest) {
pb.NewTuple({key1, payload1}),
pb.NewTuple({key2, payload2}),
pb.NewTuple({key3, payload3}),
- pb.NewTuple({key4, payload4})
+ pb.NewTuple({key4, payload4})
});
@@ -660,7 +660,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLSelfJoinTest) {
pb.NewDataType(NUdf::TDataType<char*>::Id)
}));
- const auto pgmReturn = pb.Collect(pb.NarrowMap(pb.SelfJoin(
+ const auto pgmReturn = pb.Collect(pb.NarrowMap(pb.GraceSelfJoin(
pb.ExpandMap(pb.ToFlow(list1), [&](TRuntimeNode item) -> TRuntimeNode::TList { return {pb.Nth(item, 0U), pb.Nth(item, 1U)}; }),
EJoinKind::Inner, {0U}, {0U}, {1U, 0U}, {1U, 1U}, resultType),
[&](TRuntimeNode::TList items) -> TRuntimeNode { return pb.NewTuple(items); })
@@ -694,7 +694,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLSelfJoinTest) {
}
-
+
}
Y_UNIT_TEST_LLVM(TestDiffKeys) {
@@ -728,7 +728,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLSelfJoinTest) {
pb.NewTuple({key1, key11, payload1}),
pb.NewTuple({key2, key21, payload2}),
pb.NewTuple({key3, key31, payload3}),
- pb.NewTuple({key4, key41, payload4})
+ pb.NewTuple({key4, key41, payload4})
});
@@ -737,7 +737,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLSelfJoinTest) {
pb.NewDataType(NUdf::TDataType<char*>::Id)
}));
- const auto pgmReturn = pb.Collect(pb.NarrowMap(pb.SelfJoin(
+ const auto pgmReturn = pb.Collect(pb.NarrowMap(pb.GraceSelfJoin(
pb.ExpandMap(pb.ToFlow(list1), [&](TRuntimeNode item) -> TRuntimeNode::TList { return {pb.Nth(item, 0U), pb.Nth(item, 1U), pb.Nth(item, 2U)}; }),
EJoinKind::Inner, {0U}, {1U}, {2U, 0U}, {2U, 1U}, resultType),
[&](TRuntimeNode::TList items) -> TRuntimeNode { return pb.NewTuple(items); })
@@ -762,7 +762,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLSelfJoinTest) {
}
-
+
}
@@ -837,7 +837,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinTest) {
}
-
+
}
Y_UNIT_TEST_LLVM(TestInnerDoubleCondition1) {
@@ -907,7 +907,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinTest) {
}
-
+
}
Y_UNIT_TEST_LLVM(TestInnerStringKey1) {
@@ -976,7 +976,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinTest) {
}
-
+
}
@@ -1920,9 +1920,9 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinTest) {
UNBOXED_VALUE_STR_EQUAL(tuple.GetElement(0), "C");
UNBOXED_VALUE_STR_EQUAL(tuple.GetElement(1), "Y");
UNIT_ASSERT(iterator.Next(tuple));
- UNBOXED_VALUE_STR_EQUAL(tuple.GetElement(0), "A");
+ UNBOXED_VALUE_STR_EQUAL(tuple.GetElement(0), "A");
UNIT_ASSERT(!tuple.GetElement(1));
- UNIT_ASSERT(iterator.Next(tuple));
+ UNIT_ASSERT(iterator.Next(tuple));
UNBOXED_VALUE_STR_EQUAL(tuple.GetElement(1), "Z");
UNIT_ASSERT(!tuple.GetElement(0));
UNIT_ASSERT(!iterator.Next(tuple));
@@ -1985,9 +1985,9 @@ Y_UNIT_TEST_SUITE(TMiniKQLGraceJoinTest) {
UNIT_ASSERT(iterator.Next(tuple));
- UNBOXED_VALUE_STR_EQUAL(tuple.GetElement(0), "A");
+ UNBOXED_VALUE_STR_EQUAL(tuple.GetElement(0), "A");
UNIT_ASSERT(!tuple.GetElement(1));
- UNIT_ASSERT(iterator.Next(tuple));
+ UNIT_ASSERT(iterator.Next(tuple));
UNBOXED_VALUE_STR_EQUAL(tuple.GetElement(1), "Z");
UNIT_ASSERT(!tuple.GetElement(0));
UNIT_ASSERT(!iterator.Next(tuple));
diff --git a/ydb/library/yql/minikql/mkql_program_builder.cpp b/ydb/library/yql/minikql/mkql_program_builder.cpp
index 0904c0d3b93..9e8debac650 100644
--- a/ydb/library/yql/minikql/mkql_program_builder.cpp
+++ b/ydb/library/yql/minikql/mkql_program_builder.cpp
@@ -2054,7 +2054,7 @@ TRuntimeNode TProgramBuilder::GraceJoin(TRuntimeNode flowLeft, TRuntimeNode flow
}
-TRuntimeNode TProgramBuilder::SelfJoin(TRuntimeNode flowLeft, EJoinKind joinKind, const TArrayRef<const ui32>& leftKeyColumns, const TArrayRef<const ui32>& rightKeyColumns,
+TRuntimeNode TProgramBuilder::GraceSelfJoin(TRuntimeNode flowLeft, EJoinKind joinKind, const TArrayRef<const ui32>& leftKeyColumns, const TArrayRef<const ui32>& rightKeyColumns,
const TArrayRef<const ui32>& leftRenames, const TArrayRef<const ui32>& rightRenames, TType* returnType, EAnyJoinSettings anyJoinSettings ) {
if constexpr (RuntimeVersion < 40U) {
diff --git a/ydb/library/yql/minikql/mkql_program_builder.h b/ydb/library/yql/minikql/mkql_program_builder.h
index 3e9a951327f..da96822185d 100644
--- a/ydb/library/yql/minikql/mkql_program_builder.h
+++ b/ydb/library/yql/minikql/mkql_program_builder.h
@@ -463,7 +463,7 @@ public:
TRuntimeNode GraceJoin(TRuntimeNode flowLeft, TRuntimeNode flowRight, EJoinKind joinKind,
const TArrayRef<const ui32>& leftKeyColumns, const TArrayRef<const ui32>& rightKeyColumns,
const TArrayRef<const ui32>& leftRenames, const TArrayRef<const ui32>& rightRenames, TType* returnType, EAnyJoinSettings anyJoinSettings = EAnyJoinSettings::None);
- TRuntimeNode SelfJoin(TRuntimeNode flowLeft, EJoinKind joinKind, const TArrayRef<const ui32>& leftKeyColumns, const TArrayRef<const ui32>& rightKeyColumns,
+ TRuntimeNode GraceSelfJoin(TRuntimeNode flowLeft, EJoinKind joinKind, const TArrayRef<const ui32>& leftKeyColumns, const TArrayRef<const ui32>& rightKeyColumns,
const TArrayRef<const ui32>& leftRenames, const TArrayRef<const ui32>& rightRenames, TType* returnType, EAnyJoinSettings anyJoinSettings = EAnyJoinSettings::None);
TRuntimeNode CombineCore(TRuntimeNode stream,
const TUnaryLambda& keyExtractor,
diff --git a/ydb/library/yql/providers/common/mkql/yql_provider_mkql.cpp b/ydb/library/yql/providers/common/mkql/yql_provider_mkql.cpp
index a6110cd5993..8fcd3f8ccb0 100644
--- a/ydb/library/yql/providers/common/mkql/yql_provider_mkql.cpp
+++ b/ydb/library/yql/providers/common/mkql/yql_provider_mkql.cpp
@@ -1584,8 +1584,8 @@ TMkqlCommonCallableCompiler::TShared::TShared() {
return ctx.ProgramBuilder.MapJoinCore(list, dict, joinKind, leftKeyColumns, leftRenames, rightRenames, returnType);
});
- AddCallable({"GraceJoinCore", "SelfJoinCore"}, [](const TExprNode& node, TMkqlBuildContext& ctx) {
- bool selfJoin = node.Content() == "SelfJoinCore";
+ AddCallable({"GraceJoinCore", "GraceSelfJoinCore"}, [](const TExprNode& node, TMkqlBuildContext& ctx) {
+ bool selfJoin = node.Content() == "GraceSelfJoinCore";
int shift = selfJoin ? 0 : 1;
const auto flowLeft = MkqlBuildExpr(*node.Child(0), ctx);
const auto flowRight = MkqlBuildExpr(*node.Child(shift), ctx);
@@ -1633,7 +1633,7 @@ TMkqlCommonCallableCompiler::TShared::TShared() {
const auto returnType = BuildType(node, *node.GetTypeAnn(), ctx.ProgramBuilder);
return selfJoin
- ? ctx.ProgramBuilder.SelfJoin(flowLeft, joinKind, leftKeyColumns, rightKeyColumns, leftRenames, rightRenames, returnType, anyJoinSettings)
+ ? ctx.ProgramBuilder.GraceSelfJoin(flowLeft, joinKind, leftKeyColumns, rightKeyColumns, leftRenames, rightRenames, returnType, anyJoinSettings)
: ctx.ProgramBuilder.GraceJoin(flowLeft, flowRight, joinKind, leftKeyColumns, rightKeyColumns, leftRenames, rightRenames, returnType, anyJoinSettings);
});