Repository: incubator-quickstep Updated Branches: refs/heads/lip-refactor-optimizer 03ca4cd36 -> 4f185888a
Style fixes Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/4f185888 Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/4f185888 Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/4f185888 Branch: refs/heads/lip-refactor-optimizer Commit: 4f185888a01664a53aad1610344db6b894fe141d Parents: 03ca4cd Author: Jianqiao Zhu <jianq...@cs.wisc.edu> Authored: Wed Oct 12 16:57:31 2016 -0500 Committer: Jianqiao Zhu <jianq...@cs.wisc.edu> Committed: Wed Oct 12 16:57:31 2016 -0500 ---------------------------------------------------------------------- query_optimizer/PhysicalGenerator.cpp | 6 ++++-- query_optimizer/rules/AttachLIPFilters.cpp | 3 ++- query_optimizer/rules/AttachLIPFilters.hpp | 12 ++++-------- query_optimizer/rules/CMakeLists.txt | 1 + .../rules/StarSchemaHashJoinOrderOptimization.cpp | 2 ++ utility/DisjointTreeForest.hpp | 3 ++- utility/tests/DisjointTreeForest_unittest.cpp | 1 + 7 files changed, 16 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/4f185888/query_optimizer/PhysicalGenerator.cpp ---------------------------------------------------------------------- diff --git a/query_optimizer/PhysicalGenerator.cpp b/query_optimizer/PhysicalGenerator.cpp index 8143d5c..8d15895 100644 --- a/query_optimizer/PhysicalGenerator.cpp +++ b/query_optimizer/PhysicalGenerator.cpp @@ -51,8 +51,10 @@ DEFINE_bool(reorder_hash_joins, true, "for queries on star-schema tables."); DEFINE_bool(use_lip_filters, false, - "If true, use LIP (lookahead information passing) filters to accelerate " - "hash joins."); + "If true, use LIP (Lookahead Information Passing) filters to accelerate " + "query processing. LIP filters are effective for queries on star schema " + "tables (e.g. the SSB benchmark) and snowflake schema tables (e.g. the " + "TPC-H benchmark)."); DEFINE_bool(visualize_plan, false, "If true, visualize the final physical plan into a graph in DOT format " http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/4f185888/query_optimizer/rules/AttachLIPFilters.cpp ---------------------------------------------------------------------- diff --git a/query_optimizer/rules/AttachLIPFilters.cpp b/query_optimizer/rules/AttachLIPFilters.cpp index 32fc3b7..5793d4c 100644 --- a/query_optimizer/rules/AttachLIPFilters.cpp +++ b/query_optimizer/rules/AttachLIPFilters.cpp @@ -21,6 +21,7 @@ #include <algorithm> #include <iterator> +#include <map> #include <memory> #include <set> #include <stack> @@ -248,4 +249,4 @@ const std::vector<AttachLIPFilters::LIPFilterInfoPtr>& AttachLIPFilters } } // namespace optimizer -} // namespace quickstep \ No newline at end of file +} // namespace quickstep http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/4f185888/query_optimizer/rules/AttachLIPFilters.hpp ---------------------------------------------------------------------- diff --git a/query_optimizer/rules/AttachLIPFilters.hpp b/query_optimizer/rules/AttachLIPFilters.hpp index 74cf885..f7d48ad 100644 --- a/query_optimizer/rules/AttachLIPFilters.hpp +++ b/query_optimizer/rules/AttachLIPFilters.hpp @@ -83,9 +83,7 @@ class AttachLIPFilters : public Rule<physical::Physical> { source_attribute( source_attribute_in == nullptr ? attribute_in - : source_attribute_in) { - - } + : source_attribute_in) {} static bool isBetterThan(const LIPFilterInfo &a, const LIPFilterInfo &b) { if (a.estimated_selectivity == b.estimated_selectivity) { @@ -109,19 +107,17 @@ class AttachLIPFilters : public Rule<physical::Physical> { * @brief Functional list data structure for internal use. */ struct NodeList { - NodeList(const physical::PhysicalPtr &node_in) + explicit NodeList(const physical::PhysicalPtr &node_in) : node(node_in), next(nullptr), - depth(0) { - } + depth(0) {} NodeList(const physical::PhysicalPtr &node_in, const NodeList *next_in, const int depth_in) : node(node_in), next(next_in), - depth(depth_in) { - } + depth(depth_in) {} inline const NodeList *cdr() const { return next; http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/4f185888/query_optimizer/rules/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/query_optimizer/rules/CMakeLists.txt b/query_optimizer/rules/CMakeLists.txt index 944bfd6..bb2dc16 100644 --- a/query_optimizer/rules/CMakeLists.txt +++ b/query_optimizer/rules/CMakeLists.txt @@ -138,6 +138,7 @@ target_link_libraries(quickstep_queryoptimizer_rules_StarSchemaHashJoinOrderOpti quickstep_queryoptimizer_expressions_NamedExpression quickstep_queryoptimizer_expressions_PatternMatcher quickstep_queryoptimizer_expressions_Predicate + quickstep_queryoptimizer_physical_Aggregate quickstep_queryoptimizer_physical_HashJoin quickstep_queryoptimizer_physical_PatternMatcher quickstep_queryoptimizer_physical_Physical http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/4f185888/query_optimizer/rules/StarSchemaHashJoinOrderOptimization.cpp ---------------------------------------------------------------------- diff --git a/query_optimizer/rules/StarSchemaHashJoinOrderOptimization.cpp b/query_optimizer/rules/StarSchemaHashJoinOrderOptimization.cpp index 2b5adbb..5906b98 100644 --- a/query_optimizer/rules/StarSchemaHashJoinOrderOptimization.cpp +++ b/query_optimizer/rules/StarSchemaHashJoinOrderOptimization.cpp @@ -19,6 +19,8 @@ #include "query_optimizer/rules/StarSchemaHashJoinOrderOptimization.hpp" +#include <algorithm> +#include <map> #include <memory> #include <set> #include <unordered_map> http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/4f185888/utility/DisjointTreeForest.hpp ---------------------------------------------------------------------- diff --git a/utility/DisjointTreeForest.hpp b/utility/DisjointTreeForest.hpp index ce9e23c..2ed6363 100644 --- a/utility/DisjointTreeForest.hpp +++ b/utility/DisjointTreeForest.hpp @@ -18,6 +18,7 @@ #ifndef QUICKSTEP_UTILITY_DISJOINT_TREE_FOREST_HPP_ #define QUICKSTEP_UTILITY_DISJOINT_TREE_FOREST_HPP_ +#include <algorithm> #include <cstddef> #include <limits> #include <utility> @@ -148,4 +149,4 @@ class DisjointTreeForest { } // namespace quickstep -#endif // QUICKSTEP_UTILITY_DISJOINT_TREE_FOREST_HPP_ \ No newline at end of file +#endif // QUICKSTEP_UTILITY_DISJOINT_TREE_FOREST_HPP_ http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/4f185888/utility/tests/DisjointTreeForest_unittest.cpp ---------------------------------------------------------------------- diff --git a/utility/tests/DisjointTreeForest_unittest.cpp b/utility/tests/DisjointTreeForest_unittest.cpp index f42ec40..2e12fad 100644 --- a/utility/tests/DisjointTreeForest_unittest.cpp +++ b/utility/tests/DisjointTreeForest_unittest.cpp @@ -21,6 +21,7 @@ #include <cstddef> #include <string> +#include <vector> #include "gtest/gtest.h"