diff options
author | aakulaga <aakulaga@ydb.tech> | 2023-09-05 23:19:42 +0300 |
---|---|---|
committer | aakulaga <aakulaga@ydb.tech> | 2023-09-05 23:34:00 +0300 |
commit | 72cfa7d43b72e5077ed343bb998ba14f2d25072b (patch) | |
tree | 5fb5fab84db9bf6c659393b6a5fa3e69585a5211 | |
parent | cd0f74568186f7f43d00327872af00a7a07a043f (diff) | |
download | ydb-72cfa7d43b72e5077ed343bb998ba14f2d25072b.tar.gz |
Fix self join in batch mode
Fix self join in batch mode
-rw-r--r-- | ydb/library/yql/minikql/comp_nodes/mkql_grace_join.cpp | 2 | ||||
-rw-r--r-- | ydb/library/yql/minikql/comp_nodes/mkql_grace_join_imp.cpp | 13 |
2 files changed, 1 insertions, 14 deletions
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 9f4bcd90a06..80ed262cb51 100644 --- a/ydb/library/yql/minikql/comp_nodes/mkql_grace_join.cpp +++ b/ydb/library/yql/minikql/comp_nodes/mkql_grace_join.cpp @@ -582,7 +582,7 @@ public: , IsSelfJoin_(isSelfJoin) , SelfJoinSameKeys_(isSelfJoin && (leftKeyColumns == rightKeyColumns)) { - if (JoinKind == EJoinKind::Full || JoinKind == EJoinKind::Exclusion ) { + if (JoinKind == EJoinKind::Full || JoinKind == EJoinKind::Exclusion || IsSelfJoin_) { LeftPacker->BatchSize = std::numeric_limits<ui64>::max(); RightPacker->BatchSize = std::numeric_limits<ui64>::max(); } diff --git a/ydb/library/yql/minikql/comp_nodes/mkql_grace_join_imp.cpp b/ydb/library/yql/minikql/comp_nodes/mkql_grace_join_imp.cpp index aa9e6253b3a..a9363b2a0b5 100644 --- a/ydb/library/yql/minikql/comp_nodes/mkql_grace_join_imp.cpp +++ b/ydb/library/yql/minikql/comp_nodes/mkql_grace_join_imp.cpp @@ -72,19 +72,6 @@ void TTable::AddTuple( ui64 * intColumns, char ** stringColumns, ui32 * strings } -/* - ui64 nullsBitmapIdx = NumberOfKeyColumns / (sizeof(ui64) * 8); - ui64 remBits = (nullsBitmapIdx + 1) * sizeof(ui64) * 8 - NumberOfKeyColumns; - - TempTuple[nullsBitmapIdx] <<= (remBits); - TempTuple[nullsBitmapIdx] >>= (remBits); - - nullsBitmapIdx++; - while ( nullsBitmapIdx * sizeof(ui64) * 8 <= NumberOfColumns ) { - TempTuple[nullsBitmapIdx] = 0; - nullsBitmapIdx++; - } -*/ TempTuple[0] &= (0x1); // Setting only nulls in key bit, all other bits are ignored for key hash for (ui32 i = 1; i < NullsBitmapSize_; i ++) { |