You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by zu...@apache.org on 2016/08/12 16:06:27 UTC
[10/50] [abbrv] incubator-quickstep git commit: Refactored
QueryProcessor.
Refactored QueryProcessor.
Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/410d2b67
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/410d2b67
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/410d2b67
Branch: refs/heads/travis-grpc
Commit: 410d2b672d06ec2f4bed7a22fdd0075135157923
Parents: bf7646f
Author: Zuyu Zhang <zu...@twitter.com>
Authored: Thu Aug 4 14:19:38 2016 -0700
Committer: Zuyu Zhang <zu...@twitter.com>
Committed: Fri Aug 5 11:18:33 2016 -0700
----------------------------------------------------------------------
query_optimizer/QueryProcessor.cpp | 8 +++++---
query_optimizer/QueryProcessor.hpp | 8 +-------
2 files changed, 6 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/410d2b67/query_optimizer/QueryProcessor.cpp
----------------------------------------------------------------------
diff --git a/query_optimizer/QueryProcessor.cpp b/query_optimizer/QueryProcessor.cpp
index f3693a1..059e5f1 100644
--- a/query_optimizer/QueryProcessor.cpp
+++ b/query_optimizer/QueryProcessor.cpp
@@ -32,9 +32,11 @@ namespace quickstep {
void QueryProcessor::generateQueryHandle(const ParseStatement &statement,
QueryHandle *query_handle) {
- optimizer_->generateQueryHandle(statement, query_handle);
+ optimizer::Optimizer optimizer(getDefaultDatabase(), storage_manager_.get());
- if (optimizer_->isCatalogChanged() && !catalog_altered_) {
+ optimizer.generateQueryHandle(statement, query_handle);
+
+ if (optimizer.isCatalogChanged() && !catalog_altered_) {
catalog_altered_ = true;
}
@@ -66,7 +68,7 @@ void QueryProcessor::loadCatalog() {
throw CatalogNotProto(catalog_filename_);
}
catalog_file.close();
- catalog_.reset(new Catalog(catalog_proto));
+ catalog_ = std::make_unique<Catalog>(catalog_proto);
catalog_altered_ = false;
}
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/410d2b67/query_optimizer/QueryProcessor.hpp
----------------------------------------------------------------------
diff --git a/query_optimizer/QueryProcessor.hpp b/query_optimizer/QueryProcessor.hpp
index 43e462f..23a0189 100644
--- a/query_optimizer/QueryProcessor.hpp
+++ b/query_optimizer/QueryProcessor.hpp
@@ -26,7 +26,6 @@
#include <string>
#include "catalog/Catalog.hpp"
-#include "query_optimizer/Optimizer.hpp"
#include "storage/StorageManager.hpp"
#include "utility/Macros.hpp"
@@ -136,13 +135,10 @@ class QueryProcessor {
QueryProcessor(const std::string &catalog_filename,
const std::string &storage_path)
: catalog_filename_(catalog_filename),
+ storage_manager_(std::make_unique<StorageManager>(storage_path)),
catalog_altered_(false),
query_id_(0) {
loadCatalog();
- storage_manager_.reset(new StorageManager(storage_path));
-
- // Construct after Catalog loads and StorageManager initializes.
- optimizer_.reset(new optimizer::Optimizer(getDefaultDatabase(), storage_manager_.get()));
}
/**
@@ -203,8 +199,6 @@ class QueryProcessor {
std::unique_ptr<Catalog> catalog_;
std::unique_ptr<StorageManager> storage_manager_;
- std::unique_ptr<optimizer::Optimizer> optimizer_;
-
bool catalog_altered_;
std::size_t query_id_;