You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by na...@apache.org on 2016/06/11 03:43:17 UTC

incubator-quickstep git commit: Avoid calling id_sequence_.size() repeatedly

Repository: incubator-quickstep
Updated Branches:
  refs/heads/fix_OrderedTupleIdSequenceAdapterValueAccessor [created] 28838a781


Avoid calling id_sequence_.size() repeatedly


Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/28838a78
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/28838a78
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/28838a78

Branch: refs/heads/fix_OrderedTupleIdSequenceAdapterValueAccessor
Commit: 28838a7819b156f1390177681eab41228a769313
Parents: fd75e17
Author: Navneet Potti <na...@gmail.com>
Authored: Fri Jun 10 22:41:30 2016 -0500
Committer: Navneet Potti <na...@gmail.com>
Committed: Fri Jun 10 22:41:30 2016 -0500

----------------------------------------------------------------------
 storage/ValueAccessor.hpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/28838a78/storage/ValueAccessor.hpp
----------------------------------------------------------------------
diff --git a/storage/ValueAccessor.hpp b/storage/ValueAccessor.hpp
index e2a898e..f772666 100644
--- a/storage/ValueAccessor.hpp
+++ b/storage/ValueAccessor.hpp
@@ -504,6 +504,7 @@ class OrderedTupleIdSequenceAdapterValueAccessor : public ValueAccessor {
       : accessor_(accessor),
         owned_accessor_(take_ownership_of_accessor ? accessor : nullptr),
         id_sequence_(id_sequence),
+        id_seqence_size_(id_sequence.size()),
         current_position_(std::numeric_limits<OrderedTupleIdSequence::size_type>::max()) {
     static_assert(std::numeric_limits<OrderedTupleIdSequence::size_type>::is_modulo,
                   "size_type does not support modulo overflow.");
@@ -529,12 +530,12 @@ class OrderedTupleIdSequenceAdapterValueAccessor : public ValueAccessor {
   }
 
   inline bool iterationFinished() const {
-    return current_position_ + 1 >= id_sequence_.size();
+    return current_position_ + 1 >= id_sequence_size_;
   }
 
   inline bool next() {
     ++current_position_;
-    return current_position_ != id_sequence_.size();
+    return current_position_ != id_sequence_size_;
   }
 
   inline void previous() {
@@ -551,7 +552,7 @@ class OrderedTupleIdSequenceAdapterValueAccessor : public ValueAccessor {
   }
 
   inline tuple_id getNumTuples() const {
-    return id_sequence_.size();
+    return id_sequence_size_;
   }
 
   template <bool check_null = true>
@@ -674,6 +675,7 @@ class OrderedTupleIdSequenceAdapterValueAccessor : public ValueAccessor {
   InternalValueAccessorType *accessor_;
   std::unique_ptr<InternalValueAccessorType> owned_accessor_;
   const OrderedTupleIdSequence &id_sequence_;
+  const std::size_t id_sequence_size_;
   OrderedTupleIdSequence::size_type current_position_;
 
   DISALLOW_COPY_AND_ASSIGN(OrderedTupleIdSequenceAdapterValueAccessor);