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

Method flushBatch

src/processor/operator/persistent/delete_executor.cpp:76–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

74}
75
76void NodeDeleteExecutor::flushBatch(const std::vector<internalID_t>& nodeIDs,
77 ValueVector& srcNodeIDVector, const std::unordered_set<RelTable*>& fwdRelTables,
78 const std::unordered_set<RelTable*>& bwdRelTables, Transaction* transaction) {
79 if (nodeIDs.empty()) {
80 return;
81 }
82 const auto srcState = std::make_shared<DataChunkState>();
83 const auto relState = std::make_shared<DataChunkState>();
84 srcNodeIDVector.setState(srcState);
85 batchDstNodeIDVector->setState(relState);
86 batchRelIDVector->setState(relState);
87 srcState->getSelVectorUnsafe().setSelSize(nodeIDs.size());
88 for (auto i = 0u; i < nodeIDs.size(); i++) {
89 srcNodeIDVector.setValue(i, nodeIDs[i]);
90 }
91 for (auto& relTable : fwdRelTables) {
92 relTable->detachDeleteBatch(transaction, srcNodeIDVector, *batchDstNodeIDVector,
93 *batchRelIDVector, RelDataDirection::FWD);
94 }
95 for (auto& relTable : bwdRelTables) {
96 relTable->detachDeleteBatch(transaction, srcNodeIDVector, *batchDstNodeIDVector,
97 *batchRelIDVector, RelDataDirection::BWD);
98 }
99}
100
101void SingleLabelNodeDeleteExecutor::init(ResultSet* resultSet, ExecutionContext* context) {
102 NodeDeleteExecutor::init(resultSet, context);

Callers

nothing calls this directly

Calls 6

setStateMethod · 0.80
setSelSizeMethod · 0.80
detachDeleteBatchMethod · 0.80
emptyMethod · 0.45
sizeMethod · 0.45
setValueMethod · 0.45

Tested by

no test coverage detected