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 2018/02/11 20:19:24 UTC
[2/4] jena git commit: Fixes for transactions after JENA-1458
Fixes for transactions after JENA-1458
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/6b9aade5
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/6b9aade5
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/6b9aade5
Branch: refs/heads/master
Commit: 6b9aade53585159d2937a6ac0b52a0eaf6498acb
Parents: 161c03e
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Feb 11 19:02:46 2018 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Feb 11 19:02:46 2018 +0000
----------------------------------------------------------------------
.../apache/jena/sparql/core/DatasetImpl.java | 30 +++++++++++---------
.../sparql/core/TransactionalNotSupported.java | 1 -
jena-cmds/src/main/java/arq/query.java | 2 +-
3 files changed, 17 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/6b9aade5/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetImpl.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetImpl.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetImpl.java
index dfb8262..3ee9228 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetImpl.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetImpl.java
@@ -42,9 +42,9 @@ import org.apache.jena.sparql.util.NodeUtils ;
public class DatasetImpl implements Dataset
{
- protected DatasetGraph dsg = null ;
+ protected final DatasetGraph dsg;
// Allow for an external transactional.
- private Transactional transactional = null ;
+ private final Transactional transactional;
/** Wrap an existing DatasetGraph */
public static Dataset wrap(DatasetGraph datasetGraph) {
@@ -52,7 +52,7 @@ public class DatasetImpl implements Dataset
}
protected DatasetImpl(DatasetGraph dsg) {
- this(dsg, (dsg.supportsTransactions() ? dsg : null)) ;
+ this(dsg, (dsg.supportsTransactions() ? dsg : new TransactionalNotSupported())) ;
}
protected DatasetImpl(DatasetGraph dsg, Transactional transactional) {
@@ -97,6 +97,16 @@ public class DatasetImpl implements Dataset
}
@Override
+ public boolean supportsTransactions() {
+ return dsg.supportsTransactions();
+ }
+
+ @Override
+ public boolean supportsTransactionAbort() {
+ return dsg.supportsTransactionAbort();
+ }
+
+ @Override
public void begin() {
checkTransactional();
transactional.begin();
@@ -116,33 +126,25 @@ public class DatasetImpl implements Dataset
@Override
public boolean promote() {
+ checkTransactional();
return transactional.promote();
}
@Override
public ReadWrite transactionMode() {
+ checkTransactional();
return transactional.transactionMode();
}
@Override
public TxnType transactionType() {
+ checkTransactional();
return transactional.transactionType();
}
- @Override
- public boolean supportsTransactions() {
- return true;
- }
-
- @Override
- public boolean supportsTransactionAbort() {
- return false;
- }
-
/** Say whether a transaction is active */
@Override
public boolean isInTransaction() {
- checkTransactional();
return transactional != null && transactional.isInTransaction();
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b9aade5/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalNotSupported.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalNotSupported.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalNotSupported.java
index f2ef1a0..1d3d959 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalNotSupported.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalNotSupported.java
@@ -89,7 +89,6 @@ public class TransactionalNotSupported implements Transactional
@Override public TxnType transactionType()
{ throw new UnsupportedOperationException("Transactional.transactionType") ; }
-
@Override
public void end()
{ throw new UnsupportedOperationException("Transactional.end") ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b9aade5/jena-cmds/src/main/java/arq/query.java
----------------------------------------------------------------------
diff --git a/jena-cmds/src/main/java/arq/query.java b/jena-cmds/src/main/java/arq/query.java
index ceaa761..556d7f8 100644
--- a/jena-cmds/src/main/java/arq/query.java
+++ b/jena-cmds/src/main/java/arq/query.java
@@ -217,7 +217,7 @@ public class query extends CmdARQ
System.err.println("Dataset not specified in query nor provided on command line.");
throw new TerminationException(1);
}
- Transactional transactional = (dataset != null && dataset.supportsTransactionAbort()) ? dataset : new TransactionalNull() ;
+ Transactional transactional = (dataset != null && dataset.supportsTransactions()) ? dataset : new TransactionalNull() ;
Txn.executeRead(transactional, ()->{
modTime.startTimer() ;
try ( QueryExecution qe = QueryExecutionFactory.create(query, dataset) ) {