Skip to content

Commit 389311c

Browse files
Pass BFs to TupleBPS for further steps
1 parent 8ca6269 commit 389311c

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

dbcon/joblist/primitivestep.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1472,6 +1472,13 @@ class TupleBPS : public BatchPrimitive, public TupleDeliveryStep
14721472
bool compareRange(uint8_t COP, int64_t min, int64_t max, int64_t val) const;
14731473
bool hasPCFilter, hasPMFilter, hasRIDFilter, hasSegmentFilter, hasDBRootFilter, hasSegmentDirFilter,
14741474
hasPartitionFilter, hasMaxFilter, hasMinFilter, hasLBIDFilter, hasExtentIDFilter;
1475+
1476+
// Blocked Bloom filter
1477+
std::vector<std::shared_ptr<std::array<std::optional<BlockedBloomFilter>, 2>>> bloomFilters;
1478+
1479+
public:
1480+
void setBloomFilters(std::vector<std::shared_ptr<std::array<std::optional<BlockedBloomFilter>, 2>>>&& bloomFilters);
1481+
14751482
};
14761483

14771484
/** @brief class FilterStep

dbcon/joblist/tuple-bps.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3394,6 +3394,11 @@ void TupleBPS::abort()
33943394
abort_nolock();
33953395
}
33963396

3397+
void TupleBPS::setBloomFilters(std::vector<std::shared_ptr<std::array<std::optional<BlockedBloomFilter>, 2>>>&& bloomFilters)
3398+
{
3399+
this->bloomFilters = std::move(bloomFilters);
3400+
}
3401+
33973402
template bool TupleBPS::processOneFilterType<int64_t>(int8_t colWidth, int64_t value, uint32_t type) const;
33983403
template bool TupleBPS::processOneFilterType<int128_t>(int8_t colWidth, int128_t value, uint32_t type) const;
33993404

dbcon/joblist/tuplehashjoin.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -688,6 +688,8 @@ void TupleHashJoinStep::hjRunner()
688688
jobstepThreadPool.join(smallRunners);
689689
smallRunners.clear();
690690

691+
largeBPS->setBloomFilters(std::move(bloomFilters));
692+
691693
for (i = 0; i < feIndexes.size() && joiners.size() > 0; i++)
692694
joiners[feIndexes[i]]->setFcnExpFilter(fe[i]);
693695

0 commit comments

Comments
 (0)