http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d0756e7e/storage/StorageBlock.hpp ---------------------------------------------------------------------- diff --git a/storage/StorageBlock.hpp b/storage/StorageBlock.hpp index 97b4773..8b59a3c 100644 --- a/storage/StorageBlock.hpp +++ b/storage/StorageBlock.hpp @@ -468,6 +468,14 @@ class StorageBlock : public StorageBlockBase { std::vector<std::unique_ptr<ColumnVector>> *reuse_group_by_vectors) const; + + void aggregateGroupByFast(const std::vector<std::vector<std::unique_ptr<const Scalar>>> &arguments, + const std::vector<std::unique_ptr<const Scalar>> &group_by, + const Predicate *predicate, + AggregationStateHashTableBase *hash_table, + std::unique_ptr<TupleIdSequence> *reuse_matches, + std::vector<std::unique_ptr<ColumnVector>> + *reuse_group_by_vectors) const; /** * @brief Inserts the GROUP BY expressions and aggregation arguments together * as keys into the distinctify hash table.
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d0756e7e/threading/SpinMutex.hpp ---------------------------------------------------------------------- diff --git a/threading/SpinMutex.hpp b/threading/SpinMutex.hpp index 5ed1405..106ef13 100644 --- a/threading/SpinMutex.hpp +++ b/threading/SpinMutex.hpp @@ -44,6 +44,8 @@ class SpinMutex { SpinMutex() : locked_(false) { } + explicit SpinMutex(uint8_t *ptr): locked_(*ptr) {} + /** * @note This call does NOT yield when contended. SpinMutex is intended * mainly for cases where locks are held briefly and it is better to