Shivani's changes for different issues I have been working on (Q14, Q19 and desc-self).
Project: http://git-wip-us.apache.org/repos/asf/vxquery/repo Commit: http://git-wip-us.apache.org/repos/asf/vxquery/commit/3e40e5a7 Tree: http://git-wip-us.apache.org/repos/asf/vxquery/tree/3e40e5a7 Diff: http://git-wip-us.apache.org/repos/asf/vxquery/diff/3e40e5a7 Branch: refs/heads/site Commit: 3e40e5a712e1edfb244d1f9b67961f947fcbe8c6 Parents: d94c51f Author: Preston Carman <[email protected]> Authored: Mon Aug 10 16:13:21 2015 -0700 Committer: Preston Carman <[email protected]> Committed: Mon Aug 10 16:13:21 2015 -0700 ---------------------------------------------------------------------- .../compiler/rewriter/RewriteRuleset.java | 3 + .../rules/ConsolidateDescandantChild.java | 104 +++++++++++++++++++ .../vxquery/context/StaticContextImpl.java | 5 +- .../step/DescendantOrSelfPathStepUnnesting.java | 33 ++++-- .../strings/FnStringScalarEvaluatorFactory.java | 14 ++- .../vxquery/xmlparser/SAXContentHandler.java | 20 +++- .../xmlquery/translator/XMLQueryTranslator.java | 17 ++- .../XQuery/XMark/Original/simple_query1.xq | 22 ---- .../XQuery/XMark/Original/simple_query2.xq | 22 ---- .../src/test/resources/XMarkCatalog.xml | 13 --- .../test/resources/cat/XMarkOriginalQueries.xml | 10 -- 11 files changed, 180 insertions(+), 83 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/vxquery/blob/3e40e5a7/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/RewriteRuleset.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/RewriteRuleset.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/RewriteRuleset.java index 687164e..7b55856 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/RewriteRuleset.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/RewriteRuleset.java @@ -19,6 +19,7 @@ package org.apache.vxquery.compiler.rewriter; import java.util.LinkedList; import java.util.List; +import org.apache.vxquery.compiler.rewriter.rules.ConsolidateDescandantChild; import org.apache.vxquery.compiler.rewriter.rules.ConsolidateAssignAggregateRule; import org.apache.vxquery.compiler.rewriter.rules.ConvertAssignToUnnestRule; import org.apache.vxquery.compiler.rewriter.rules.ReplaceSourceMapInDocExpression; @@ -118,6 +119,8 @@ public class RewriteRuleset { normalization.add(new IntroduceCollectionRule()); normalization.add(new RemoveUnusedAssignAndAggregateRule()); + normalization.add(new ConsolidateDescandantChild()); + normalization.add(new ReplaceSourceMapInDocExpression()); // Adds child steps to the data source scan. // TODO Replace consolidate with a new child function that takes multiple paths. http://git-wip-us.apache.org/repos/asf/vxquery/blob/3e40e5a7/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConsolidateDescandantChild.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConsolidateDescandantChild.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConsolidateDescandantChild.java new file mode 100644 index 0000000..a83b952 --- /dev/null +++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConsolidateDescandantChild.java @@ -0,0 +1,104 @@ +package org.apache.vxquery.compiler.rewriter.rules; + +import java.util.List; + +import org.apache.commons.lang3.mutable.Mutable; +import org.apache.vxquery.compiler.rewriter.rules.util.ExpressionToolbox; +import org.apache.vxquery.compiler.rewriter.rules.util.OperatorToolbox; +import org.apache.vxquery.functions.BuiltinOperators; + +import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException; +import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalExpression; +import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalOperator; +import edu.uci.ics.hyracks.algebricks.core.algebra.base.IOptimizationContext; +import edu.uci.ics.hyracks.algebricks.core.algebra.base.LogicalExpressionTag; +import edu.uci.ics.hyracks.algebricks.core.algebra.base.LogicalOperatorTag; +import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression; +import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.VariableReferenceExpression; +import edu.uci.ics.hyracks.algebricks.core.algebra.operators.logical.AbstractUnnestOperator; +import edu.uci.ics.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule; + +/** + * The rule searches for assign operator with an aggregate function expression + * immediately following an aggregate operator with a sequence expression. + * XQuery aggregate functions are implemented in both scalar (one XDM Instance + * input as a sequence) and iterative (a stream of XDM Instances each one is + * single object). + * + * <pre> + * Before + * + * plan__parent + * UNNEST( $v3 : fn:child( args[$v1], args[$filter] ) ) + * UNNEST( $v1 : fn:descandant( args[$v0] ) ) + * plan__child + * + * After + * + * plan__parent + * UNNEST( $v3 : fn:descandant( args[$v0], args[$filter] ) ) + * plan__child + * + * + * </pre> + * + * @author shivanimall + */ + +public class ConsolidateDescandantChild implements IAlgebraicRewriteRule { + + @Override + public boolean rewritePre(Mutable<ILogicalOperator> opRef, IOptimizationContext context) throws AlgebricksException { + return false; + } + + @Override + public boolean rewritePost(Mutable<ILogicalOperator> opRef, IOptimizationContext context) + throws AlgebricksException { + + ILogicalOperator lo = opRef.getValue(); + if (!(lo.getOperatorTag().equals(LogicalOperatorTag.UNNEST))) { + return false; + } + AbstractUnnestOperator auo = (AbstractUnnestOperator) lo; + Mutable<ILogicalExpression> childExpression = ExpressionToolbox.findFirstFunctionExpression( + auo.getExpressionRef(), BuiltinOperators.CHILD.getFunctionIdentifier()); + if (childExpression == null) { + return false; + } + AbstractFunctionCallExpression childFnCall = (AbstractFunctionCallExpression) childExpression.getValue(); + List<Mutable<ILogicalExpression>> list = (List<Mutable<ILogicalExpression>>) childFnCall.getArguments(); + Mutable<ILogicalExpression> mle = (Mutable<ILogicalExpression>) (list).get(0); + ILogicalExpression le = mle.getValue(); + if (!(le.getExpressionTag().equals(LogicalExpressionTag.VARIABLE))) { + return false; + } + VariableReferenceExpression varLogicalExpression = (VariableReferenceExpression) le; + Mutable<ILogicalOperator> lop = OperatorToolbox.findProducerOf(opRef, + varLogicalExpression.getVariableReference()); + ILogicalOperator lop1 = lop.getValue(); + if (!(lop1.getOperatorTag().equals(LogicalOperatorTag.UNNEST))) { + return false; + } + if (OperatorToolbox.getExpressionOf(lop, varLogicalExpression.getVariableReference()) == null) { + return false; + } + ILogicalExpression variableLogicalExpression = (ILogicalExpression) OperatorToolbox.getExpressionOf(lop, + varLogicalExpression.getVariableReference()).getValue(); + if (!(variableLogicalExpression.getExpressionTag().equals(LogicalExpressionTag.FUNCTION_CALL))) { + return false; + } + AbstractFunctionCallExpression afce = (AbstractFunctionCallExpression) variableLogicalExpression; + if (!(afce.getFunctionIdentifier().equals(BuiltinOperators.DESCENDANT_OR_SELF.getFunctionIdentifier()))) { + return false; + } + //All conditions have been met. + childFnCall.setFunctionInfo(BuiltinOperators.DESCENDANT_OR_SELF); + childFnCall.getArguments().get(0).setValue(afce.getArguments().get(0).getValue()); + ILogicalOperator lo1 = opRef.getValue(); + Mutable<ILogicalOperator> mlistOfLo = lo1.getInputs().get(0).getValue().getInputs().get(0); + ILogicalOperator ilo = (ILogicalOperator) mlistOfLo.getValue(); + lo.getInputs().get(0).setValue((ILogicalOperator) ilo); + return true; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/vxquery/blob/3e40e5a7/vxquery-core/src/main/java/org/apache/vxquery/context/StaticContextImpl.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/context/StaticContextImpl.java b/vxquery-core/src/main/java/org/apache/vxquery/context/StaticContextImpl.java index d244595..09cfaff 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/context/StaticContextImpl.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/context/StaticContextImpl.java @@ -379,10 +379,7 @@ public class StaticContextImpl implements StaticContext { sequenceTypeList.add(type); return code; } - if (sequenceTypeMap.containsKey(type)) { - return sequenceTypeMap.get(type); - } - return -1; + return code; } List<SequenceType> getSequenceTypeList() { http://git-wip-us.apache.org/repos/asf/vxquery/blob/3e40e5a7/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/DescendantOrSelfPathStepUnnesting.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/DescendantOrSelfPathStepUnnesting.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/DescendantOrSelfPathStepUnnesting.java index 090655b..d03e441 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/DescendantOrSelfPathStepUnnesting.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/DescendantOrSelfPathStepUnnesting.java @@ -26,10 +26,13 @@ import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; import org.apache.vxquery.datamodel.values.ValueTag; import org.apache.vxquery.exceptions.ErrorCode; import org.apache.vxquery.exceptions.SystemException; +import org.apache.vxquery.runtime.functions.step.NodeTestFilter.INodeFilter; +import org.apache.vxquery.types.SequenceType; import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException; import edu.uci.ics.hyracks.api.context.IHyracksTaskContext; import edu.uci.ics.hyracks.data.std.api.IPointable; +import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable; public class DescendantOrSelfPathStepUnnesting extends AbstractForwardAxisPathStep { private boolean testSelf; @@ -39,10 +42,14 @@ public class DescendantOrSelfPathStepUnnesting extends AbstractForwardAxisPathSt private List<Integer> indexSequence = new ArrayList<Integer>(); private List<Integer> returnSequence = new ArrayList<Integer>(); + private final IntegerPointable ip = (IntegerPointable) IntegerPointable.FACTORY.createPointable(); private final SequencePointable seqNtp = (SequencePointable) SequencePointable.FACTORY.createPointable(); private final TaggedValuePointable tvpItem = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); private final TaggedValuePointable tvpNtp = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); private final TaggedValuePointable tvpStep = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); + private INodeFilter filter; + private int filterLookupID = -1; + private boolean isfilter = false; public DescendantOrSelfPathStepUnnesting(IHyracksTaskContext ctx, PointablePool pp, boolean testSelf) { super(ctx, pp); @@ -55,6 +62,18 @@ public class DescendantOrSelfPathStepUnnesting extends AbstractForwardAxisPathSt indexSequence.add(0); returnSequence.add(0); + if (args.length > 1) { + isfilter = true; + if (args[1].getTag() != ValueTag.XS_INT_TAG) { + throw new IllegalArgumentException("Expected int value tag, got: " + args[1].getTag()); + } + args[1].getValue(ip); + if (ip.getInteger() != filterLookupID) { + filterLookupID = ip.getInteger(); + SequenceType sType = dCtx.getStaticContext().lookupSequenceType(ip.getInteger()); + filter = NodeTestFilter.getNodeTestFilter(sType); + } + } // Check the argument passed in as sequence or node tree. if (args[0].getTag() == ValueTag.SEQUENCE_TAG) { args[0].getValue(seqNtp); @@ -99,14 +118,15 @@ public class DescendantOrSelfPathStepUnnesting extends AbstractForwardAxisPathSt returnSelf = false; tvpItem.set(rootTVP); try { - setNodeToResult(tvpItem, result); - return true; + if (!isfilter || (isfilter && filter.accept(ntp, tvpItem))) { + setNodeToResult(tvpItem, result); + return true; + } } catch (IOException e) { String description = ErrorCode.SYSE0001 + ": " + ErrorCode.SYSE0001.getDescription(); throw new AlgebricksException(description); } } - // Solve for descendants. return stepNodeTree(rootTVP, 0, result); } @@ -132,12 +152,13 @@ public class DescendantOrSelfPathStepUnnesting extends AbstractForwardAxisPathSt while (indexSequence.get(level) < seqLength) { // Get the next item seqItem.getEntry(indexSequence.get(level), tvpItem); - // Check current node if (indexSequence.get(level) == returnSequence.get(level)) { returnSequence.set(level, returnSequence.get(level) + 1); - setNodeToResult(tvpItem, result); - return true; + if (!isfilter || (isfilter && filter.accept(ntp, tvpItem))) { + setNodeToResult(tvpItem, result); + return true; + } } // Check children nodes if (level + 1 <= indexSequence.size()) { http://git-wip-us.apache.org/repos/asf/vxquery/blob/3e40e5a7/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/FnStringScalarEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/FnStringScalarEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/FnStringScalarEvaluatorFactory.java index d248502..fa929da 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/FnStringScalarEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/FnStringScalarEvaluatorFactory.java @@ -28,12 +28,14 @@ import org.apache.vxquery.exceptions.SystemException; import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluator; import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluatorFactory; import org.apache.vxquery.runtime.functions.cast.CastToStringOperation; +import org.apache.vxquery.runtime.functions.util.AtomizeHelper; import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException; import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluator; import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; import edu.uci.ics.hyracks.api.context.IHyracksTaskContext; import edu.uci.ics.hyracks.data.std.api.IPointable; +import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable; import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage; public class FnStringScalarEvaluatorFactory extends AbstractTaggedValueArgumentScalarEvaluatorFactory { @@ -50,6 +52,9 @@ public class FnStringScalarEvaluatorFactory extends AbstractTaggedValueArgumentS final DataOutput dOut = abvs.getDataOutput(); final CastToStringOperation castToString = new CastToStringOperation(); final TypedPointables tp = new TypedPointables(); + final AtomizeHelper ah = new AtomizeHelper(); + final UTF8StringPointable stringNode = (UTF8StringPointable) UTF8StringPointable.FACTORY.createPointable(); + final TaggedValuePointable tvpNode = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); return new AbstractTaggedValueArgumentScalarEvaluator(args) { @Override @@ -57,6 +62,7 @@ public class FnStringScalarEvaluatorFactory extends AbstractTaggedValueArgumentS TaggedValuePointable tvp1 = args[0]; try { abvs.reset(); + switch (tvp1.getTag()) { case ValueTag.XS_ANY_URI_TAG: tvp1.getValue(tp.utf8sp); @@ -182,11 +188,15 @@ public class FnStringScalarEvaluatorFactory extends AbstractTaggedValueArgumentS XDMConstants.setEmptyString(result); return; } - // Pass through if not empty sequence. + case ValueTag.NODE_TREE_TAG: + ah.atomize(tvp1, ppool, tvpNode); + tvpNode.getValue(stringNode); + castToString.convertUntypedAtomic(stringNode, dOut); + break; + // Pass through if not empty sequence. default: throw new SystemException(ErrorCode.XPDY0002); } - result.set(abvs); } catch (IOException e) { throw new SystemException(ErrorCode.SYSE0001, e); http://git-wip-us.apache.org/repos/asf/vxquery/blob/3e40e5a7/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java index 296d062..323b608 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java @@ -282,12 +282,23 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler { } } + /** + * The filter settings here are similar to one in the class linked below. + * + * @see org.apache.vxquery.runtime.functions.step.NodeTestFilter.java + */ private boolean startElementChildPathStep(String uri, String localName) { if (subElement != null && depth <= subElement.length) { // Check path step if it exists. - if (uri.compareTo(childUri[depth - 1]) == 0) { - if (localName.compareTo(childLocalName[depth - 1]) == 0) { - subElement[depth - 1] = true; + subElement[depth - 1] = true; + if (uri != null) { + if (childUri[depth - 1] != null && uri.compareTo(childUri[depth - 1]) != 0) { + subElement[depth - 1] = false; + } + } + if (localName != null) { + if (childLocalName[depth - 1] != null && localName.compareTo(childLocalName[depth - 1]) != 0) { + subElement[depth - 1] = false; } } } @@ -535,6 +546,9 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler { } private String getStringFromBytes(byte[] bytes) { + if (bytes == null) { + return null; + } StringBuilder sb = new StringBuilder(); UTF8StringPointable.toString(sb, bytes, 0); return sb.toString(); http://git-wip-us.apache.org/repos/asf/vxquery/blob/3e40e5a7/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 a8ffade..2507d6c 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,7 +161,6 @@ 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; @@ -1446,8 +1445,23 @@ public class XMLQueryTranslator { for (RelativePathExprNode rpen : pe.getPaths()) { boolean asc = true; if (PathType.SLASH_SLASH.equals(rpen.getPathType())) { + tCtx = tCtx.pushContext(); + tCtx.pushVariableScope(); + iterateOver(ctxExpr, tCtx); + ctxExpr = vre(tCtx.varScope.lookupVariable(XMLQueryCompilerConstants.DOT_VAR_NAME) + .getLogicalVariable()); ctxExpr = sfce(BuiltinOperators.DESCENDANT_OR_SELF, treat(ctxExpr, SequenceType.create(AnyNodeType.INSTANCE, Quantifier.QUANT_STAR))); + List<LogicalVariable> vars = new ArrayList<LogicalVariable>(); + List<Mutable<ILogicalExpression>> exprs = new ArrayList<Mutable<ILogicalExpression>>(); + LogicalVariable var = newLogicalVariable(); + vars.add(var); + exprs.add(mutable(afce(BuiltinOperators.SEQUENCE, false, ctxExpr))); + AggregateOperator aop = new AggregateOperator(vars, exprs); + aop.getInputs().add(mutable(tCtx.op)); + tCtx.op = aop; + tCtx = tCtx.popContext(); + ctxExpr = vre(var); } boolean popScope = false; if (ctxExpr != null) { @@ -1484,6 +1498,7 @@ public class XMLQueryTranslator { throw new IllegalStateException("Unknown path node: " + pathNode.getTag()); } if (predicates != null && !predicates.isEmpty()) { + ctxExpr = vre(createAssignment(ctxExpr, tCtx)); ctxExpr = sfce(asc ? BuiltinOperators.SORT_DISTINCT_NODES_ASC_OR_ATOMICS : BuiltinOperators.SORT_DISTINCT_NODES_DESC_OR_ATOMICS, ctxExpr); for (ASTNode pn : predicates) { http://git-wip-us.apache.org/repos/asf/vxquery/blob/3e40e5a7/vxquery-xtest/src/test/resources/Queries/XQuery/XMark/Original/simple_query1.xq ---------------------------------------------------------------------- diff --git a/vxquery-xtest/src/test/resources/Queries/XQuery/XMark/Original/simple_query1.xq b/vxquery-xtest/src/test/resources/Queries/XQuery/XMark/Original/simple_query1.xq deleted file mode 100644 index 4938f64..0000000 --- a/vxquery-xtest/src/test/resources/Queries/XQuery/XMark/Original/simple_query1.xq +++ /dev/null @@ -1,22 +0,0 @@ -(: 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. :) - -(: XMark Query see README.md for full details. :) - -let $test := "auction_data" -for $x in ($test) -return $x \ No newline at end of file http://git-wip-us.apache.org/repos/asf/vxquery/blob/3e40e5a7/vxquery-xtest/src/test/resources/Queries/XQuery/XMark/Original/simple_query2.xq ---------------------------------------------------------------------- diff --git a/vxquery-xtest/src/test/resources/Queries/XQuery/XMark/Original/simple_query2.xq b/vxquery-xtest/src/test/resources/Queries/XQuery/XMark/Original/simple_query2.xq deleted file mode 100644 index 4bd3ab8..0000000 --- a/vxquery-xtest/src/test/resources/Queries/XQuery/XMark/Original/simple_query2.xq +++ /dev/null @@ -1,22 +0,0 @@ -(: 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. :) - -(: XMark Query see README.md for full details. :) - -let $test := "auction_data" -for $b in doc($test)/site/catgraph -return $b http://git-wip-us.apache.org/repos/asf/vxquery/blob/3e40e5a7/vxquery-xtest/src/test/resources/XMarkCatalog.xml ---------------------------------------------------------------------- diff --git a/vxquery-xtest/src/test/resources/XMarkCatalog.xml b/vxquery-xtest/src/test/resources/XMarkCatalog.xml index c3829a0..11e9a92 100644 --- a/vxquery-xtest/src/test/resources/XMarkCatalog.xml +++ b/vxquery-xtest/src/test/resources/XMarkCatalog.xml @@ -45,19 +45,6 @@ <source ID="auction_data" FileName="TestSources/XMark/SingleFile/auction.xml" Creator="Shivani Mall"> <description last-mod="2015-03-25">Collection of files</description> </source> - <test-group name="SingleQuery" featureOwner="Preston Carman"> - <GroupInfo> - <title>Single Query</title> - <description/> - </GroupInfo> - <test-group name="SingleTest" featureOwner="Preston Carman"> - <GroupInfo> - <title>Single Test</title> - <description/> - </GroupInfo> - &SingleQuery; - </test-group> - </test-group> <test-group name="XMarkQueries" featureOwner="Shivani Mall"> <GroupInfo> <title>XMark Queries</title> http://git-wip-us.apache.org/repos/asf/vxquery/blob/3e40e5a7/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 87a57d1..8fdcf51 100644 --- a/vxquery-xtest/src/test/resources/cat/XMarkOriginalQueries.xml +++ b/vxquery-xtest/src/test/resources/cat/XMarkOriginalQueries.xml @@ -120,14 +120,4 @@ <query name="q20" date="2015-03-25"/> <output-file compare="Text">q20.txt</output-file> </test-case> - <test-case name="Simple-Query-1" FilePath="XMark/Original/" Creator="Shivani Mall"> - <description>Simple Query 1</description> - <query name="simple_query1" date="2015-03-25"/> - <output-file compare="Text">simple_query1.txt</output-file> - </test-case> - <test-case name="Simple-Query-2" FilePath="XMark/Original/" Creator="Shivani Mall"> - <description>Simple Query 2</description> - <query name="simple_query2" date="2015-03-25"/> - <output-file compare="Text">simple_query2.txt</output-file> - </test-case> </test-group> \ No newline at end of file
