Skip to content

Commit 557a5f6

Browse files
committed
fixed bug in Extensible Store
1 parent b66f5e9 commit 557a5f6

2 files changed

Lines changed: 12 additions & 7 deletions

File tree

core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/ReadCommittedWrapper.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,18 @@ class ReadCommittedWrapper implements DataStructureInterface {
5050

5151
@Override
5252
public void addStatement(ExtensibleStatement statement) {
53-
internalAdded.put(statement, statement);
54-
internalRemoved.remove(statement);
55-
53+
ExtensibleStatement put = internalAdded.put(statement, statement);
54+
if (put == null) {
55+
internalRemoved.remove(statement);
56+
}
5657
}
5758

5859
@Override
5960
public void removeStatement(ExtensibleStatement statement) {
60-
internalRemoved.put(statement, statement);
61+
ExtensibleStatement put = internalRemoved.put(statement, statement);
62+
if (put == null) {
63+
internalAdded.remove(statement);
64+
}
6165

6266
}
6367

testsuites/sail/src/main/java/org/eclipse/rdf4j/testsuite/sail/RDFNotifyingStoreTest.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,12 +180,13 @@ public void testUpdateQuery2() {
180180
"INSERT {" + statement + "}" +
181181
"WHERE {?a ?b ?c}").execute();
182182

183-
assertEquals(1, added.size());
184-
assertEquals(1, removed.size());
183+
assertEquals(added, removed, "Added (expected) is not the same as removed (actual)");
184+
185185
assertEquals(2, addedRaw.size());
186186
assertEquals(2, removedRaw.size());
187187

188-
assertEquals(added, removed);
188+
assertEquals(1, added.size());
189+
assertEquals(1, removed.size());
189190

190191
}
191192

0 commit comments

Comments
 (0)