Adding more variables to be reused.
Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/6d7c53ed Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/6d7c53ed Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/6d7c53ed Branch: refs/heads/master Commit: 6d7c53edf31c767bb5d29b42dc4c47ca61c713bc Parents: 442f584 Author: Preston Carman <[email protected]> Authored: Thu Feb 13 11:27:25 2014 -0800 Committer: Preston Carman <[email protected]> Committed: Thu Feb 13 11:27:25 2014 -0800 ---------------------------------------------------------------------- .../functions/step/AbstractPathStepScalarEvaluator.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/6d7c53ed/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/AbstractPathStepScalarEvaluator.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/AbstractPathStepScalarEvaluator.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/AbstractPathStepScalarEvaluator.java index 3f4d8e3..0532fda 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/AbstractPathStepScalarEvaluator.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/AbstractPathStepScalarEvaluator.java @@ -35,20 +35,26 @@ import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage; public abstract class AbstractPathStepScalarEvaluator extends AbstractTaggedValueArgumentScalarEvaluator { protected final SequenceBuilder seqb; + private final NodeSubTreeBuilder nstb; + protected final NodeTreePointable ntp; private final ArrayBackedValueStorage nodeAbvs; protected final TaggedValuePointable itemTvp; + private final TaggedValuePointable node; + private INodeFilter filter; - + public AbstractPathStepScalarEvaluator(IScalarEvaluator[] args, IHyracksTaskContext ctx) { super(args); + nstb = new NodeSubTreeBuilder(); ntp = (NodeTreePointable) NodeTreePointable.FACTORY.createPointable(); seqb = new SequenceBuilder(); nodeAbvs = new ArrayBackedValueStorage(); itemTvp = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); + node = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); } protected void setNodeTest(SequenceType sType) { @@ -64,7 +70,6 @@ public abstract class AbstractPathStepScalarEvaluator extends AbstractTaggedValu protected void setNodeToResult(IPointable result) throws IOException { nodeAbvs.reset(); - NodeSubTreeBuilder nstb = new NodeSubTreeBuilder(); nstb.reset(nodeAbvs); nstb.setChildNode(ntp, itemTvp); nstb.finish(); @@ -72,7 +77,6 @@ public abstract class AbstractPathStepScalarEvaluator extends AbstractTaggedValu } protected void appendNodeToResult() throws IOException { - TaggedValuePointable node = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); setNodeToResult(node); seqb.addItem(node); }
