From ff07376fc91773592adfc62c16daa80cf7b610b1 Mon Sep 17 00:00:00 2001 From: Michael Hackstein Date: Fri, 19 Feb 2016 16:29:14 +0100 Subject: [PATCH] Added stubs to get an index iterator from an index with VPackSlices --- arangod/Indexes/HashIndex.cpp | 10 ++++++++++ arangod/Indexes/HashIndex.h | 5 +++++ arangod/Indexes/Index.h | 6 ++++++ 3 files changed, 21 insertions(+) diff --git a/arangod/Indexes/HashIndex.cpp b/arangod/Indexes/HashIndex.cpp index 1f1333350a..8074cb13ad 100644 --- a/arangod/Indexes/HashIndex.cpp +++ b/arangod/Indexes/HashIndex.cpp @@ -925,6 +925,16 @@ IndexIterator* HashIndex::iteratorForCondition( return new HashIndexIterator(trx, this, searchValues); } +//////////////////////////////////////////////////////////////////////////////// +/// @brief creates an IndexIterator for the given VelocyPackSlices +//////////////////////////////////////////////////////////////////////////////// + +IndexIterator* HashIndex::iteratorForSlices( + arangodb::Transaction* trx, IndexIteratorContext* context, + std::shared_ptr> slides, bool reverse) const { + return nullptr; +} + //////////////////////////////////////////////////////////////////////////////// /// @brief specializes the condition for use with the index //////////////////////////////////////////////////////////////////////////////// diff --git a/arangod/Indexes/HashIndex.h b/arangod/Indexes/HashIndex.h index 5659549300..10bc33d753 100644 --- a/arangod/Indexes/HashIndex.h +++ b/arangod/Indexes/HashIndex.h @@ -165,6 +165,11 @@ class HashIndex final : public PathBasedIndex { arangodb::aql::Variable const*, bool) const override; + IndexIterator* iteratorForSlices( + arangodb::Transaction*, IndexIteratorContext*, + std::shared_ptr>, + bool) const override; + arangodb::aql::AstNode* specializeCondition( arangodb::aql::AstNode*, arangodb::aql::Variable const*) const override; diff --git a/arangod/Indexes/Index.h b/arangod/Indexes/Index.h index 8cc1efcbee..5f38ed5d51 100644 --- a/arangod/Indexes/Index.h +++ b/arangod/Indexes/Index.h @@ -374,6 +374,12 @@ class Index { arangodb::aql::Variable const*, bool) const; + virtual IndexIterator* iteratorForSlices( + arangodb::Transaction*, IndexIteratorContext*, + std::shared_ptr>, bool) const { + THROW_ARANGO_EXCEPTION(TRI_ERROR_NOT_IMPLEMENTED); + } + virtual arangodb::aql::AstNode* specializeCondition( arangodb::aql::AstNode*, arangodb::aql::Variable const*) const;