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 2017/01/11 01:01:03 UTC
[11/50] incubator-quickstep git commit: Removed StorageManager from
QueryProcessor.
Removed StorageManager from 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/9a005f36
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/9a005f36
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/9a005f36
Branch: refs/heads/quickstep_partition_parser_support
Commit: 9a005f36944de0eebd1bf764124fc7876e62d934
Parents: ea5f28b
Author: Zuyu Zhang <zu...@apache.org>
Authored: Mon Nov 14 21:09:28 2016 -0800
Committer: Harshad Deshmukh <hb...@apache.org>
Committed: Thu Nov 17 14:02:51 2016 -0600
----------------------------------------------------------------------
cli/CommandExecutor.cpp | 5 +++--
cli/QuickstepCli.cpp | 17 +++++++++--------
query_optimizer/CMakeLists.txt | 1 -
query_optimizer/QueryProcessor.hpp | 15 +--------------
4 files changed, 13 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/9a005f36/cli/CommandExecutor.cpp
----------------------------------------------------------------------
diff --git a/cli/CommandExecutor.cpp b/cli/CommandExecutor.cpp
index fea4b74..4ab32de 100644
--- a/cli/CommandExecutor.cpp
+++ b/cli/CommandExecutor.cpp
@@ -260,7 +260,7 @@ inline std::vector<TypedValue> executeQueryForSingleRow(
// Drop the result relation.
DropRelation::Drop(*query_result_relation,
query_processor->getDefaultDatabase(),
- query_processor->getStorageManager());
+ storage_manager);
return values;
}
@@ -292,10 +292,10 @@ void executeAnalyze(const PtrVector<ParseString> *arguments,
const tmb::client_id main_thread_client_id,
const tmb::client_id foreman_client_id,
MessageBus *bus,
+ StorageManager *storage_manager,
QueryProcessor *query_processor,
FILE *out) {
const CatalogDatabase &database = *query_processor->getDefaultDatabase();
- StorageManager *storage_manager = query_processor->getStorageManager();
std::unique_ptr<SqlParserWrapper> parser_wrapper(new SqlParserWrapper());
std::vector<std::reference_wrapper<const CatalogRelation>> relations;
@@ -396,6 +396,7 @@ void executeCommand(const ParseStatement &statement,
main_thread_client_id,
foreman_client_id,
bus,
+ storage_manager,
query_processor, out);
} else {
THROW_SQL_ERROR_AT(command.command()) << "Invalid Command";
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/9a005f36/cli/QuickstepCli.cpp
----------------------------------------------------------------------
diff --git a/cli/QuickstepCli.cpp b/cli/QuickstepCli.cpp
index 31d9834..31215f6 100644
--- a/cli/QuickstepCli.cpp
+++ b/cli/QuickstepCli.cpp
@@ -240,6 +240,7 @@ int main(int argc, char* argv[]) {
&& (fixed_storage_path.back() != quickstep::kPathSeparator)) {
fixed_storage_path.push_back(quickstep::kPathSeparator);
}
+ quickstep::StorageManager storage_manager(fixed_storage_path);
string catalog_path(fixed_storage_path);
catalog_path.append("catalog.pb.bin");
@@ -281,10 +282,10 @@ int main(int argc, char* argv[]) {
catalog_file.close();
}
- // Setup QueryProcessor, including CatalogDatabase and StorageManager.
+ // Setup QueryProcessor, including CatalogDatabase.
std::unique_ptr<QueryProcessor> query_processor;
try {
- query_processor.reset(new QueryProcessor(catalog_path, fixed_storage_path));
+ query_processor = std::make_unique<QueryProcessor>(catalog_path);
} catch (const std::exception &e) {
LOG(FATAL) << "FATAL ERROR DURING STARTUP: "
<< e.what()
@@ -308,7 +309,7 @@ int main(int argc, char* argv[]) {
printf("Preloading the buffer pool ... ");
fflush(stdout);
quickstep::PreloaderThread preloader(*query_processor->getDefaultDatabase(),
- query_processor->getStorageManager(),
+ &storage_manager,
worker_cpu_affinities.front());
preloader.start();
@@ -357,7 +358,7 @@ int main(int argc, char* argv[]) {
&worker_directory,
&bus,
query_processor->getDefaultDatabase(),
- query_processor->getStorageManager(),
+ &storage_manager,
-1, // Don't pin the Foreman thread.
num_numa_nodes_system,
quickstep::FLAGS_profile_and_report_workorder_perf || quickstep::FLAGS_visualize_execution_dag);
@@ -412,7 +413,7 @@ int main(int argc, char* argv[]) {
main_thread_client_id,
foreman.getBusClientID(),
&bus,
- query_processor->getStorageManager(),
+ &storage_manager,
query_processor.get(),
stdout);
} catch (const quickstep::SqlError &sql_error) {
@@ -458,16 +459,16 @@ int main(int argc, char* argv[]) {
const CatalogRelation *query_result_relation = query_handle->getQueryResultRelation();
if (query_result_relation) {
PrintToScreen::PrintRelation(*query_result_relation,
- query_processor->getStorageManager(),
+ &storage_manager,
stdout);
PrintToScreen::PrintOutputSize(
*query_result_relation,
- query_processor->getStorageManager(),
+ &storage_manager,
stdout);
DropRelation::Drop(*query_result_relation,
query_processor->getDefaultDatabase(),
- query_processor->getStorageManager());
+ &storage_manager);
}
query_processor->saveCatalog();
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/9a005f36/query_optimizer/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/query_optimizer/CMakeLists.txt b/query_optimizer/CMakeLists.txt
index 00d5163..10c52a1 100644
--- a/query_optimizer/CMakeLists.txt
+++ b/query_optimizer/CMakeLists.txt
@@ -234,7 +234,6 @@ target_link_libraries(quickstep_queryoptimizer_QueryProcessor
quickstep_catalog_Catalog_proto
quickstep_queryoptimizer_Optimizer
quickstep_queryoptimizer_OptimizerContext
- quickstep_storage_StorageManager
quickstep_utility_Macros)
target_link_libraries(quickstep_queryoptimizer_Validator
glog
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/9a005f36/query_optimizer/QueryProcessor.hpp
----------------------------------------------------------------------
diff --git a/query_optimizer/QueryProcessor.hpp b/query_optimizer/QueryProcessor.hpp
index 5d3818e..5e5c115 100644
--- a/query_optimizer/QueryProcessor.hpp
+++ b/query_optimizer/QueryProcessor.hpp
@@ -27,7 +27,6 @@
#include "catalog/Catalog.hpp"
#include "query_optimizer/Optimizer.hpp"
-#include "storage/StorageManager.hpp"
#include "utility/Macros.hpp"
namespace quickstep {
@@ -130,13 +129,9 @@ class QueryProcessor {
* @brief Constructor.
*
* @param catalog_filename The file to read the serialized catalog from.
- * @param storage_path The filesystem directory where blocks are stored on
- * disk.
**/
- QueryProcessor(const std::string &catalog_filename,
- const std::string &storage_path)
+ explicit QueryProcessor(const std::string &catalog_filename)
: catalog_filename_(catalog_filename),
- storage_manager_(std::make_unique<StorageManager>(storage_path)),
catalog_altered_(false),
query_id_(0) {
loadCatalog();
@@ -185,13 +180,6 @@ class QueryProcessor {
return catalog_->getDatabaseByNameMutable("default");
}
- /**
- * @brief Get the StorageManager held by this QueryProcessor.
- **/
- StorageManager* getStorageManager() const {
- return storage_manager_.get();
- }
-
private:
void loadCatalog(); // If it exists, free catalog_ before calling this
@@ -200,7 +188,6 @@ class QueryProcessor {
std::string catalog_filename_;
std::unique_ptr<Catalog> catalog_;
- std::unique_ptr<StorageManager> storage_manager_;
bool catalog_altered_;