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);
     }

Reply via email to