| 281 | } |
| 282 | |
| 283 | void 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 | |
| 302 | const VectorPtr& EvalCtx::getField(int32_t index) const { |
| 303 | const VectorPtr* field; |
no test coverage detected