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

Method addInput

bolt/exec/RowNumber.cpp:87–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

85}
86
87void RowNumber::addInput(RowVectorPtr input) {
88 const auto numInput = input->size();
89
90 if (table_) {
91 ensureInputFits(input);
92
93 if (inputSpiller_ != nullptr) {
94 spillInput(input, pool());
95 return;
96 }
97
98 SelectivityVector rows(numInput);
99 table_->prepareForGroupProbe(
100 *lookup_,
101 input,
102 rows,
103 false,
104 BaseHashTable::kNoSpillInputStartPartitionBit);
105 table_->groupProbe(*lookup_);
106
107 // Initialize new partitions with zeros.
108 for (auto i : lookup_->newGroups) {
109 setNumRows(lookup_->hits[i], 0);
110 }
111 }
112
113 input_ = std::move(input);
114}
115
116void RowNumber::addSpillInput() {
117 const auto numInput = input_->size();

Callers

nothing calls this directly

Calls 4

prepareForGroupProbeMethod · 0.80
groupProbeMethod · 0.80
poolFunction · 0.50
sizeMethod · 0.45

Tested by

no test coverage detected