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/03/06 16:29:55 UTC
[05/12] jena git commit: Trigger promotion when prefix changes are
made.
Trigger promotion when prefix changes are made.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/41e2eb1b
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/41e2eb1b
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/41e2eb1b
Branch: refs/heads/master
Commit: 41e2eb1b067f0f8217e665590071e8d18c085685
Parents: 4e724c2
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Mar 4 14:26:13 2018 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Mar 4 14:26:13 2018 +0000
----------------------------------------------------------------------
.../apache/jena/tdb2/setup/AbstractTDBBuilder.java | 2 +-
.../org/apache/jena/tdb2/store/DatasetGraphTDB.java | 15 +++++----------
.../apache/jena/tdb2/store/DatasetPrefixesTDB.java | 8 ++++++++
.../java/org/apache/jena/tdb2/store/StorageTDB.java | 5 ++---
4 files changed, 16 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/41e2eb1b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/setup/AbstractTDBBuilder.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/setup/AbstractTDBBuilder.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/setup/AbstractTDBBuilder.java
index 6bcb2f5..82f56c9 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/setup/AbstractTDBBuilder.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/setup/AbstractTDBBuilder.java
@@ -189,7 +189,7 @@ public abstract class AbstractTDBBuilder {
NodeTupleTable prefixTable = new NodeTupleTableConcrete(primary.length(),
prefixIndexes,
prefixNodes);
- DatasetPrefixesTDB prefixes = new DatasetPrefixesTDB(prefixTable);
+ DatasetPrefixesTDB prefixes = new DatasetPrefixesTDB(prefixTable);
log().debug("Prefixes: "+primary+" :: "+String.join(",", indexes));
return prefixes;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/41e2eb1b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphTDB.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphTDB.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphTDB.java
index 2148930..904bc50 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphTDB.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphTDB.java
@@ -73,7 +73,7 @@ public class DatasetGraphTDB extends DatasetGraphTriplesQuads
/** Application should not create a {@code DatasetGraphTDB} directly */
public DatasetGraphTDB(TransactionalSystem txnSystem,
- TripleTable tripleTable, QuadTable quadTable, DatasetPrefixStorage prefixes,
+ TripleTable tripleTable, QuadTable quadTable, DatasetPrefixesTDB prefixes,
ReorderTransformation transform, Location location, StoreParams params) {
reset(txnSystem, tripleTable, quadTable, prefixes, location, params) ;
this.transform = transform ;
@@ -81,16 +81,9 @@ public class DatasetGraphTDB extends DatasetGraphTriplesQuads
}
public void reset(TransactionalSystem txnSystem,
- TripleTable tripleTable, QuadTable quadTable, DatasetPrefixStorage prefixes,
+ TripleTable tripleTable, QuadTable quadTable, DatasetPrefixesTDB prefixes,
Location location, StoreParams params) {
-// this.tripleTable = tripleTable ;
-// this.quadTable = quadTable ;
-// this.location = location ;
-// this.prefixes = prefixes ;
-// this.storeParams = params ;
this.txnSystem = txnSystem ;
- // XXX Threading?
- // XXX (re)set transaction components in TransactionCoordinator??
this.storage = new StorageTDB(tripleTable, quadTable, prefixes, location, params);
this.defaultGraphTDB = getDefaultGraphTDB();
}
@@ -171,7 +164,7 @@ public class DatasetGraphTDB extends DatasetGraphTriplesQuads
}
// Promotion
- private void requireWriteTxn() {
+ /*package*/ void requireWriteTxn() {
Transaction txn = txnSystem.getThreadTransaction() ;
if ( txn == null )
throw new TransactionException("Not in a transaction") ;
@@ -300,6 +293,8 @@ public class DatasetGraphTDB extends DatasetGraphTriplesQuads
public DatasetPrefixStorage getPrefixes() {
checkNotClosed();
+ // Need for requireWriteTxn
+ storage.prefixes.setDatasetGraphTDB(this);
return storage.prefixes;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/41e2eb1b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetPrefixesTDB.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetPrefixesTDB.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetPrefixesTDB.java
index e1b7e7b..982e8da 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetPrefixesTDB.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetPrefixesTDB.java
@@ -44,11 +44,17 @@ public class DatasetPrefixesTDB implements DatasetPrefixStorage
static final String unamedGraphURI = "" ;
private final NodeTupleTable nodeTupleTable ;
+ private DatasetGraphTDB dataset = null;
public DatasetPrefixesTDB(NodeTupleTable nodeTupleTable) {
this.nodeTupleTable = nodeTupleTable ;
}
+ // Needed because DatasetPrefixesTDB is created before DatasetGraphTDB
+ /*package*/ void setDatasetGraphTDB(DatasetGraphTDB dsg) {
+ this.dataset = dsg;
+ }
+
@Override
public void loadPrefixMapping(String graphName, PrefixMapping pmap) {
Node g = NodeFactory.createURI(graphName) ;
@@ -62,6 +68,7 @@ public class DatasetPrefixesTDB implements DatasetPrefixStorage
@Override
public synchronized void insertPrefix(String graphName, String prefix, String uri) {
+ dataset.requireWriteTxn();
Node g = NodeFactory.createURI(graphName) ;
Node p = NodeFactory.createLiteral(prefix) ;
Node u = NodeFactory.createURI(uri) ;
@@ -141,6 +148,7 @@ public class DatasetPrefixesTDB implements DatasetPrefixStorage
/** Remove by pattern */
private synchronized void removeAll(Node g, Node p, Node uri) {
+ dataset.requireWriteTxn();
Iterator<Tuple<Node>> iter = nodeTupleTable.find(g, p, uri) ;
List<Tuple<Node>> list = Iter.toList(iter) ; // Materialize.
Iter.close(iter) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/41e2eb1b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/StorageTDB.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/StorageTDB.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/StorageTDB.java
index f4d7ac6..4998838 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/StorageTDB.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/StorageTDB.java
@@ -19,18 +19,17 @@
package org.apache.jena.tdb2.store;
import org.apache.jena.dboe.base.file.Location;
-import org.apache.jena.sparql.core.DatasetPrefixStorage;
import org.apache.jena.tdb2.setup.StoreParams;
public class StorageTDB {
/*package*/ final TripleTable tripleTable;
/*package*/ final QuadTable quadTable;
- /*package*/ final DatasetPrefixStorage prefixes;
+ /*package*/ final DatasetPrefixesTDB prefixes;
/*package*/ final Location location;
/*package*/ final StoreParams storeParams;
- public StorageTDB(TripleTable tripleTable, QuadTable quadTable, DatasetPrefixStorage prefixes, Location location, StoreParams params) {
+ public StorageTDB(TripleTable tripleTable, QuadTable quadTable, DatasetPrefixesTDB prefixes, Location location, StoreParams params) {
super();
this.tripleTable = tripleTable;
this.quadTable = quadTable;