MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / executeOnNewPattern

Method executeOnNewPattern

src/processor/operator/persistent/merge.cpp:101–122  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

99}
100
101void 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
124bool Merge::executeNoMatch(ExecutionContext* context) {
125 for (auto& evaluator : info.keyEvaluators) {

Callers

nothing calls this directly

Calls 5

updateIDMethod · 0.80
sizeMethod · 0.45
insertMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected