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

Method initLocalStateInternal

src/processor/operator/path_property_probe.cpp:13–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11namespace processor {
12
13void PathPropertyProbe::initLocalStateInternal(ResultSet* /*resultSet_*/,
14 ExecutionContext* /*context*/) {
15 localState = PathPropertyProbeLocalState();
16 auto pathVector = resultSet->getValueVector(info.pathPos);
17 pathNodesVector = StructVector::getFieldVectorRaw(*pathVector, InternalKeyword::NODES);
18 pathRelsVector = StructVector::getFieldVectorRaw(*pathVector, InternalKeyword::RELS);
19 auto nodesDataVector = ListVector::getDataVector(pathNodesVector);
20 auto relsDataVector = ListVector::getDataVector(pathRelsVector);
21 pathNodeIDsDataVector = StructVector::getFieldVectorRaw(*nodesDataVector, InternalKeyword::ID);
22 pathNodeLabelsDataVector =
23 StructVector::getFieldVectorRaw(*nodesDataVector, InternalKeyword::LABEL);
24 pathRelIDsDataVector = StructVector::getFieldVectorRaw(*relsDataVector, InternalKeyword::ID);
25 pathRelLabelsDataVector =
26 StructVector::getFieldVectorRaw(*relsDataVector, InternalKeyword::LABEL);
27 pathSrcNodeIDsDataVector =
28 StructVector::getFieldVectorRaw(*relsDataVector, InternalKeyword::SRC);
29 pathDstNodeIDsDataVector =
30 StructVector::getFieldVectorRaw(*relsDataVector, InternalKeyword::DST);
31 for (auto fieldIdx : info.nodeFieldIndices) {
32 pathNodesPropertyDataVectors.push_back(
33 StructVector::getFieldVector(nodesDataVector, fieldIdx).get());
34 }
35 for (auto fieldIdx : info.relFieldIndices) {
36 pathRelsPropertyDataVectors.push_back(
37 StructVector::getFieldVector(relsDataVector, fieldIdx).get());
38 }
39 if (info.leftNodeIDPos.isValid()) {
40 inputLeftNodeIDVector = resultSet->getValueVector(info.leftNodeIDPos).get();
41 inputRightNodeIDVector = resultSet->getValueVector(info.rightNodeIDPos).get();
42 inputNodeIDsVector = resultSet->getValueVector(info.inputNodeIDsPos).get();
43 inputRelIDsVector = resultSet->getValueVector(info.inputEdgeIDsPos).get();
44 if (info.directionPos.isValid()) {
45 inputDirectionVector = resultSet->getValueVector(info.directionPos).get();
46 }
47 }
48}
49
50static void copyListEntry(const ValueVector& srcVector, ValueVector* dstVector) {
51 auto& selVector = srcVector.state->getSelVector();

Callers

nothing calls this directly

Calls 6

getDataVectorFunction · 0.50
getValueVectorMethod · 0.45
push_backMethod · 0.45
getMethod · 0.45
isValidMethod · 0.45

Tested by

no test coverage detected