mirror of https://gitee.com/bigwinds/arangodb
added cancellation points
Conflicts: arangod/Aql/ExecutionBlock.cpp
This commit is contained in:
parent
f035ea1c3b
commit
dfb70d7d96
|
@ -3756,6 +3756,8 @@ AqlItemBlock* RemoveBlock::work (std::vector<AqlItemBlock*>& blocks) {
|
|||
for (auto it = blocks.begin(); it != blocks.end(); ++it) {
|
||||
auto res = (*it);
|
||||
auto document = res->getDocumentCollection(registerId);
|
||||
|
||||
throwIfKilled(); // check if we were aborted
|
||||
|
||||
size_t const n = res->size();
|
||||
|
||||
|
@ -3886,6 +3888,8 @@ AqlItemBlock* InsertBlock::work (std::vector<AqlItemBlock*>& blocks) {
|
|||
auto document = res->getDocumentCollection(registerId);
|
||||
size_t const n = res->size();
|
||||
|
||||
throwIfKilled(); // check if we were aborted
|
||||
|
||||
// loop over the complete block
|
||||
for (size_t i = 0; i < n; ++i) {
|
||||
AqlValue a = res->getValue(i, registerId);
|
||||
|
@ -4020,6 +4024,8 @@ AqlItemBlock* UpdateBlock::work (std::vector<AqlItemBlock*>& blocks) {
|
|||
auto document = res->getDocumentCollection(docRegisterId);
|
||||
decltype(document) keyDocument = nullptr;
|
||||
|
||||
throwIfKilled(); // check if we were aborted
|
||||
|
||||
if (hasKeyVariable) {
|
||||
keyDocument = res->getDocumentCollection(keyRegisterId);
|
||||
}
|
||||
|
@ -4193,6 +4199,8 @@ AqlItemBlock* ReplaceBlock::work (std::vector<AqlItemBlock*>& blocks) {
|
|||
if (hasKeyVariable) {
|
||||
keyDocument = res->getDocumentCollection(keyRegisterId);
|
||||
}
|
||||
|
||||
throwIfKilled(); // check if we were aborted
|
||||
|
||||
size_t const n = res->size();
|
||||
|
||||
|
|
Loading…
Reference in New Issue