| 43 | } |
| 44 | |
| 45 | void SingleLabelNodeSetExecutor::set(ExecutionContext* context) { |
| 46 | if (tableInfo.columnID == INVALID_COLUMN_ID) { |
| 47 | // Not a valid column. Set projected column to null. |
| 48 | if (info.columnVectorPos.isValid()) { |
| 49 | info.columnVector->setNull(info.columnDataVector->state->getSelVector()[0], true); |
| 50 | } |
| 51 | return; |
| 52 | } |
| 53 | info.evaluator->evaluate(); |
| 54 | auto updateState = std::make_unique<storage::NodeTableUpdateState>(tableInfo.columnID, |
| 55 | *info.nodeIDVector, *info.columnDataVector); |
| 56 | tableInfo.table->initUpdateState(context->clientContext, *updateState); |
| 57 | tableInfo.table->update(transaction::Transaction::Get(*context->clientContext), *updateState); |
| 58 | if (info.columnVectorPos.isValid()) { |
| 59 | writeColumnUpdateResult(info.nodeIDVector, info.columnVector, info.columnDataVector); |
| 60 | } |
| 61 | } |
| 62 | |
| 63 | void MultiLabelNodeSetExecutor::set(ExecutionContext* context) { |
| 64 | info.evaluator->evaluate(); |
no test coverage detected