From: <mrp...@us...> - 2011-01-13 20:53:43
|
Revision: 4089 http://bigdata.svn.sourceforge.net/bigdata/?rev=4089&view=rev Author: mrpersonick Date: 2011-01-13 20:53:37 +0000 (Thu, 13 Jan 2011) Log Message: ----------- added a slice op Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/sop/SOp2BOpUtility.java Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/sop/SOp2BOpUtility.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/sop/SOp2BOpUtility.java 2011-01-13 20:47:44 UTC (rev 4088) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/sop/SOp2BOpUtility.java 2011-01-13 20:53:37 UTC (rev 4089) @@ -50,6 +50,7 @@ import com.bigdata.bop.controller.SubqueryOp; import com.bigdata.bop.controller.Union; import com.bigdata.bop.engine.QueryEngine; +import com.bigdata.bop.solutions.SliceOp; import com.bigdata.rdf.sail.Rule2BOpUtility; import com.bigdata.rdf.sail.sop.SOpTree.SOpGroup; import com.bigdata.rdf.sail.sop.SOpTree.SOpGroups; @@ -165,14 +166,26 @@ final IRule rule = rule(join, conditionals); - final PipelineOp joinGroup = Rule2BOpUtility.convert( + PipelineOp left = Rule2BOpUtility.convert( rule, conditionals, idFactory, db, queryEngine, queryHints); + if (!left.getEvaluationContext().equals( + BOpEvaluationContext.CONTROLLER)) { + /* + * Wrap with an operator which will be evaluated on the query + * controller. + */ + left = new SliceOp(new BOp[] { left }, NV.asMap(// + new NV(BOp.Annotations.BOP_ID, idFactory + .incrementAndGet()), // + new NV(BOp.Annotations.EVALUATION_CONTEXT, + BOpEvaluationContext.CONTROLLER))); + } + /* * Start with left=<this join group> and add a SubqueryOp for each * sub group. */ - PipelineOp left = joinGroup; final SOpGroups children = join.getChildren(); if (children != null) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |