aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraakulaga <aakulaga@ydb.tech>2023-09-05 23:19:42 +0300
committeraakulaga <aakulaga@ydb.tech>2023-09-05 23:34:00 +0300
commit72cfa7d43b72e5077ed343bb998ba14f2d25072b (patch)
tree5fb5fab84db9bf6c659393b6a5fa3e69585a5211
parentcd0f74568186f7f43d00327872af00a7a07a043f (diff)
downloadydb-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.cpp2
-rw-r--r--ydb/library/yql/minikql/comp_nodes/mkql_grace_join_imp.cpp13
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 ++) {