| 280 | } |
| 281 | |
| 282 | void IndexLookup::initLocalStateInternal(ResultSet* resultSet, ExecutionContext* context) { |
| 283 | auto errorHandler = std::make_unique<BatchInsertErrorHandler>(context, |
| 284 | WarningContext::Get(*context->clientContext)->getIgnoreErrorsOption()); |
| 285 | localState = std::make_unique<IndexLookupLocalState>(std::move(errorHandler)); |
| 286 | for (auto& pos : warningDataVectorPos) { |
| 287 | localState->warningDataVectors.push_back(resultSet->getValueVector(pos).get()); |
| 288 | } |
| 289 | for (auto& info : infos) { |
| 290 | info.keyEvaluator->init(*resultSet, context->clientContext); |
| 291 | if (info.noIndexLookupCache) { |
| 292 | info.noIndexLookupCache->buildIfNeeded(info.nodeTable, |
| 293 | transaction::Transaction::Get(*context->clientContext), context->clientContext); |
| 294 | } |
| 295 | } |
| 296 | } |
| 297 | |
| 298 | void IndexLookup::lookup(transaction::Transaction* transaction, const IndexLookupInfo& info) { |
| 299 | auto keyVector = info.keyEvaluator->resultVector.get(); |
nothing calls this directly
no test coverage detected