diff --git a/arangod/Aql/ExecutionEngine.h b/arangod/Aql/ExecutionEngine.h index 821cc5acf1..059e724065 100644 --- a/arangod/Aql/ExecutionEngine.h +++ b/arangod/Aql/ExecutionEngine.h @@ -32,14 +32,13 @@ #include "Basics/Common.h" +#include "arangod/Aql/AqlItemBlock.h" +#include "arangod/Aql/ExecutionBlock.h" #include "Utils/AqlTransaction.h" namespace triagens { namespace aql { - class ExecutionBlock; - class ExecutionNode; - // ----------------------------------------------------------------------------- // --SECTION-- class ExecutionEngine // ----------------------------------------------------------------------------- @@ -73,7 +72,7 @@ namespace triagens { public: //////////////////////////////////////////////////////////////////////////////// -/// @brief create an execution engine from a plan +// @brief create an execution engine from a plan //////////////////////////////////////////////////////////////////////////////// static ExecutionEngine* instanciateFromPlan (AQL_TRANSACTION_V8*, @@ -96,6 +95,54 @@ namespace triagens { return _trx; } +//////////////////////////////////////////////////////////////////////////////// +/// @brief getSome +//////////////////////////////////////////////////////////////////////////////// + + AqlItemBlock* getSome (size_t atLeast, size_t atMost) { + return _root->getSome(atLeast, atMost); + } + +//////////////////////////////////////////////////////////////////////////////// +/// @brief getOne +//////////////////////////////////////////////////////////////////////////////// + + AqlItemBlock* getOne () { + return _root->getSome(1, 1); + } + +//////////////////////////////////////////////////////////////////////////////// +/// @brief skip +//////////////////////////////////////////////////////////////////////////////// + + bool skip (size_t number) { + return _root->skip(number); + } + +//////////////////////////////////////////////////////////////////////////////// +/// @brief hasMore +//////////////////////////////////////////////////////////////////////////////// + + bool hasMore () { + return _root->hasMore(); + } + +//////////////////////////////////////////////////////////////////////////////// +/// @brief count +//////////////////////////////////////////////////////////////////////////////// + + int64_t count () { + return _root->count(); + } + +//////////////////////////////////////////////////////////////////////////////// +/// @brief remaining +//////////////////////////////////////////////////////////////////////////////// + + int64_t remaining () { + return _root->remaining(); + } + //////////////////////////////////////////////////////////////////////////////// /// @brief add a block to the engine ////////////////////////////////////////////////////////////////////////////////