MCPcopy Create free account
hub / github.com/bytedance/bolt / clearDynamicFilters

Method clearDynamicFilters

bolt/exec/HashProbe.cpp:674–689  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

672}
673
674void HashProbe::clearDynamicFilters() {
675 BOLT_CHECK(!hasMoreSpillData());
676 BOLT_CHECK(!needSpillInput());
677
678 // The join can be completely replaced with a pushed down
679 // filter when the following conditions are met:
680 // * hash table has a single key with unique values,
681 // * build side has no dependent columns.
682 if (keyChannels_.size() == 1 && !table_->hasDuplicateKeys() &&
683 tableOutputProjections_.empty() && !filter_ && !dynamicFilters_.empty() &&
684 !isRightJoin(joinType_)) {
685 canReplaceWithDynamicFilter_ = true;
686 }
687
688 Operator::clearDynamicFilters();
689}
690
691void HashProbe::decodeAndDetectNonNullKeys() {
692 nonNullInputRows_.resize(input_->size());

Callers 1

pushdownFiltersMethod · 0.45

Calls 4

isRightJoinFunction · 0.85
hasDuplicateKeysMethod · 0.80
sizeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected