You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by ti...@apache.org on 2014/03/14 23:09:39 UTC
[18/25] git commit: Addressing all the code review changes.
Addressing all the code review changes.
Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/d88a64e1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/d88a64e1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/d88a64e1
Branch: refs/heads/westmann/prettyprint
Commit: d88a64e17ff6aff2e5ee11597d5c5de8f30145ca
Parents: 8a00d1b
Author: Preston Carman <pr...@apache.org>
Authored: Mon Feb 17 13:34:53 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Mon Feb 17 13:34:53 2014 -0800
----------------------------------------------------------------------
.../java/org/apache/vxquery/cli/VXQuery.java | 6 +++---
...tractRemoveRedundantTypeExpressionsRule.java | 8 ++++----
.../RemoveRedundantCastExpressionsRule.java | 2 +-
.../RemoveRedundantDataExpressionsRule.java | 2 +-
.../RemoveRedundantPromoteExpressionsRule.java | 2 +-
.../RemoveRedundantTreatExpressionsRule.java | 3 +--
.../rewriter/rules/util/ExpressionToolbox.java | 5 +++--
...GeneralComparisonScalarEvaluatorFactory.java | 18 ++++++++----------
.../misc/FnDataScalarEvaluatorFactory.java | 3 +--
.../org/apache/vxquery/xmlparser/XMLParser.java | 20 --------------------
10 files changed, 23 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/d88a64e1/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
----------------------------------------------------------------------
diff --git a/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java b/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
index 06deac5..da6f40b 100644
--- a/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
+++ b/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
@@ -117,9 +117,9 @@ public class VXQuery {
}
VXQuery vxq = new VXQuery(opts);
vxq.execute();
- Date end = new Date();
// if -timing argument passed, show the starting and ending times
if (opts.timing) {
+ Date end = new Date();
message = "Execution time: " + (end.getTime() - start.getTime()) + "ms";
System.out.println(message);
timing.add(message);
@@ -254,9 +254,9 @@ public class VXQuery {
CompilerControlBlock ccb = new CompilerControlBlock(new StaticContextImpl(RootStaticContextImpl.INSTANCE),
resultSetId);
compiler.compile(query, new StringReader(qStr), ccb, opts.optimizationLevel);
- end = new Date();
// if -timing argument passed, show the starting and ending times
if (opts.timing) {
+ end = new Date();
message = "Compile time: " + (end.getTime() - start.getTime()) + "ms";
System.out.println(message);
timing.add(message);
@@ -276,9 +276,9 @@ public class VXQuery {
for (int i = 0; i < opts.repeatExec; ++i) {
start = new Date();
runJob(js, writer);
- end = new Date();
// if -timing argument passed, show the starting and ending times
if (opts.timing) {
+ end = new Date();
if ((i + 1) > 3) {
totalTiming += end.getTime() - start.getTime();
}
http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/d88a64e1/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/AbstractRemoveRedundantTypeExpressionsRule.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/AbstractRemoveRedundantTypeExpressionsRule.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/AbstractRemoveRedundantTypeExpressionsRule.java
index 752e107..5298f2a 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/AbstractRemoveRedundantTypeExpressionsRule.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/AbstractRemoveRedundantTypeExpressionsRule.java
@@ -73,14 +73,14 @@ public abstract class AbstractRemoveRedundantTypeExpressionsRule implements IAlg
// Find the input return type.
inputSequenceType = ExpressionToolbox.getOutputSequenceType(opRef, argFirstM, dCtx);
- // Find the treat type.
+ // Find the argument type.
SequenceType sTypeArg = null;
if (hasTypeArgument()) {
- sTypeArg = ExpressionToolbox.getTypeExpressionTypeArguement(searchM, dCtx);
+ sTypeArg = ExpressionToolbox.getTypeExpressionTypeArgument(searchM, dCtx);
}
// remove
- if (safeToReplace(sTypeArg, inputSequenceType)) {
+ if (matchesAllInstancesOf(sTypeArg, inputSequenceType)) {
searchM.setValue(argFirstM.getValue());
modified = true;
}
@@ -88,7 +88,7 @@ public abstract class AbstractRemoveRedundantTypeExpressionsRule implements IAlg
return modified;
}
- public abstract boolean safeToReplace(SequenceType sTypeArg, SequenceType sTypeOutput);
+ public abstract boolean matchesAllInstancesOf(SequenceType sTypeArg, SequenceType sTypeOutput);
public boolean hasTypeArgument() {
return true;
http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/d88a64e1/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantCastExpressionsRule.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantCastExpressionsRule.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantCastExpressionsRule.java
index bf06b00..339feea 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantCastExpressionsRule.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantCastExpressionsRule.java
@@ -51,7 +51,7 @@ public class RemoveRedundantCastExpressionsRule extends AbstractRemoveRedundantT
}
@Override
- public boolean safeToReplace(SequenceType sTypeArg, SequenceType sTypeOutput) {
+ public boolean matchesAllInstancesOf(SequenceType sTypeArg, SequenceType sTypeOutput) {
if (sTypeArg != null && sTypeOutput != null && sTypeOutput.equals(sTypeArg)) {
// Same type.
return true;
http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/d88a64e1/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantDataExpressionsRule.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantDataExpressionsRule.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantDataExpressionsRule.java
index fb05e4d..97f98f5 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantDataExpressionsRule.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantDataExpressionsRule.java
@@ -53,7 +53,7 @@ public class RemoveRedundantDataExpressionsRule extends AbstractRemoveRedundantT
return false;
}
- public boolean safeToReplace(SequenceType sTypeArg, SequenceType sTypeOutput) {
+ public boolean matchesAllInstancesOf(SequenceType sTypeArg, SequenceType sTypeOutput) {
if (sTypeOutput != null && sTypeOutput.getItemType().isAtomicType()) {
return true;
}
http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/d88a64e1/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantPromoteExpressionsRule.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantPromoteExpressionsRule.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantPromoteExpressionsRule.java
index 589618d..12865e0 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantPromoteExpressionsRule.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantPromoteExpressionsRule.java
@@ -56,7 +56,7 @@ public class RemoveRedundantPromoteExpressionsRule extends AbstractRemoveRedunda
}
@Override
- public boolean safeToReplace(SequenceType sTypeArg, SequenceType sTypeOutput) {
+ public boolean matchesAllInstancesOf(SequenceType sTypeArg, SequenceType sTypeOutput) {
if (sTypeArg != null) {
if (sTypeArg.getItemType() != BuiltinTypeRegistry.XS_DOUBLE
&& sTypeArg.getItemType() != BuiltinTypeRegistry.XS_FLOAT
http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/d88a64e1/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantTreatExpressionsRule.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantTreatExpressionsRule.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantTreatExpressionsRule.java
index 63ad06f..ef23f30 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantTreatExpressionsRule.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantTreatExpressionsRule.java
@@ -54,11 +54,10 @@ public class RemoveRedundantTreatExpressionsRule extends AbstractRemoveRedundant
}
@Override
- public boolean safeToReplace(SequenceType sTypeArg, SequenceType sTypeOutput) {
+ public boolean matchesAllInstancesOf(SequenceType sTypeArg, SequenceType sTypeOutput) {
if (sTypeArg != null) {
stm.setSequenceType(sTypeArg);
if (sTypeOutput != null && stm.isSubType(sTypeOutput)) {
- // Same type.
return true;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/d88a64e1/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/util/ExpressionToolbox.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/util/ExpressionToolbox.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/util/ExpressionToolbox.java
index 7d54068..7794ed0 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/util/ExpressionToolbox.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/util/ExpressionToolbox.java
@@ -171,7 +171,7 @@ public class ExpressionToolbox {
return pTypeCode.getInteger();
}
- public static SequenceType getTypeExpressionTypeArguement(Mutable<ILogicalExpression> searchM,
+ public static SequenceType getTypeExpressionTypeArgument(Mutable<ILogicalExpression> searchM,
StaticContextImpl dCtx) {
int typeId = getTypeExpressionTypeArgument(searchM);
if (typeId > 0) {
@@ -192,7 +192,7 @@ public class ExpressionToolbox {
return null;
} else if (function.getFunctionIdentifier().equals(BuiltinOperators.CAST.getFunctionIdentifier())) {
// Special case since case has multiple type outputs.
- return ExpressionToolbox.getTypeExpressionTypeArguement(argFirstM, dCtx);
+ return ExpressionToolbox.getTypeExpressionTypeArgument(argFirstM, dCtx);
} else {
return function.getSignature().getReturnType();
}
@@ -212,6 +212,7 @@ public class ExpressionToolbox {
if (variableOp.getOperatorTag() == LogicalOperatorTag.DATASOURCESCAN) {
return SequenceType.create(AnyNodeType.INSTANCE, Quantifier.QUANT_ONE);
}
+ // TODO Consider support for other operators. i.e. Assign.
}
return null;
}
http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/d88a64e1/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/comparison/general/AbstractGeneralComparisonScalarEvaluatorFactory.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/comparison/general/AbstractGeneralComparisonScalarEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/comparison/general/AbstractGeneralComparisonScalarEvaluatorFactory.java
index 1bcd1ce..a7b79e8 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/comparison/general/AbstractGeneralComparisonScalarEvaluatorFactory.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/comparison/general/AbstractGeneralComparisonScalarEvaluatorFactory.java
@@ -101,6 +101,12 @@ public abstract class AbstractGeneralComparisonScalarEvaluatorFactory extends
final VoidPointable p2 = (VoidPointable) VoidPointable.FACTORY.createPointable();
final TaggedValuePointable tvpSeq1 = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable();
final TaggedValuePointable tvpSeq2 = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable();
+ final TaggedValuePointable tvpTransform1 = (TaggedValuePointable) TaggedValuePointable.FACTORY
+ .createPointable();
+ final TaggedValuePointable tvpTransform2 = (TaggedValuePointable) TaggedValuePointable.FACTORY
+ .createPointable();
+ final TaggedValuePointable tvpCompare1 = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable();
+ final TaggedValuePointable tvpCompare2 = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable();
return new AbstractTaggedValueArgumentScalarEvaluator(args) {
AbstractCastToOperation aCastToOp = new CastToStringOperation();
@@ -188,20 +194,12 @@ public abstract class AbstractGeneralComparisonScalarEvaluatorFactory extends
boolean tagTransformed1 = false, tagTransformed2 = false;
abvsInner1.reset();
abvsInner2.reset();
- TaggedValuePointable tvpTransform1 = (TaggedValuePointable) TaggedValuePointable.FACTORY
- .createPointable();
- TaggedValuePointable tvpTransform2 = (TaggedValuePointable) TaggedValuePointable.FACTORY
- .createPointable();
tvpTransform1.set(tvpArg1);
tvpTransform2.set(tvpArg2);
int tid1 = FunctionHelper.getBaseTypeForGeneralComparisons(tvpTransform1.getTag());
int tid2 = FunctionHelper.getBaseTypeForGeneralComparisons(tvpTransform2.getTag());
// Converted tags
- TaggedValuePointable tvpCompare1 = (TaggedValuePointable) TaggedValuePointable.FACTORY
- .createPointable();
- TaggedValuePointable tvpCompare2 = (TaggedValuePointable) TaggedValuePointable.FACTORY
- .createPointable();
try {
// Converts node tree's into untyped atomic values that can then be compared as atomic items.
if (tid1 == ValueTag.NODE_TREE_TAG && tid2 == ValueTag.NODE_TREE_TAG) {
@@ -239,7 +237,7 @@ public abstract class AbstractGeneralComparisonScalarEvaluatorFactory extends
}
// Copy over the values not changed and upgrade numeric values to double.
if (!tagTransformed1) {
- tvpCompare1 = tvpTransform1;
+ tvpCompare1.set(tvpTransform1);
if (FunctionHelper.isDerivedFromDouble(tvpCompare1.getTag())) {
FunctionHelper.getDoublePointable(tvpTransform1, dOutInner1);
tvpCompare1.set(abvsInner1.getByteArray(), abvsInner1.getStartOffset(),
@@ -248,7 +246,7 @@ public abstract class AbstractGeneralComparisonScalarEvaluatorFactory extends
}
}
if (!tagTransformed2) {
- tvpCompare2 = tvpTransform2;
+ tvpCompare2.set(tvpTransform2);
if (FunctionHelper.isDerivedFromDouble(tvpCompare2.getTag())) {
FunctionHelper.getDoublePointable(tvpTransform2, dOutInner2);
tvpCompare2.set(abvsInner2.getByteArray(), abvsInner2.getStartOffset(),
http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/d88a64e1/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/misc/FnDataScalarEvaluatorFactory.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/misc/FnDataScalarEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/misc/FnDataScalarEvaluatorFactory.java
index cd4dbb3..7aed0b4 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/misc/FnDataScalarEvaluatorFactory.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/misc/FnDataScalarEvaluatorFactory.java
@@ -27,7 +27,6 @@ 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.util.AtomizeHelper;
-import org.apache.vxquery.runtime.functions.util.FunctionHelper;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluator;
@@ -49,7 +48,7 @@ public class FnDataScalarEvaluatorFactory extends AbstractTaggedValueArgumentSca
return new FnDataScalarEvaluator(args);
}
- private class FnDataScalarEvaluator extends AbstractTaggedValueArgumentScalarEvaluator {
+ private static class FnDataScalarEvaluator extends AbstractTaggedValueArgumentScalarEvaluator {
final AtomizeHelper ah = new AtomizeHelper();
final ArrayBackedValueStorage abvs = new ArrayBackedValueStorage();
final SequenceBuilder sb = new SequenceBuilder();
http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/d88a64e1/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/XMLParser.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/XMLParser.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/XMLParser.java
index c2ada24..d73dd12 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/XMLParser.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/XMLParser.java
@@ -14,8 +14,6 @@
*/
package org.apache.vxquery.xmlparser;
-import org.apache.vxquery.exceptions.ErrorCode;
-import org.apache.vxquery.exceptions.SystemException;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
@@ -46,22 +44,4 @@ public class XMLParser {
throw new HyracksDataException(e.toString());
}
}
-
- public void reset() throws SystemException {
- }
-
- public static void parseInputSource(InputSource in, ArrayBackedValueStorage abvs, boolean attachTypes,
- ITreeNodeIdProvider idProvider) throws SystemException {
- XMLReader parser;
- try {
- parser = XMLReaderFactory.createXMLReader();
- SAXContentHandler handler = new SAXContentHandler(attachTypes, idProvider);
- parser.setContentHandler(handler);
- parser.setProperty("http://xml.org/sax/properties/lexical-handler", handler);
- parser.parse(in);
- handler.write(abvs);
- } catch (Exception e) {
- throw new SystemException(ErrorCode.FODC0002, e, in.getSystemId());
- }
- }
}
\ No newline at end of file