You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2012/09/11 18:48:49 UTC
svn commit: r1383475 - in
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine:
PlanOp.java QueryExecutionBase.java iterator/QueryIteratorBase.java
Author: andy
Date: Tue Sep 11 16:48:48 2012
New Revision: 1383475
URL: http://svn.apache.org/viewvc?rev=1383475&view=rev
Log:
Remove deprecated feature (with potentially non-compliant wrong answers) of allowing a cancelled iterator to silently contiue with partial results. (JENA-93)
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/PlanOp.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/QueryExecutionBase.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/iterator/QueryIteratorBase.java
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/PlanOp.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/PlanOp.java?rev=1383475&r1=1383474&r2=1383475&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/PlanOp.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/PlanOp.java Tue Sep 11 16:48:48 2012
@@ -59,17 +59,17 @@ public class PlanOp extends PlanBase
}
String str = label ;
-
+
if ( label == null )
str = "Plan" ;
out.print(Plan.startMarker) ;
out.println(str) ;
out.incIndent() ;
- //getOp().output(out, sCxt) ;
- qIter.output(out, sCxt) ;
+ //getOp().output(out, sCxt) ;
+ qIter.output(out, sCxt) ;
- out.print(Plan.finishMarker) ;
- out.decIndent() ;
- out.ensureStartOfLine() ;
+ out.print(Plan.finishMarker) ;
+ out.decIndent() ;
+ out.ensureStartOfLine() ;
}
}
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/QueryExecutionBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/QueryExecutionBase.java?rev=1383475&r1=1383474&r2=1383475&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/QueryExecutionBase.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/QueryExecutionBase.java Tue Sep 11 16:48:48 2012
@@ -32,18 +32,8 @@ import org.openjena.atlas.logging.Log ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.n3.IRIResolver ;
-import com.hp.hpl.jena.query.ARQ ;
-import com.hp.hpl.jena.query.Dataset ;
-import com.hp.hpl.jena.query.Query ;
-import com.hp.hpl.jena.query.QueryExecException ;
-import com.hp.hpl.jena.query.QueryExecution ;
-import com.hp.hpl.jena.query.QuerySolution ;
-import com.hp.hpl.jena.query.ResultSet ;
-import com.hp.hpl.jena.rdf.model.Model ;
-import com.hp.hpl.jena.rdf.model.ModelFactory ;
-import com.hp.hpl.jena.rdf.model.RDFNode ;
-import com.hp.hpl.jena.rdf.model.Resource ;
-import com.hp.hpl.jena.rdf.model.Statement ;
+import com.hp.hpl.jena.query.* ;
+import com.hp.hpl.jena.rdf.model.* ;
import com.hp.hpl.jena.shared.PrefixMapping ;
import com.hp.hpl.jena.sparql.ARQConstants ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
@@ -52,7 +42,6 @@ import com.hp.hpl.jena.sparql.core.descr
import com.hp.hpl.jena.sparql.engine.binding.Binding ;
import com.hp.hpl.jena.sparql.engine.binding.BindingRoot ;
import com.hp.hpl.jena.sparql.engine.binding.BindingUtils ;
-import com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase ;
import com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper ;
import com.hp.hpl.jena.sparql.graph.GraphFactory ;
import com.hp.hpl.jena.sparql.modify.TemplateLib ;
@@ -182,9 +171,6 @@ public class QueryExecutionBase implemen
cancelPingback() ;
}
- @Deprecated
- public static boolean cancelAllowDrain = false ;
- //public synchronized void cancel()
@Override
public synchronized void abort()
{
@@ -194,14 +180,7 @@ public class QueryExecutionBase implemen
{
// we cancel the chain of iterators, however, we do *not* close the iterators.
// That happens after the cancellation is properly over.
- if ( cancelAllowDrain && queryIterator instanceof QueryIteratorBase )
- {
- QueryIteratorBase qIter = (QueryIteratorBase)queryIterator ;
- qIter.cancelAllowContinue() ;
- }
- else
- // Normal case - correct SPARQL
- queryIterator.cancel() ;
+ queryIterator.cancel() ;
cancel = true ;
}
cancel = true ;
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/iterator/QueryIteratorBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/iterator/QueryIteratorBase.java?rev=1383475&r1=1383474&r2=1383475&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/iterator/QueryIteratorBase.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/iterator/QueryIteratorBase.java Tue Sep 11 16:48:48 2012
@@ -56,7 +56,11 @@ public abstract class QueryIteratorBase
/** In the process of requesting a cancel, or one has been done */
private volatile boolean requestingCancel = false;
- /* If set, any hasNext/next throws QueryAbortedException */
+ /* If set, any hasNext/next throws QueryAbortedException
+ * In normal operation, this is the same setting as requestingCancel.
+ * Non-compliant behaviour can result otherwise.
+ * Accessed through cancelAllowContinue()
+ */
private boolean abortIterator = false ;
private Object cancelLock = new Object();
@@ -140,10 +144,9 @@ public abstract class QueryIteratorBase
close() ;
throw new QueryCancelledException() ;
}
+
if ( finished )
- {
throw new NoSuchElementException(Utils.className(this)) ;
- }
if ( ! hasNextBinding() )
throw new NoSuchElementException(Utils.className(this)) ;
@@ -208,8 +211,8 @@ public abstract class QueryIteratorBase
/** Cancel this iterator but allow it to continue servicing hasNext/next.
* Wrong answers are possible (e.g. partial ORDER BY and LIMIT).
*/
- @Deprecated
- public final void cancelAllowContinue()
+
+ private final void cancelAllowContinue()
{
// Call requestCancel() once.
synchronized (cancelLock)