diff --git a/src/storage/mutate/DeleteEdgesProcessor.cpp b/src/storage/mutate/DeleteEdgesProcessor.cpp index 89dbfd0ebce..90283998c98 100644 --- a/src/storage/mutate/DeleteEdgesProcessor.cpp +++ b/src/storage/mutate/DeleteEdgesProcessor.cpp @@ -20,12 +20,13 @@ void DeleteEdgesProcessor::process(const cpp2::DeleteEdgesRequest& req) { } if (indexes_.empty()) { - std::for_each(req.parts.begin(), req.parts.end(), [&](auto &partEdges) { - callingNum_ += partEdges.second.size(); + std::for_each(req.parts.begin(), req.parts.end(), [this](auto &partEdges) { + this->callingNum_ += partEdges.second.size(); }); - std::for_each(req.parts.begin(), req.parts.end(), [&](auto &partEdges) { + std::for_each(req.parts.begin(), req.parts.end(), [spaceId, this](auto &partEdges) { auto partId = partEdges.first; - std::for_each(partEdges.second.begin(), partEdges.second.end(), [&](auto &edgeKey) { + std::for_each(partEdges.second.begin(), partEdges.second.end(), + [spaceId, partId, this](auto &edgeKey) { auto start = NebulaKeyUtils::edgeKey(partId, edgeKey.src, edgeKey.edge_type, @@ -38,12 +39,12 @@ void DeleteEdgesProcessor::process(const cpp2::DeleteEdgesRequest& req) { edgeKey.ranking, edgeKey.dst, std::numeric_limits::max()); - doRemoveRange(spaceId, partId, start, end); + this->doRemoveRange(spaceId, partId, start, end); }); }); } else { callingNum_ = req.parts.size(); - std::for_each(req.parts.begin(), req.parts.end(), [&](auto &partEdges) { + std::for_each(req.parts.begin(), req.parts.end(), [spaceId, this](auto &partEdges) { auto partId = partEdges.first; auto atomic = [spaceId, partId, edges = std::move(partEdges.second), this]() -> std::string { diff --git a/src/storage/mutate/DeleteVerticesProcessor.cpp b/src/storage/mutate/DeleteVerticesProcessor.cpp index 87599a20e4a..39b51dcdf78 100644 --- a/src/storage/mutate/DeleteVerticesProcessor.cpp +++ b/src/storage/mutate/DeleteVerticesProcessor.cpp @@ -21,8 +21,8 @@ void DeleteVerticesProcessor::process(const cpp2::DeleteVerticesRequest& req) { } if (indexes_.empty()) { - std::for_each(partVertices.begin(), partVertices.end(), [&](auto& pv) { - callingNum_ += pv.second.size(); + std::for_each(partVertices.begin(), partVertices.end(), [this](auto& pv) { + this->callingNum_ += pv.second.size(); }); for (auto pv = partVertices.begin(); pv != partVertices.end(); pv++) { @@ -59,11 +59,10 @@ void DeleteVerticesProcessor::process(const cpp2::DeleteVerticesRequest& req) { } } else { callingNum_ = req.parts.size(); - std::for_each(req.parts.begin(), req.parts.end(), [&](auto &partVerticse) { - auto partId = partVerticse.first; - const auto &vertices = partVerticse.second; - auto atomic = [&]() -> std::string { - return deleteVertices(spaceId, partId, vertices); + std::for_each(req.parts.begin(), req.parts.end(), [spaceId, this](auto &pv) { + auto partId = pv.first; + auto atomic = [spaceId, partId, v = std::move(pv.second), this]() -> std::string { + return deleteVertices(spaceId, partId, v); }; auto callback = [spaceId, partId, this](kvstore::ResultCode code) {