You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by pr...@apache.org on 2015/07/16 21:32:10 UTC
vxquery git commit: Merge for Shivani's fis for query translation
expressions missing fn:data.
Repository: vxquery
Updated Branches:
refs/heads/master 3a2ff97d8 -> e85551f36
Merge for Shivani's fis for query translation expressions missing fn:data.
Project: http://git-wip-us.apache.org/repos/asf/vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/vxquery/commit/e85551f3
Tree: http://git-wip-us.apache.org/repos/asf/vxquery/tree/e85551f3
Diff: http://git-wip-us.apache.org/repos/asf/vxquery/diff/e85551f3
Branch: refs/heads/master
Commit: e85551f36d6f90796a10b70e395576bf4b8c1ce4
Parents: 3a2ff97
Author: Preston Carman <pr...@apache.org>
Authored: Thu Jul 16 12:32:27 2015 -0700
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Jul 16 12:32:27 2015 -0700
----------------------------------------------------------------------
.../vxquery/xmlquery/translator/XMLQueryTranslator.java | 9 +++++++--
.../test/resources/Queries/XQuery/Ghcnd/Partition-1/q01.xq | 2 +-
.../test/resources/Queries/XQuery/Ghcnd/Partition-2/q01.xq | 2 +-
.../test/resources/Queries/XQuery/Ghcnd/Partition-4/q01.xq | 2 +-
4 files changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/vxquery/blob/e85551f3/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java
index d684730..a8ffade 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java
@@ -161,6 +161,7 @@ import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalOperator;
import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalPlan;
import edu.uci.ics.hyracks.algebricks.core.algebra.base.LogicalExpressionTag;
import edu.uci.ics.hyracks.algebricks.core.algebra.base.LogicalVariable;
+import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.AbstractLogicalExpression;
import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.AggregateFunctionCallExpression;
import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.ConstantExpression;
import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.ScalarFunctionCallExpression;
@@ -1165,7 +1166,7 @@ public class XMLQueryTranslator {
}
default:
- content.add(vre(translateExpression(aVal, tCtx)));
+ content.add(data(vre(translateExpression(aVal, tCtx))));
}
}
ILogicalExpression contentExpr = content.size() == 1 ? content.get(0) : sfce(BuiltinOperators.CONCATENATE,
@@ -1969,6 +1970,10 @@ public class XMLQueryTranslator {
}
}
+ private ILogicalExpression data(ILogicalExpression expr) throws SystemException {
+ return new ScalarFunctionCallExpression(BuiltinFunctions.FN_DATA_1, Collections.singletonList(mutable(expr)));
+ }
+
private ILogicalExpression promote(ILogicalExpression expr, SequenceType type) throws SystemException {
int typeCode = currCtx.lookupSequenceType(type);
return sfce(BuiltinOperators.PROMOTE, expr,
@@ -1983,7 +1988,7 @@ public class XMLQueryTranslator {
private ILogicalExpression cast(ILogicalExpression expr, SequenceType type) throws SystemException {
int typeCode = currCtx.lookupSequenceType(type);
- return sfce(BuiltinOperators.CAST, expr,
+ return sfce(BuiltinOperators.CAST, data(expr),
ce(SequenceType.create(BuiltinTypeRegistry.XS_INT, Quantifier.QUANT_ONE), typeCode));
}
http://git-wip-us.apache.org/repos/asf/vxquery/blob/e85551f3/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-1/q01.xq
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-1/q01.xq b/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-1/q01.xq
index 0fed630..145c021 100644
--- a/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-1/q01.xq
+++ b/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-1/q01.xq
@@ -21,5 +21,5 @@
(: meters per second). (Wind value is in tenth of a meter per second) :)
let $collection := "ghcnd"
for $r in collection($collection)/dataCollection/data
-where $r/dataType eq "AWND" and xs:decimal(fn:data($r/value)) gt 491.744
+where $r/dataType eq "AWND" and xs:decimal($r/value) gt 491.744
return $r
http://git-wip-us.apache.org/repos/asf/vxquery/blob/e85551f3/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-2/q01.xq
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-2/q01.xq b/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-2/q01.xq
index bc62d73..6de4195 100644
--- a/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-2/q01.xq
+++ b/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-2/q01.xq
@@ -21,5 +21,5 @@
(: meters per second). (Wind value is in tenth of a meter per second) :)
let $collection := "ghcnd_half_1|ghcnd_half_2"
for $r in collection($collection)/dataCollection/data
-where $r/dataType eq "AWND" and xs:decimal(fn:data($r/value)) gt 491.744
+where $r/dataType eq "AWND" and xs:decimal($r/value) gt 491.744
return $r
http://git-wip-us.apache.org/repos/asf/vxquery/blob/e85551f3/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-4/q01.xq
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-4/q01.xq b/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-4/q01.xq
index 2de2690..7ea1c48 100644
--- a/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-4/q01.xq
+++ b/vxquery-xtest/src/test/resources/Queries/XQuery/Ghcnd/Partition-4/q01.xq
@@ -21,5 +21,5 @@
(: meters per second). (Wind value is in tenth of a meter per second) :)
let $collection := "ghcnd_quarter_1|ghcnd_quarter_2|ghcnd_quarter_3|ghcnd_quarter_4"
for $r in collection($collection)/dataCollection/data
-where $r/dataType eq "AWND" and xs:decimal(fn:data($r/value)) gt 491.744
+where $r/dataType eq "AWND" and xs:decimal($r/value) gt 491.744
return $r