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

Method convertElementErrorsToTopLevelNulls

bolt/expression/EvalCtx.cpp:283–300  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

281}
282
283void EvalCtx::convertElementErrorsToTopLevelNulls(
284 const SelectivityVector& elementRows,
285 const BufferPtr& elementToTopLevelRows,
286 VectorPtr& result) {
287 if (!errors_) {
288 return;
289 }
290
291 auto rawNulls = result->mutableRawNulls();
292
293 const auto* rawElementToTopLevelRows =
294 elementToTopLevelRows->as<vector_size_t>();
295 elementRows.applyToSelected([&](auto row) {
296 if (errors_->isIndexInRange(row) && !errors_->isNullAt(row)) {
297 bits::setNull(rawNulls, rawElementToTopLevelRows[row], true);
298 }
299 });
300}
301
302const VectorPtr& EvalCtx::getField(int32_t index) const {
303 const VectorPtr* field;

Callers 1

Calls 3

applyToSelectedMethod · 0.80
setNullFunction · 0.50
isNullAtMethod · 0.45

Tested by

no test coverage detected