From 72f8b7180f5ac714949794b42b68a4ce47c1bc25 Mon Sep 17 00:00:00 2001 From: Andy Seaborne Date: Wed, 17 Apr 2024 20:28:33 +0100 Subject: [PATCH] Allow a TableN to be reused --- .../org/apache/jena/sparql/algebra/Table.java | 30 +++++++++---------- .../jena/sparql/algebra/table/TableN.java | 3 +- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Table.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Table.java index 9f961c394d3..ad88ad0ffaa 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Table.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Table.java @@ -18,27 +18,27 @@ package org.apache.jena.sparql.algebra; -import java.util.Iterator ; -import java.util.List ; +import java.util.Iterator; +import java.util.List; -import org.apache.jena.sparql.core.Var ; -import org.apache.jena.sparql.engine.ExecutionContext ; -import org.apache.jena.sparql.engine.QueryIterator ; -import org.apache.jena.sparql.engine.binding.Binding ; +import org.apache.jena.sparql.core.Var; +import org.apache.jena.sparql.engine.ExecutionContext; +import org.apache.jena.sparql.engine.QueryIterator; +import org.apache.jena.sparql.engine.binding.Binding; import org.apache.jena.sparql.exec.RowSet; public interface Table { - public void close() ; - public List getVars() ; - public List getVarNames() ; - public int size() ; - public boolean isEmpty() ; + public void close(); + public List getVars(); + public List getVarNames(); + public int size(); + public boolean isEmpty(); /** Return a QueryIterator over the whole table. */ - public QueryIterator iterator(ExecutionContext execCxt) ; + public QueryIterator iterator(ExecutionContext execCxt); /** Return a fresh iterator over the whole table. */ - public Iterator rows() ; - public void addBinding(Binding binding) ; - public boolean contains(Binding binding) ; + public Iterator rows(); + public void addBinding(Binding binding); + public boolean contains(Binding binding); public RowSet toRowSet(); } diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/TableN.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/TableN.java index ac1dccb5097..4d8887116c6 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/TableN.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/TableN.java @@ -93,8 +93,7 @@ public QueryIterator iterator(ExecutionContext execCxt) { @Override public void closeTable() { - rows = null ; - // Don't clear the vars in case code later asks for the variables. + // Don't release rows - the same TableN object may be used in multiple places. } @Override