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/06/28 20:30:43 UTC
[02/11] vxquery git commit: rewrite rule and test implemented to fix
fn:doc
rewrite rule and test implemented to fix fn:doc
Project: http://git-wip-us.apache.org/repos/asf/vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/vxquery/commit/911bc5b1
Tree: http://git-wip-us.apache.org/repos/asf/vxquery/tree/911bc5b1
Diff: http://git-wip-us.apache.org/repos/asf/vxquery/diff/911bc5b1
Branch: refs/heads/master
Commit: 911bc5b113f372292e66becd513b5fcadabd8291
Parents: 3e62dbe
Author: Shivani Mall <sm...@ucr.edu>
Authored: Mon Jun 22 15:17:21 2015 -0700
Committer: Shivani Mall <sm...@ucr.edu>
Committed: Mon Jun 22 15:17:21 2015 -0700
----------------------------------------------------------------------
.../rules/ConvertDocExpressionToFile.java | 13 ++-------
.../metadata/VXQueryMetadataProvider.java | 6 ++++-
.../ExpectedTestResults/Simple/fn_doc.xml | 1 +
.../resources/Queries/XQuery/Simple/fn_doc.xq | 19 +++++++++++++
.../src/test/resources/VXQueryCatalog.xml | 18 ++++++-------
.../FunctionsAndOperatorsOnNumericsQueries.xml | 2 +-
...nctionsAndOperatorsThatGenerateSequences.xml | 28 ++++++++++++++++++++
.../resources/cat/GhcndPartition2Queries.xml | 2 +-
.../test/resources/cat/SingleAlternateQuery.xml | 2 +-
.../src/test/resources/cat/SingleQuery.xml | 2 +-
.../test/resources/cat/XMarkOriginalQueries.xml | 2 +-
11 files changed, 68 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/vxquery/blob/911bc5b1/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertDocExpressionToFile.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertDocExpressionToFile.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertDocExpressionToFile.java
index c64157f..7cf9616 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertDocExpressionToFile.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertDocExpressionToFile.java
@@ -92,14 +92,8 @@ public class ConvertDocExpressionToFile implements IAlgebraicRewriteRule {
public boolean rewritePost(Mutable<ILogicalOperator> opRef, IOptimizationContext context)
throws AlgebricksException {
boolean modified = false;
- //returns the list of expressions inside the operator.
List<Mutable<ILogicalExpression>> expressions = OperatorToolbox.getExpressions(opRef);
- //for each expression we go in
for (Mutable<ILogicalExpression> expression : expressions) {
- //checks if the expression is a function call
- //checks if the function call is fn_doc1
- //returns the first expression contained in it only!
- //what is a function has multiple arguments that is multiple expressions
Mutable<ILogicalExpression> docExpression = ExpressionToolbox.findFirstFunctionExpression(expression,
BuiltinFunctions.FN_DOC_1.getFunctionIdentifier());
if (docExpression != null) {
@@ -112,9 +106,6 @@ public class ConvertDocExpressionToFile implements IAlgebraicRewriteRule {
return modified;
}
- //side note: I only see nested arguments, not multiple expressions in most cases.//
- //Expressions == arguments ??
-
protected boolean ifDocExpressionFound(Mutable<ILogicalOperator> opRef, Mutable<ILogicalExpression> funcExpression,
IOptimizationContext context) {
VXQueryConstantValue constantValue = null;
@@ -159,10 +150,10 @@ public class ConvertDocExpressionToFile implements IAlgebraicRewriteRule {
e.printStackTrace();
}
VXQueryMetadataProvider mdp = (VXQueryMetadataProvider) context.getMetadataProvider();
- if (!mdp.sourceFileMap.containsKey(collectionName)) {
+ if (!mdp.getSourceFileMap().containsKey(collectionName)) {
return false;
}
- File file = mdp.sourceFileMap.get(collectionName);
+ File file = mdp.getSourceFileMap().get(collectionName);
StringValueBuilder svb = new StringValueBuilder();
try {
abvs.reset();
http://git-wip-us.apache.org/repos/asf/vxquery/blob/911bc5b1/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryMetadataProvider.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryMetadataProvider.java b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryMetadataProvider.java
index b0e4594..b2ab17c 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryMetadataProvider.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryMetadataProvider.java
@@ -53,7 +53,7 @@ import edu.uci.ics.hyracks.dataflow.std.result.ResultWriterOperatorDescriptor;
public class VXQueryMetadataProvider implements IMetadataProvider<String, String> {
String[] nodeList;
- public Map<String, File> sourceFileMap;
+ Map<String, File> sourceFileMap;
public VXQueryMetadataProvider(String[] nodeList, Map<String, File> sourceFileMap) {
this.nodeList = nodeList;
@@ -65,6 +65,10 @@ public class VXQueryMetadataProvider implements IMetadataProvider<String, String
return null;
}
+ public Map<String, File> getSourceFileMap() {
+ return sourceFileMap;
+ }
+
@Override
public Pair<IOperatorDescriptor, AlgebricksPartitionConstraint> getScannerRuntime(IDataSource<String> dataSource,
List<LogicalVariable> scanVariables, List<LogicalVariable> projectVariables, boolean projectPushed,
http://git-wip-us.apache.org/repos/asf/vxquery/blob/911bc5b1/vxquery-xtest/src/test/resources/ExpectedTestResults/Simple/fn_doc.xml
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/ExpectedTestResults/Simple/fn_doc.xml b/vxquery-xtest/src/test/resources/ExpectedTestResults/Simple/fn_doc.xml
new file mode 100644
index 0000000..169a175
--- /dev/null
+++ b/vxquery-xtest/src/test/resources/ExpectedTestResults/Simple/fn_doc.xml
@@ -0,0 +1 @@
+<stationCollection pageSize="100"pageCount="1"totalCount="1"><station><id>GHCND:US000000001</id><displayName>Station 1</displayName><latitude>10.000</latitude><longitude>-10.000</longitude><elevation>1000.0</elevation><locationLabels><type>ST</type><id>FIPS:1</id><displayName>State 1</displayName></locationLabels><locationLabels><type>CNTY</type><id>FIPS:-9999</id><displayName>County 1</displayName></locationLabels><locationLabels><type>CNTRY</type><id>FIPS:US</id><displayName>UNITED STATES</displayName></locationLabels></station></stationCollection>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/vxquery/blob/911bc5b1/vxquery-xtest/src/test/resources/Queries/XQuery/Simple/fn_doc.xq
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/Queries/XQuery/Simple/fn_doc.xq b/vxquery-xtest/src/test/resources/Queries/XQuery/Simple/fn_doc.xq
new file mode 100644
index 0000000..bce856c
--- /dev/null
+++ b/vxquery-xtest/src/test/resources/Queries/XQuery/Simple/fn_doc.xq
@@ -0,0 +1,19 @@
+(: Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License. :)
+
+ doc("station_xml_file")/stationCollection
+
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/vxquery/blob/911bc5b1/vxquery-xtest/src/test/resources/VXQueryCatalog.xml
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/VXQueryCatalog.xml b/vxquery-xtest/src/test/resources/VXQueryCatalog.xml
index 5b9b234..aa4953d 100644
--- a/vxquery-xtest/src/test/resources/VXQueryCatalog.xml
+++ b/vxquery-xtest/src/test/resources/VXQueryCatalog.xml
@@ -23,6 +23,7 @@
<!ENTITY AggregatePartition4Queries SYSTEM "cat/AggregatePartition4Queries.xml">
<!ENTITY FunctionsAndOperatorsOnNumericsQueries SYSTEM "cat/FunctionsAndOperatorsOnNumericsQueries.xml">
+<!ENTITY FunctionsAndOperatorsThatGenerateSequences SYSTEM "cat/FunctionsAndOperatorsThatGenerateSequences.xml">
<!ENTITY GhcndPartition1Queries SYSTEM "cat/GhcndPartition1Queries.xml">
<!ENTITY GhcndPartition2Queries SYSTEM "cat/GhcndPartition2Queries.xml">
@@ -39,10 +40,6 @@
<!ENTITY SingleQuery SYSTEM "cat/SingleQuery.xml">
<!ENTITY SingleAlternateQuery SYSTEM "cat/SingleAlternateQuery.xml">
-<!ENTITY TestRewriteRules SYSTEM "cat/TestRewriteRules.xml">
-
-
-
]>
<test-suite xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -108,12 +105,6 @@
</GroupInfo>
&SingleAlternateQuery;
</test-group>
- <test-group name="DocRewriteRuleTest" featureOwner="Shiavni Mall">
- <GroupInfo>
- <title>Doc Rewrite Rule Test</title>
- </GroupInfo>
- &TestRewriteRules;
- </test-group>
</test-group>
<test-group name="AggregatePartitionQueries" featureOwner="Preston Carman">
<GroupInfo>
@@ -143,6 +134,13 @@
&FunctionsAndOperatorsOnNumericsQueries;
</test-group>
</test-group>
+ <test-group name="FunctionsAndOperatorsThatGenerateSequences" featureOwner="Shiavni Mall">
+ <GroupInfo>
+ <title>Functions and Operators that Generate Sequences</title>
+ <description/>
+ </GroupInfo>
+ &FunctionsAndOperatorsThatGenerateSequences;
+ </test-group>
<test-group name="GhcndPartitionQueries" featureOwner="Preston Carman">
<GroupInfo>
<title>GHCND Partition Queries</title>
http://git-wip-us.apache.org/repos/asf/vxquery/blob/911bc5b1/vxquery-xtest/src/test/resources/cat/FunctionsAndOperatorsOnNumericsQueries.xml
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/cat/FunctionsAndOperatorsOnNumericsQueries.xml b/vxquery-xtest/src/test/resources/cat/FunctionsAndOperatorsOnNumericsQueries.xml
index aacc9ea..52a1e69 100644
--- a/vxquery-xtest/src/test/resources/cat/FunctionsAndOperatorsOnNumericsQueries.xml
+++ b/vxquery-xtest/src/test/resources/cat/FunctionsAndOperatorsOnNumericsQueries.xml
@@ -15,7 +15,7 @@
limitations under the License.
-->
-<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="GhcndRecordsPartition1Queries" featureOwner="VXQuery">
+<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="FunctionsAndOperatorsOnNumericQueries" featureOwner="VXQuery">
<GroupInfo>
<title>Function and Operators on Numerics</title>
<description/>
http://git-wip-us.apache.org/repos/asf/vxquery/blob/911bc5b1/vxquery-xtest/src/test/resources/cat/FunctionsAndOperatorsThatGenerateSequences.xml
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/cat/FunctionsAndOperatorsThatGenerateSequences.xml b/vxquery-xtest/src/test/resources/cat/FunctionsAndOperatorsThatGenerateSequences.xml
new file mode 100644
index 0000000..2b52f15
--- /dev/null
+++ b/vxquery-xtest/src/test/resources/cat/FunctionsAndOperatorsThatGenerateSequences.xml
@@ -0,0 +1,28 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="FunctionsAndOperatorsThatGenerateSequences" featureOwner="VXQuery">
+ <GroupInfo>
+ <title>Functions and Operators that Generate Sequences</title>
+ </GroupInfo>
+ <test-case name="functions-and-operators-that-generate-sequences-fn_doc" FilePath="Simple/" Creator="Shivani Mall">
+ <description>Query for fn:doc with uri.</description>
+ <query name="fn_doc" date="2015-06-19"/>
+ <output-file compare="Text">fn_doc.xml</output-file>
+ </test-case>
+</test-group>
+
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/vxquery/blob/911bc5b1/vxquery-xtest/src/test/resources/cat/GhcndPartition2Queries.xml
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/cat/GhcndPartition2Queries.xml b/vxquery-xtest/src/test/resources/cat/GhcndPartition2Queries.xml
index 73c01e1..1075183 100644
--- a/vxquery-xtest/src/test/resources/cat/GhcndPartition2Queries.xml
+++ b/vxquery-xtest/src/test/resources/cat/GhcndPartition2Queries.xml
@@ -15,7 +15,7 @@
limitations under the License.
-->
-<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="GhcndPartition1Queries" featureOwner="VXQuery">
+<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="GhcndPartition2Queries" featureOwner="VXQuery">
<GroupInfo>
<title>GHCND Partition 1</title>
<description/>
http://git-wip-us.apache.org/repos/asf/vxquery/blob/911bc5b1/vxquery-xtest/src/test/resources/cat/SingleAlternateQuery.xml
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/cat/SingleAlternateQuery.xml b/vxquery-xtest/src/test/resources/cat/SingleAlternateQuery.xml
index ea444d8..bba230c 100644
--- a/vxquery-xtest/src/test/resources/cat/SingleAlternateQuery.xml
+++ b/vxquery-xtest/src/test/resources/cat/SingleAlternateQuery.xml
@@ -15,7 +15,7 @@
limitations under the License.
-->
-<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="AggregatePartition1Queries" featureOwner="VXQuery">
+<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="SingleAlternateQuery" featureOwner="VXQuery">
<GroupInfo>
<title>Single Test</title>
<description/>
http://git-wip-us.apache.org/repos/asf/vxquery/blob/911bc5b1/vxquery-xtest/src/test/resources/cat/SingleQuery.xml
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/cat/SingleQuery.xml b/vxquery-xtest/src/test/resources/cat/SingleQuery.xml
index add4fab..42ab548 100644
--- a/vxquery-xtest/src/test/resources/cat/SingleQuery.xml
+++ b/vxquery-xtest/src/test/resources/cat/SingleQuery.xml
@@ -13,7 +13,7 @@
limitations under the License.
-->
-<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="AggregatePartition1Queries" featureOwner="VXQuery">
+<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="SingleQuery" featureOwner="VXQuery">
<GroupInfo>
<title>Single Test</title>
<description/>
http://git-wip-us.apache.org/repos/asf/vxquery/blob/911bc5b1/vxquery-xtest/src/test/resources/cat/XMarkOriginalQueries.xml
----------------------------------------------------------------------
diff --git a/vxquery-xtest/src/test/resources/cat/XMarkOriginalQueries.xml b/vxquery-xtest/src/test/resources/cat/XMarkOriginalQueries.xml
index 3ebe301..87a57d1 100644
--- a/vxquery-xtest/src/test/resources/cat/XMarkOriginalQueries.xml
+++ b/vxquery-xtest/src/test/resources/cat/XMarkOriginalQueries.xml
@@ -15,7 +15,7 @@
limitations under the License.
-->
-<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="XMarkQueries" featureOwner="VXQuery">
+<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="XMarkOriginalQueries" featureOwner="VXQuery">
<GroupInfo>
<title>XMark Queries</title>
<description/>