This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit 0bd1a8b66009a4dd96979b7593fcd5ebd79cd666
Author: Andy Seaborne <[email protected]>
AuthorDate: Mon May 12 21:36:24 2025 +0100

    Clarify contract for flushDirect, and implement
---
 .../org/apache/jena/system/buffering/BufferingGraph.java | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git 
a/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingGraph.java 
b/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingGraph.java
index 52f930b4d2..b5d35979c1 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingGraph.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingGraph.java
@@ -27,14 +27,11 @@ import java.util.Set;
 
 import org.apache.jena.atlas.iterator.Iter;
 import org.apache.jena.atlas.logging.Log;
-import org.apache.jena.graph.GraphMemFactory;
 import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphMemFactory;
 import org.apache.jena.graph.Node;
 import org.apache.jena.graph.Triple;
-import org.apache.jena.query.TxnType;
 import org.apache.jena.shared.PrefixMapping;
-import org.apache.jena.sparql.core.Transactional;
-import org.apache.jena.sparql.core.TransactionalLock;
 import org.apache.jena.sparql.graph.GraphWrapper;
 import org.apache.jena.util.iterator.ExtendedIterator;
 import org.apache.jena.util.iterator.WrappedIterator;
@@ -54,8 +51,6 @@ public class BufferingGraph extends GraphWrapper implements 
BufferingCtl {
 
     private final BufferingPrefixMapping prefixMapping;
 
-    private Transactional transactional = TransactionalLock.createMRSW();
-
     public static BufferingGraph create(Graph graph) {
         if ( graph instanceof BufferingGraph )
             Log.warn(BufferingGraph.class, "Creating a BufferingGraph over a 
BufferingGraph");
@@ -77,14 +72,13 @@ public class BufferingGraph extends GraphWrapper implements 
BufferingCtl {
         execTxn(base, ()-> flushDirect(base));
     }
 
-    /** Flush the changes directly to the base graph. */
+    /**
+     * Flush the changes directly to the base graph.
+     * No transaction on the base graph.
+     */
     public void flushDirect() {
-        transactional.begin(TxnType.WRITE);
-        // So that get() is called exactly once per call.
         Graph base = get();
         flushDirect(base);
-        transactional.commit();
-        transactional.end();
     }
 
     private void flushDirect(Graph base) {

Reply via email to