You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by ji...@apache.org on 2016/10/22 05:27:40 UTC
incubator-quickstep git commit: WorkOrderFactory updates
Repository: incubator-quickstep
Updated Branches:
refs/heads/lip-refactor-backend 7cfbecee2 -> 2829dffd7
WorkOrderFactory updates
Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/2829dffd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/2829dffd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/2829dffd
Branch: refs/heads/lip-refactor-backend
Commit: 2829dffd7e3168f7f9a39be312c379ee970d4f8d
Parents: 7cfbece
Author: Jianqiao Zhu <ji...@cs.wisc.edu>
Authored: Sat Oct 22 00:27:36 2016 -0500
Committer: Jianqiao Zhu <ji...@cs.wisc.edu>
Committed: Sat Oct 22 00:27:36 2016 -0500
----------------------------------------------------------------------
relational_operators/WorkOrderFactory.cpp | 46 +++++++++++++++++++++++++-
1 file changed, 45 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/2829dffd/relational_operators/WorkOrderFactory.cpp
----------------------------------------------------------------------
diff --git a/relational_operators/WorkOrderFactory.cpp b/relational_operators/WorkOrderFactory.cpp
index 462fa04..8283128 100644
--- a/relational_operators/WorkOrderFactory.cpp
+++ b/relational_operators/WorkOrderFactory.cpp
@@ -208,7 +208,7 @@ WorkOrder* WorkOrderFactory::ReconstructFromProto(const serialization::WorkOrder
proto.GetExtension(serialization::HashJoinWorkOrder::insert_destination_index));
LIPFilterAdaptiveProber *lip_filter_adaptive_prober =
CreateLIPFilterAdaptiveProberHelper(
- proto.GetExtension(serialization::HashJoinWorkOrder::lip_deployment_index), query_context));
+ proto.GetExtension(serialization::HashJoinWorkOrder::lip_deployment_index), query_context);
switch (hash_join_work_order_type) {
case serialization::HashJoinWorkOrder::HASH_ANTI_JOIN: {
@@ -473,6 +473,17 @@ bool WorkOrderFactory::ProtoIsValid(const serialization::WorkOrder &proto,
switch (proto.work_order_type()) {
case serialization::AGGREGATION: {
+ if (!proto.HasExtension(serialization::AggregationWorkOrder::lip_deployment_index)) {
+ return false;
+ } else {
+ const QueryContext::lip_deployment_id lip_deployment_index =
+ proto.GetExtension(serialization::AggregationWorkOrder::lip_deployment_index);
+ if (lip_deloyment_index != QueryContext::kInvalidLIPDeploymentId &&
+ !query_context.isValidLIPDeploymentId(lip_deployment_index)) {
+ return false;
+ }
+ }
+
return proto.HasExtension(serialization::AggregationWorkOrder::block_id) &&
proto.HasExtension(serialization::AggregationWorkOrder::aggr_state_index) &&
query_context.isValidAggregationStateId(
@@ -496,6 +507,17 @@ bool WorkOrderFactory::ProtoIsValid(const serialization::WorkOrder &proto,
}
}
+ if (!proto.HasExtension(serialization::BuildHashWorkOrder::lip_deployment_index)) {
+ return false;
+ } else {
+ const QueryContext::lip_deployment_id lip_deployment_index =
+ proto.GetExtension(serialization::BuildHashWorkOrder::lip_deployment_index);
+ if (lip_deloyment_index != QueryContext::kInvalidLIPDeploymentId &&
+ !query_context.isValidLIPDeploymentId(lip_deployment_index)) {
+ return false;
+ }
+ }
+
return proto.HasExtension(serialization::BuildHashWorkOrder::any_join_key_attributes_nullable) &&
proto.HasExtension(serialization::BuildHashWorkOrder::block_id) &&
proto.HasExtension(serialization::BuildHashWorkOrder::join_hash_table_index) &&
@@ -580,6 +602,17 @@ bool WorkOrderFactory::ProtoIsValid(const serialization::WorkOrder &proto,
proto.GetExtension(serialization::HashJoinWorkOrder::residual_predicate_index))) {
return false;
}
+
+ if (!proto.HasExtension(serialization::HashJoinWorkOrder::lip_deployment_index)) {
+ return false;
+ } else {
+ const QueryContext::lip_deployment_id lip_deployment_index =
+ proto.GetExtension(serialization::HashJoinWorkOrder::lip_deployment_index);
+ if (lip_deloyment_index != QueryContext::kInvalidLIPDeploymentId &&
+ !query_context.isValidLIPDeploymentId(lip_deployment_index)) {
+ return false;
+ }
+ }
}
return proto.HasExtension(serialization::HashJoinWorkOrder::any_join_key_attributes_nullable) &&
@@ -669,6 +702,17 @@ bool WorkOrderFactory::ProtoIsValid(const serialization::WorkOrder &proto,
return false;
}
+ if (!proto.HasExtension(serialization::SelectWorkOrder::lip_deployment_index)) {
+ return false;
+ } else {
+ const QueryContext::lip_deployment_id lip_deployment_index =
+ proto.GetExtension(serialization::SelectWorkOrder::lip_deployment_index);
+ if (lip_deloyment_index != QueryContext::kInvalidLIPDeploymentId &&
+ !query_context.isValidLIPDeploymentId(lip_deployment_index)) {
+ return false;
+ }
+ }
+
return proto.HasExtension(serialization::SelectWorkOrder::insert_destination_index) &&
query_context.isValidInsertDestinationId(
proto.GetExtension(serialization::SelectWorkOrder::insert_destination_index)) &&