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 2014/02/13 18:18:00 UTC
[10/10] git commit: Removed paintable pool.
Removed paintable pool.
Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/b98e1652
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/b98e1652
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/b98e1652
Branch: refs/heads/prestonc/benchmarks
Commit: b98e16529a64b727e42366f00212240e84dca2f4
Parents: f082dd4
Author: Preston Carman <pr...@apache.org>
Authored: Thu Feb 13 09:17:32 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Feb 13 09:17:32 2014 -0800
----------------------------------------------------------------------
.../bool/FnBooleanScalarEvaluator.java | 91 ++++++++++----------
1 file changed, 47 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/b98e1652/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnBooleanScalarEvaluator.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnBooleanScalarEvaluator.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnBooleanScalarEvaluator.java
index e2fd431..a666864 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnBooleanScalarEvaluator.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnBooleanScalarEvaluator.java
@@ -36,22 +36,31 @@ import edu.uci.ics.hyracks.data.std.primitive.ShortPointable;
import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
public class FnBooleanScalarEvaluator extends AbstractTaggedValueArgumentScalarEvaluator {
+ final BytePointable bp = (BytePointable) BytePointable.FACTORY.createPointable();
+ final XSDecimalPointable decp = (XSDecimalPointable) XSDecimalPointable.FACTORY.createPointable();
+ final DoublePointable dp = (DoublePointable) DoublePointable.FACTORY.createPointable();
+ final FloatPointable fp = (FloatPointable) FloatPointable.FACTORY.createPointable();
+ final IntegerPointable ip = (IntegerPointable) IntegerPointable.FACTORY.createPointable();
+ final LongPointable lp = (LongPointable) LongPointable.FACTORY.createPointable();
+ final SequencePointable seqp = new SequencePointable();
+ final ShortPointable sp = (ShortPointable) ShortPointable.FACTORY.createPointable();
+ final UTF8StringPointable utf8p = (UTF8StringPointable) UTF8StringPointable.FACTORY.createPointable();
+
public FnBooleanScalarEvaluator(IScalarEvaluator[] args) {
super(args);
}
protected void evaluate(TaggedValuePointable[] args, IPointable result) throws SystemException {
TaggedValuePointable tvp = args[0];
- boolean booleanResult = true;
switch (tvp.getTag()) {
case ValueTag.SEQUENCE_TAG: {
- SequencePointable seqp = ppool.takeOne(SequencePointable.class);
tvp.getValue(seqp);
if (seqp.getEntryCount() == 0) {
- booleanResult = false;
+ XDMConstants.setFalse(result);
+ return;
}
- ppool.giveBack(seqp);
- break;
+ XDMConstants.setTrue(result);
+ return;
}
case ValueTag.XS_BOOLEAN_TAG: {
@@ -60,13 +69,13 @@ public class FnBooleanScalarEvaluator extends AbstractTaggedValueArgumentScalarE
}
case ValueTag.XS_DECIMAL_TAG: {
- XSDecimalPointable decp = ppool.takeOne(XSDecimalPointable.class);
tvp.getValue(decp);
if (decp.longValue() == 0) {
- booleanResult = false;
+ XDMConstants.setFalse(result);
+ return;
}
- ppool.giveBack(decp);
- break;
+ XDMConstants.setTrue(result);
+ return;
}
case ValueTag.XS_INTEGER_TAG:
@@ -77,84 +86,78 @@ public class FnBooleanScalarEvaluator extends AbstractTaggedValueArgumentScalarE
case ValueTag.XS_POSITIVE_INTEGER_TAG:
case ValueTag.XS_UNSIGNED_INT_TAG:
case ValueTag.XS_UNSIGNED_LONG_TAG: {
- LongPointable lp = ppool.takeOne(LongPointable.class);
tvp.getValue(lp);
if (lp.longValue() == 0) {
- booleanResult = false;
+ XDMConstants.setFalse(result);
+ return;
}
- ppool.giveBack(lp);
- break;
+ XDMConstants.setTrue(result);
+ return;
}
case ValueTag.XS_INT_TAG:
case ValueTag.XS_UNSIGNED_SHORT_TAG: {
- IntegerPointable ip = ppool.takeOne(IntegerPointable.class);
tvp.getValue(ip);
if (ip.intValue() == 0) {
- booleanResult = false;
+ XDMConstants.setFalse(result);
+ return;
}
- ppool.giveBack(ip);
- break;
+ XDMConstants.setTrue(result);
+ return;
}
case ValueTag.XS_SHORT_TAG:
case ValueTag.XS_UNSIGNED_BYTE_TAG: {
- ShortPointable sp = ppool.takeOne(ShortPointable.class);
tvp.getValue(sp);
if (sp.shortValue() == 0) {
- booleanResult = false;
+ XDMConstants.setFalse(result);
+ return;
}
- ppool.giveBack(sp);
- break;
+ XDMConstants.setTrue(result);
+ return;
}
case ValueTag.XS_BYTE_TAG: {
- BytePointable bp = ppool.takeOne(BytePointable.class);
tvp.getValue(bp);
if (bp.byteValue() == 0) {
- booleanResult = false;
+ XDMConstants.setFalse(result);
+ return;
}
- ppool.giveBack(bp);
- break;
+ XDMConstants.setTrue(result);
+ return;
}
case ValueTag.XS_DOUBLE_TAG: {
- DoublePointable dp = ppool.takeOne(DoublePointable.class);
tvp.getValue(dp);
if (dp.doubleValue() == 0 || Double.isNaN(dp.doubleValue())) {
- booleanResult = false;
+ XDMConstants.setFalse(result);
+ return;
}
- ppool.giveBack(dp);
- break;
+ XDMConstants.setTrue(result);
+ return;
}
case ValueTag.XS_FLOAT_TAG: {
- FloatPointable fp = ppool.takeOne(FloatPointable.class);
tvp.getValue(fp);
if (fp.floatValue() == 0 || Float.isNaN(fp.floatValue())) {
- booleanResult = false;
+ XDMConstants.setFalse(result);
+ return;
}
- ppool.giveBack(fp);
- break;
+ XDMConstants.setTrue(result);
+ return;
}
case ValueTag.XS_ANY_URI_TAG:
case ValueTag.XS_STRING_TAG: {
- UTF8StringPointable utf8p = ppool.takeOne(UTF8StringPointable.class);
tvp.getValue(utf8p);
if (utf8p.getUTFLength() == 0) {
- booleanResult = false;
+ XDMConstants.setFalse(result);
+ return;
}
- ppool.giveBack(utf8p);
- break;
+ XDMConstants.setTrue(result);
+ return;
}
- default:
- throw new SystemException(ErrorCode.FORG0006);
- }
- if (booleanResult) {
- XDMConstants.setTrue(result);
- } else {
- XDMConstants.setFalse(result);
}
+ throw new SystemException(ErrorCode.FORG0006);
}
}
\ No newline at end of file