You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by hb...@apache.org on 2016/06/29 21:06:46 UTC
[17/19] incubator-quickstep git commit: AdmitRequest message function
accepts multiple queries.
AdmitRequest message function accepts multiple queries.
Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/76205bce
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/76205bce
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/76205bce
Branch: refs/heads/scheduler++
Commit: 76205bce29c2bc89b654356933baab9f0f874075
Parents: 4730b00
Author: Harshad Deshmukh <hb...@apache.org>
Authored: Tue Jun 28 15:10:51 2016 -0500
Committer: Harshad Deshmukh <hb...@apache.org>
Committed: Wed Jun 29 16:06:08 2016 -0500
----------------------------------------------------------------------
cli/CommandExecutor.cpp | 4 +++-
cli/QuickstepCli.cpp | 4 +++-
query_execution/AdmitRequestMessage.hpp | 5 +++--
query_execution/QueryExecutionUtil.hpp | 4 ++--
query_optimizer/tests/ExecutionGeneratorTestRunner.cpp | 4 +++-
5 files changed, 14 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/76205bce/cli/CommandExecutor.cpp
----------------------------------------------------------------------
diff --git a/cli/CommandExecutor.cpp b/cli/CommandExecutor.cpp
index 7083ef5..440a30f 100644
--- a/cli/CommandExecutor.cpp
+++ b/cli/CommandExecutor.cpp
@@ -216,9 +216,11 @@ inline TypedValue executeQueryForSingleResult(
query_processor->generateQueryHandle(*result.parsed_statement));
DCHECK(query_handle->getQueryPlanMutable() != nullptr);
+ std::vector<QueryHandle*> query_handles;
+ query_handles.push_back(query_handle.get());
// Use foreman to execute the query plan.
QueryExecutionUtil::ConstructAndSendAdmitRequestMessage(
- main_thread_client_id, foreman_client_id, query_handle.get(), bus);
+ main_thread_client_id, foreman_client_id, &query_handles, bus);
QueryExecutionUtil::ReceiveQueryCompletionMessage(main_thread_client_id, bus);
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/76205bce/cli/QuickstepCli.cpp
----------------------------------------------------------------------
diff --git a/cli/QuickstepCli.cpp b/cli/QuickstepCli.cpp
index 3f99130..d7b687e 100644
--- a/cli/QuickstepCli.cpp
+++ b/cli/QuickstepCli.cpp
@@ -434,11 +434,13 @@ int main(int argc, char* argv[]) {
}
DCHECK(query_handle->getQueryPlanMutable() != nullptr);
+ std::vector<QueryHandle*> query_handles;
+ query_handles.push_back(query_handle.get());
start = std::chrono::steady_clock::now();
QueryExecutionUtil::ConstructAndSendAdmitRequestMessage(
main_thread_client_id,
foreman.getBusClientID(),
- query_handle.get(),
+ &query_handles,
&bus);
try {
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/76205bce/query_execution/AdmitRequestMessage.hpp
----------------------------------------------------------------------
diff --git a/query_execution/AdmitRequestMessage.hpp b/query_execution/AdmitRequestMessage.hpp
index e33b354..0aefcbf 100644
--- a/query_execution/AdmitRequestMessage.hpp
+++ b/query_execution/AdmitRequestMessage.hpp
@@ -41,8 +41,9 @@ class AdmitRequestMessage {
* @param query_handles The handles of the queries requesting to be admitted
* to the system.
**/
- explicit AdmitRequestMessage(const std::vector<QueryHandle*> &query_handles)
- : query_handles_(query_handles) {}
+ explicit AdmitRequestMessage(std::vector<QueryHandle*> *query_handles)
+ : query_handles_(*DCHECK_NOTNULL(query_handles)) {
+ }
/**
* @brief Constructor for requesting single query admission.
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/76205bce/query_execution/QueryExecutionUtil.hpp
----------------------------------------------------------------------
diff --git a/query_execution/QueryExecutionUtil.hpp b/query_execution/QueryExecutionUtil.hpp
index 6ea4a29..2b95f1f 100644
--- a/query_execution/QueryExecutionUtil.hpp
+++ b/query_execution/QueryExecutionUtil.hpp
@@ -74,7 +74,7 @@ class QueryExecutionUtil {
*
* @param sender_id The TMB client ID of the sender.
* @param receiver_id The TMB client ID of the receiver.
- * @param query_handle The QueryHandle used in the AdmitRequestMessage.
+ * @param query_handle The QueryHandles used in the AdmitRequestMessage.
* @param bus A pointer to the TMB.
* @param tagged_message A moved from reference to the tagged message.
*
@@ -84,7 +84,7 @@ class QueryExecutionUtil {
static tmb::MessageBus::SendStatus ConstructAndSendAdmitRequestMessage(
const tmb::client_id sender_id,
const tmb::client_id receiver_id,
- QueryHandle *query_handle,
+ std::vector<QueryHandle*> *query_handle,
MessageBus *bus) {
std::unique_ptr<AdmitRequestMessage> request_message(
new AdmitRequestMessage(query_handle));
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/76205bce/query_optimizer/tests/ExecutionGeneratorTestRunner.cpp
----------------------------------------------------------------------
diff --git a/query_optimizer/tests/ExecutionGeneratorTestRunner.cpp b/query_optimizer/tests/ExecutionGeneratorTestRunner.cpp
index 8c1d306..92baf19 100644
--- a/query_optimizer/tests/ExecutionGeneratorTestRunner.cpp
+++ b/query_optimizer/tests/ExecutionGeneratorTestRunner.cpp
@@ -96,10 +96,12 @@ void ExecutionGeneratorTestRunner::runTestCase(
logical_generator.generatePlan(*result.parsed_statement));
execution_generator.generatePlan(physical_plan);
+ std::vector<QueryHandle*> query_handles;
+ query_handles.push_back(&query_handle);
QueryExecutionUtil::ConstructAndSendAdmitRequestMessage(
main_thread_client_id_,
foreman_->getBusClientID(),
- &query_handle,
+ &query_handles,
&bus_);
QueryExecutionUtil::ReceiveQueryCompletionMessage(