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)) &&