| 99 | } |
| 100 | |
| 101 | void Merge::executeOnNewPattern(PatternCreationInfo& patternCreationInfo, |
| 102 | ExecutionContext* context) { |
| 103 | // do insert and on create |
| 104 | for (auto i = 0u; i < nodeInsertExecutors.size(); i++) { |
| 105 | auto& executor = nodeInsertExecutors[i]; |
| 106 | executor.setNodeIDVectorToNonNull(); |
| 107 | auto nodeID = executor.insert(context->clientContext); |
| 108 | patternCreationInfo.updateID(i, info.executorInfo, info.storeInsertedPatternIDs, nodeID); |
| 109 | } |
| 110 | for (auto i = 0u; i < relInsertExecutors.size(); i++) { |
| 111 | auto& executor = relInsertExecutors[i]; |
| 112 | auto relID = executor.insert(context->clientContext); |
| 113 | patternCreationInfo.updateID(i + nodeInsertExecutors.size(), info.executorInfo, |
| 114 | info.storeInsertedPatternIDs, relID); |
| 115 | } |
| 116 | for (auto& executor : onCreateNodeSetExecutors) { |
| 117 | executor->set(context); |
| 118 | } |
| 119 | for (auto& executor : onCreateRelSetExecutors) { |
| 120 | executor->set(context); |
| 121 | } |
| 122 | } |
| 123 | |
| 124 | bool Merge::executeNoMatch(ExecutionContext* context) { |
| 125 | for (auto& evaluator : info.keyEvaluators) { |
nothing calls this directly
no test coverage detected