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;