You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by ha...@apache.org on 2016/09/23 18:23:35 UTC
incubator-quickstep git commit: Intial commit for new branch
Repository: incubator-quickstep
Updated Branches:
refs/heads/regression [created] 0280a7eca
Intial commit for new branch
Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/0280a7ec
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/0280a7ec
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/0280a7ec
Branch: refs/heads/regression
Commit: 0280a7eca39c6828c6c39c92eeaa40b83423be8b
Parents: ac3512c
Author: Hakan Memisoglu <ha...@gmail.com>
Authored: Fri Sep 23 13:22:55 2016 -0500
Committer: Hakan Memisoglu <ha...@gmail.com>
Committed: Fri Sep 23 13:22:55 2016 -0500
----------------------------------------------------------------------
storage/CMakeLists.txt | 14 +++++++
storage/tests/SplitRowStoreRegression.cpp | 52 ++++++++++++++++++++++++++
2 files changed, 66 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/0280a7ec/storage/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/storage/CMakeLists.txt b/storage/CMakeLists.txt
index f05cc46..c619d31 100644
--- a/storage/CMakeLists.txt
+++ b/storage/CMakeLists.txt
@@ -1554,6 +1554,20 @@ target_link_libraries(EvictionPolicy_unittest
${LIBS})
add_test(EvictionPolicy_unittest EvictionPolicy_unittest)
+add_executable(SplitRowStoreRegression_unittest
+ "${CMAKE_CURRENT_SOURCE_DIR}/tests/SplitRowStoreRegression.cpp")
+target_link_libraries(SplitRowStoreRegression_unittest
+ gtest
+ gtest_main
+ quickstep_catalog_CatalogAttribute
+ quickstep_catalog_CatalogRelation
+ quickstep_storage_SplitRowStoreTupleStorageSubBlock
+ quickstep_storage_StorageBlockLayout_proto
+ quickstep_types_TypeFactory
+ quickstep_utility_ScopedBuffer
+ ${LIBS})
+add_test(SplitRowStoreRegression_unittest SplitRowStoreRegression_unittest)
+
if (QUICKSTEP_HAVE_FILE_MANAGER_HDFS)
add_executable(FileManagerHdfs_unittest
"${CMAKE_CURRENT_SOURCE_DIR}/tests/FileManagerHdfs_unittest.cpp")
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/0280a7ec/storage/tests/SplitRowStoreRegression.cpp
----------------------------------------------------------------------
diff --git a/storage/tests/SplitRowStoreRegression.cpp b/storage/tests/SplitRowStoreRegression.cpp
new file mode 100644
index 0000000..a21f9a8
--- /dev/null
+++ b/storage/tests/SplitRowStoreRegression.cpp
@@ -0,0 +1,52 @@
+#include <cstddef>
+#include <memory>
+
+#include "catalog/CatalogAttribute.hpp"
+#include "catalog/CatalogRelation.hpp"
+#include "storage/SplitRowStoreTupleStorageSubBlock.hpp"
+#include "storage/StorageBlockLayout.hpp"
+#include "storage/StorageBlockLayout.pb.h"
+#include "types/TypeFactory.hpp"
+#include "utility/ScopedBuffer.hpp"
+
+#include "gtest/gtest.h"
+
+namespace quickstep {
+
+class SplitRowStoreRegression : public ::testing::TestWithParam<std::size_t> {
+ protected:
+ static const size_t kSubBlockSize = 0x1000000; // 16 MB.
+
+ virtual void SetUp() {
+ relation_.reset(new CatalogRelation(nullptr, "RegressionRelation"));
+
+ std::size_t num_of_attributes = GetParam();
+ for (std::size_t i = 0; num_of_attributes; ++i) {
+ std::string name_of_attribute = "double_attr" + std::to_string(i);
+ CatalogAttribute *double_attr = new CatalogAttribute(relation_.get(),
+ name_of_attribute,
+ TypeFactory::GetType(kDouble, false));
+ ASSERT_EQ(i, relation_->addAttribute(double_attr));
+ }
+
+ tuple_store_description_.reset();
+ tuple_store_.reset();
+ tuple_store_memory_.reset();
+ }
+
+ std::unique_ptr<CatalogRelation> relation_;
+ ScopedBuffer tuple_store_memory_;
+ std::unique_ptr<TupleStorageSubBlockDescription> tuple_store_description_;
+ std::unique_ptr<SplitRowStoreTupleStorageSubBlock> tuple_store_;
+};
+
+TEST_P(SplitRowStoreRegression, StrideAccess) {
+ std::size_t param = GetParam();
+ ASSERT_LT(param, 10);
+}
+
+INSTANTIATE_TEST_CASE_P(SplitRowStoreRegressionStrideTest,
+ SplitRowStoreRegression,
+ ::testing::Values(1, 2, 4, 8, 16, 32, 64, 128, 256),);
+
+}