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 2019/02/26 21:51:28 UTC
[jena] 02/02: Make deleteAny algorithm publicly available.
This is an automated email from the ASF dual-hosted git repository.
andy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jena.git
commit c7bafa4556392699f212f36157da07615a1ff3c5
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Tue Feb 26 21:50:19 2019 +0000
Make deleteAny algorithm publicly available.
---
.../java/org/apache/jena/sparql/core/DatasetGraphBase.java | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java
index ed120b9..9b4f4e5 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java
@@ -101,16 +101,19 @@ abstract public class DatasetGraphBase implements DatasetGraph
@Override
public void delete(Node g, Node s, Node p, Node o) { delete(new Quad(g,s,p,o)) ; }
- private static final int DeleteBufferSize = 1000 ;
@Override
/** Simple implementation but done without assuming iterator.remove() */
public void deleteAny(Node g, Node s, Node p, Node o) {
- // Delete in slices rather than assume .remove() on the iterator is
- // implemented.
+ deleteAny(this, g, s, p, o);
+ }
+
+ private static final int DeleteBufferSize = 1000 ;
+ public static void deleteAny(DatasetGraph dsg, Node g, Node s, Node p, Node o) {
+ // Delete in slices rather than assume .remove() on the iterator is implemented.
// We keep executing find(g, s, p, o) until we don't get a full slice.
Quad[] buffer = new Quad[DeleteBufferSize];
while (true) {
- Iterator<Quad> iter = find(g, s, p, o);
+ Iterator<Quad> iter = dsg.find(g, s, p, o);
// Get a slice
int len = 0;
for ( ; len < DeleteBufferSize ; len++ ) {
@@ -120,7 +123,7 @@ abstract public class DatasetGraphBase implements DatasetGraph
}
// Delete them.
for ( int i = 0 ; i < len ; i++ ) {
- delete(buffer[i]);
+ dsg.delete(buffer[i]);
buffer[i] = null;
}
// Finished?