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/05/27 03:23:22 UTC

[31/50] [abbrv] incubator-quickstep git commit: TextScan operator made partition-aware.

TextScan operator made partition-aware.


Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/71d843f3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/71d843f3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/71d843f3

Branch: refs/heads/partition_aware_hashjoin_with_optimizer_support
Commit: 71d843f39d659ecb2a7427b0507690408f659f0f
Parents: e70f9e1
Author: Adalbert Gerald Soosai Raj <ge...@cs.wisc.edu>
Authored: Mon May 23 15:29:10 2016 -0500
Committer: Adalbert Gerald Soosai Raj <ge...@cs.wisc.edu>
Committed: Mon May 23 15:29:10 2016 -0500

----------------------------------------------------------------------
 query_optimizer/ExecutionGenerator.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/71d843f3/query_optimizer/ExecutionGenerator.cpp
----------------------------------------------------------------------
diff --git a/query_optimizer/ExecutionGenerator.cpp b/query_optimizer/ExecutionGenerator.cpp
index c50fde6..e2bfd46 100644
--- a/query_optimizer/ExecutionGenerator.cpp
+++ b/query_optimizer/ExecutionGenerator.cpp
@@ -1042,10 +1042,16 @@ void ExecutionGenerator::convertCopyFrom(
       query_context_proto_->insert_destinations_size();
   S::InsertDestination *insert_destination_proto = query_context_proto_->add_insert_destinations();
 
-  insert_destination_proto->set_insert_destination_type(S::InsertDestinationType::BLOCK_POOL);
+  const PartitionScheme &partition_scheme = physical_plan->catalog_relation()->getPartitionScheme();
+  const NUMAPlacementScheme &placement_scheme = physical_plan->catalog_relation()->getNUMAPlacementScheme();
+  insert_destination_proto->set_insert_destination_type(S::InsertDestinationType::PARTITION_AWARE);
   insert_destination_proto->set_relation_id(output_relation->getID());
   insert_destination_proto->mutable_layout()->MergeFrom(
       output_relation->getDefaultStorageBlockLayout().getDescription());
+  insert_destination_proto->MutableExtension(S::PartitionAwareInsertDestination::partition_scheme)
+      ->MergeFrom(partition_scheme.getProto());
+  insert_destination_proto->MutableExtension(S::PartitionAwareInsertDestination::placement_scheme)
+      ->MergeFrom(placement_scheme.getProto());
 
   const vector<block_id> blocks(physical_plan->catalog_relation()->getBlocksSnapshot());
   for (const block_id block : blocks) {