diff options
author | aozeritsky <[email protected]> | 2023-09-07 00:34:33 +0300 |
---|---|---|
committer | aozeritsky <[email protected]> | 2023-09-07 00:53:24 +0300 |
commit | ed4f5dcd2a3d3ade430882d08513356cc33e9ada (patch) | |
tree | d3cb86307daa96856018fd58c5d3d4bdc7f24ef2 | |
parent | 6a4d0ea1c2b008667aa54b53565935e69a164206 (diff) |
Rename SelfJoin -> GraceSelfJoin
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); }); |