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

Method addElementErrorsToTopLevel

bolt/expression/EvalCtx.cpp:263–281  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

261}
262
263void EvalCtx::addElementErrorsToTopLevel(
264 const SelectivityVector& elementRows,
265 const BufferPtr& elementToTopLevelRows,
266 ErrorVectorPtr& topLevelErrors) {
267 if (!errors_) {
268 return;
269 }
270
271 const auto* rawElementToTopLevelRows =
272 elementToTopLevelRows->as<vector_size_t>();
273 elementRows.applyToSelected([&](auto row) {
274 if (errors_->isIndexInRange(row) && !errors_->isNullAt(row)) {
275 addError(
276 rawElementToTopLevelRows[row],
277 *std::static_pointer_cast<std::exception_ptr>(errors_->valueAt(row)),
278 topLevelErrors);
279 }
280 });
281}
282
283void EvalCtx::convertElementErrorsToTopLevelNulls(
284 const SelectivityVector& elementRows,

Callers 3

combineErrorsMethod · 0.80
transformErrorVectorMethod · 0.80

Calls 3

applyToSelectedMethod · 0.80
isNullAtMethod · 0.45
valueAtMethod · 0.45

Tested by

no test coverage detected