You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by vi...@apache.org on 2012/06/25 13:02:20 UTC

svn commit: r1353457 - /incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java

Author: vinayakb
Date: Mon Jun 25 11:02:19 2012
New Revision: 1353457

URL: http://svn.apache.org/viewvc?rev=1353457&view=rev
Log:
Changed XQuery translator so that the result sequence is delivered unnested instead of as a single object

Modified:
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java?rev=1353457&r1=1353456&r2=1353457&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java Mon Jun 25 11:02:19 2012
@@ -623,10 +623,13 @@ public class XMLQueryTranslator {
         ASTNode queryBody = qbn.getExpression();
         TranslationContext tCtx = new TranslationContext(null, new EmptyTupleSourceOperator());
         LogicalVariable lVar = translateExpression(queryBody, tCtx);
+        LogicalVariable iLVar = newLogicalVariable();
+        UnnestOperator unnest = new UnnestOperator(iLVar, mutable(ufce(BuiltinOperators.ITERATE, vre(lVar))));
+        unnest.getInputs().add(mutable(tCtx.op));
         List<Mutable<ILogicalExpression>> exprs = new ArrayList<Mutable<ILogicalExpression>>();
-        exprs.add(mutable(vre(lVar)));
+        exprs.add(mutable(vre(iLVar)));
         WriteOperator op = new WriteOperator(exprs, new QueryResultDataSink(ccb.getResultFileSplits()));
-        op.getInputs().add(mutable(tCtx.op));
+        op.getInputs().add(mutable(unnest));
         ALogicalPlanImpl lp = new ALogicalPlanImpl(mutable(op));
 
         return lp;