Fixed cyclic dependencies. Removed Aggregation unit test. Other minor changes.


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

Branch: refs/heads/partitioned-aggregation
Commit: 93746998b06902c5d293e5abafd5d5f589b59773
Parents: 1b7f098
Author: rathijit <rathi...@node-2.aggregation.quickstep-pg0.wisc.cloudlab.us>
Authored: Sun Aug 14 02:59:40 2016 -0500
Committer: Harshad Deshmukh <hbdeshm...@apache.org>
Committed: Fri Sep 9 10:50:25 2016 -0500

----------------------------------------------------------------------
 expressions/aggregation/CMakeLists.txt    |  2 +-
 storage/CMakeLists.txt                    |  2 --
 storage/FastHashTable.hpp                 |  4 +---
 storage/FastSeparateChainingHashTable.hpp |  3 ---
 storage/HashTable.hpp                     | 10 ----------
 storage/HashTableBase.hpp                 | 18 +++++++++++++++++-
 storage/StorageBlock.cpp                  | 10 ++++------
 7 files changed, 23 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/93746998/expressions/aggregation/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/expressions/aggregation/CMakeLists.txt 
b/expressions/aggregation/CMakeLists.txt
index 98222df..9de6833 100644
--- a/expressions/aggregation/CMakeLists.txt
+++ b/expressions/aggregation/CMakeLists.txt
@@ -321,4 +321,4 @@ target_link_libraries(AggregationHandle_tests
                       quickstep_types_operations_comparisons_Comparison
                       quickstep_types_operations_comparisons_ComparisonFactory
                       quickstep_types_operations_comparisons_ComparisonID)
-add_test(AggregationHandle_tests AggregationHandle_tests)
+#add_test(AggregationHandle_tests AggregationHandle_tests)

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/93746998/storage/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/storage/CMakeLists.txt b/storage/CMakeLists.txt
index 79a5b87..f05cc46 100644
--- a/storage/CMakeLists.txt
+++ b/storage/CMakeLists.txt
@@ -631,7 +631,6 @@ target_link_libraries(quickstep_storage_EvictionPolicy
                       quickstep_utility_Macros)
 target_link_libraries(quickstep_storage_FastHashTable
                       quickstep_catalog_CatalogTypedefs
-                      quickstep_storage_HashTable
                       quickstep_storage_HashTableBase
                       quickstep_storage_StorageBlob
                       quickstep_storage_StorageBlockInfo
@@ -968,7 +967,6 @@ target_link_libraries(quickstep_storage_StorageBlock
                       
quickstep_storage_CompressedColumnStoreTupleStorageSubBlock
                       
quickstep_storage_CompressedPackedRowStoreTupleStorageSubBlock
                       quickstep_storage_CountedReference
-                      quickstep_storage_FastHashTable
                       quickstep_storage_HashTableBase
                       quickstep_storage_IndexSubBlock
                       quickstep_storage_InsertDestinationInterface

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/93746998/storage/FastHashTable.hpp
----------------------------------------------------------------------
diff --git a/storage/FastHashTable.hpp b/storage/FastHashTable.hpp
index cba039a..e7887ab 100644
--- a/storage/FastHashTable.hpp
+++ b/storage/FastHashTable.hpp
@@ -42,7 +42,6 @@
 #include "utility/BloomFilter.hpp"
 #include "utility/HashPair.hpp"
 #include "utility/Macros.hpp"
-#include "storage/HashTable.hpp"
 
 namespace quickstep {
 
@@ -561,7 +560,7 @@ class FastHashTable : public HashTableBase<resizable,
       const std::vector<std::vector<attribute_id>> &argument,
       ValueAccessor *accessor,
       const std::vector<attribute_id> &key_attr_ids,
-      const bool check_for_null_keys);
+      const bool check_for_null_keys) override;
 
   /**
    * @brief Determine the number of entries (key-value pairs) contained in this
@@ -1322,7 +1321,6 @@ class FastHashTable : public HashTableBase<resizable,
   // Used only when resizable is false:
   void *hash_table_memory_;
   const std::size_t hash_table_memory_size_;
-virtual size_t get_buckets_allocated() const {return 0;}
 
  private:
   // Assign '*key_vector' with the attribute values specified by 'key_attr_ids'

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/93746998/storage/FastSeparateChainingHashTable.hpp
----------------------------------------------------------------------
diff --git a/storage/FastSeparateChainingHashTable.hpp 
b/storage/FastSeparateChainingHashTable.hpp
index 756d6e5..49cea5b 100644
--- a/storage/FastSeparateChainingHashTable.hpp
+++ b/storage/FastSeparateChainingHashTable.hpp
@@ -170,9 +170,6 @@ class FastSeparateChainingHashTable : public 
FastHashTable<resizable,
   bool preallocateForBulkInsert(const std::size_t total_entries,
                                 const std::size_t total_variable_key_size,
                                 HashTablePreallocationState *prealloc_state) 
override;
-
-  size_t get_buckets_allocated() const override {return 
header_->buckets_allocated;}
-
  private:
   struct Header {
     std::size_t num_slots;

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/93746998/storage/HashTable.hpp
----------------------------------------------------------------------
diff --git a/storage/HashTable.hpp b/storage/HashTable.hpp
index 9fa41a2..f2dcb03 100644
--- a/storage/HashTable.hpp
+++ b/storage/HashTable.hpp
@@ -49,16 +49,6 @@ namespace quickstep {
  */
 
 /**
- * @brief Codes which indicate the result of a call to put() or
- *        putCompositeKey().
- **/
-enum class HashTablePutResult {
-  kOK = 0,
-  kDuplicateKey,
-  kOutOfSpace
-};
-
-/**
  * @brief Base class for hash table.
  *
  * This class is templated so that the core hash-table logic can be reused in

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/93746998/storage/HashTableBase.hpp
----------------------------------------------------------------------
diff --git a/storage/HashTableBase.hpp b/storage/HashTableBase.hpp
index 7eadae9..5526164 100644
--- a/storage/HashTableBase.hpp
+++ b/storage/HashTableBase.hpp
@@ -21,8 +21,10 @@
 #define QUICKSTEP_STORAGE_HASH_TABLE_BASE_HPP_
 
 #include <cstddef>
+#include <vector>
 
 #include "utility/Macros.hpp"
+#include "ValueAccessor.hpp"
 
 namespace quickstep {
 
@@ -52,6 +54,16 @@ struct HashTablePreallocationState {
 };
 
 /**
+ * @brief Codes which indicate the result of a call to put() or
+ *        putCompositeKey().
+ **/
+enum class HashTablePutResult {
+  kOK = 0,
+  kDuplicateKey,
+  kOutOfSpace
+};
+
+/**
  * @brief An ultra-minimal base class that HashTables with different ValueT
  *        parameters inherit from. This allows for a bit more type-safety than
  *        just passing around void* pointers (although casting will still be
@@ -66,7 +78,11 @@ class HashTableBase {
  public:
   virtual ~HashTableBase() {
   }
-virtual size_t get_buckets_allocated() const {return 0;}
+  virtual bool upsertValueAccessorCompositeKeyFast(
+      const std::vector<std::vector<attribute_id>> &argument,
+      ValueAccessor *accessor,
+      const std::vector<attribute_id> &key_attr_ids,
+      const bool check_for_null_keys) {return false;}
  protected:
   HashTableBase() {
   }

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/93746998/storage/StorageBlock.cpp
----------------------------------------------------------------------
diff --git a/storage/StorageBlock.cpp b/storage/StorageBlock.cpp
index 50732fd..8ff18b5 100644
--- a/storage/StorageBlock.cpp
+++ b/storage/StorageBlock.cpp
@@ -38,7 +38,6 @@
 #include "storage/CompressedPackedRowStoreTupleStorageSubBlock.hpp"
 #include "storage/CountedReference.hpp"
 #include "storage/HashTableBase.hpp"
-#include "storage/FastHashTable.hpp"
 #include "storage/IndexSubBlock.hpp"
 #include "storage/InsertDestinationInterface.hpp"
 #include "storage/PackedRowStoreTupleStorageSubBlock.hpp"
@@ -573,11 +572,10 @@ void StorageBlock::aggregateGroupByFast(
      }
   }
 
-  static_cast<AggregationStateFastHashTable 
*>(hash_table)->upsertValueAccessorCompositeKeyFast(
-      argument_ids,
-      &temp_result,
-      key_ids,
-      true);
+  hash_table->upsertValueAccessorCompositeKeyFast(argument_ids,
+                                                  &temp_result,
+                                                  key_ids,
+                                                  true);
 }
 
 

Reply via email to