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

Method setFlatNulls

bolt/vector/DecodedVector.cpp:280–300  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

278}
279
280void DecodedVector::setFlatNulls(
281 const BaseVector& vector,
282 const SelectivityVector* rows) {
283 if (hasExtraNulls_) {
284 if (nullsNotCopied()) {
285 copyNulls(end(rows));
286 }
287 auto leafNulls = vector.rawNulls();
288 auto copiedNulls = &copiedNulls_[0];
289 applyToRows(rows, [&](vector_size_t row) {
290 if (!bits::isBitNull(nulls_, row) &&
291 (leafNulls && bits::isBitNull(leafNulls, indices_[row]))) {
292 bits::setNull(copiedNulls, row);
293 }
294 });
295 nulls_ = &copiedNulls_[0];
296 } else {
297 nulls_ = vector.rawNulls();
298 mayHaveNulls_ = nulls_ != nullptr;
299 }
300}
301
302void DecodedVector::setBaseData(
303 const BaseVector& vector,

Callers

nothing calls this directly

Calls 4

copyNullsFunction · 0.85
isBitNullFunction · 0.85
rawNullsMethod · 0.80
setNullFunction · 0.70

Tested by

no test coverage detected