| 11 | namespace processor { |
| 12 | |
| 13 | void 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 | |
| 50 | static void copyListEntry(const ValueVector& srcVector, ValueVector* dstVector) { |
| 51 | auto& selVector = srcVector.state->getSelVector(); |
nothing calls this directly
no test coverage detected