Skip to content

Commit 4007b2b

Browse files
committed
working on new ID based join iterator
1 parent 675c063 commit 4007b2b

8 files changed

Lines changed: 18 additions & 19 deletions

File tree

core/sail/lmdb/src/main/java/org/eclipse/rdf4j/sail/lmdb/LmdbIdTripleSourceAdapter.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import org.eclipse.rdf4j.common.annotation.Experimental;
1717
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
1818
import org.eclipse.rdf4j.common.iteration.EmptyIteration;
19-
import org.eclipse.rdf4j.common.order.StatementOrder;
2019
import org.eclipse.rdf4j.model.IRI;
2120
import org.eclipse.rdf4j.model.Resource;
2221
import org.eclipse.rdf4j.model.Statement;

core/sail/lmdb/src/main/java/org/eclipse/rdf4j/sail/lmdb/LmdbSailDatasetTripleSource.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import org.eclipse.rdf4j.query.QueryEvaluationException;
2424
import org.eclipse.rdf4j.query.algebra.evaluation.TripleSource;
2525
import org.eclipse.rdf4j.sail.SailException;
26-
import org.eclipse.rdf4j.sail.TripleSourceIterationWrapper;
2726
import org.eclipse.rdf4j.sail.base.SailDataset;
2827
import org.eclipse.rdf4j.sail.base.SailDatasetTripleSource;
2928
import org.eclipse.rdf4j.sail.lmdb.join.LmdbIdJoinIterator;

core/sail/lmdb/src/main/java/org/eclipse/rdf4j/sail/lmdb/join/LmdbIdBGPQueryEvaluationStep.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818

1919
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
2020
import org.eclipse.rdf4j.common.iteration.EmptyIteration;
21-
import org.eclipse.rdf4j.common.transaction.IsolationLevel;
22-
import org.eclipse.rdf4j.common.transaction.IsolationLevels;
2321
import org.eclipse.rdf4j.model.IRI;
2422
import org.eclipse.rdf4j.model.Resource;
2523
import org.eclipse.rdf4j.model.Value;

core/sail/lmdb/src/main/java/org/eclipse/rdf4j/sail/lmdb/join/LmdbIdJoinQueryEvaluationStep.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,10 @@
1616
import java.util.Arrays;
1717
import java.util.Collections;
1818
import java.util.HashSet;
19-
import java.util.List;
2019
import java.util.Optional;
2120
import java.util.Set;
2221

2322
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
24-
import org.eclipse.rdf4j.common.transaction.IsolationLevel;
25-
import org.eclipse.rdf4j.common.transaction.IsolationLevels;
2623
import org.eclipse.rdf4j.model.IRI;
2724
import org.eclipse.rdf4j.model.Resource;
2825
import org.eclipse.rdf4j.model.Value;

core/sail/lmdb/src/main/java/org/eclipse/rdf4j/sail/lmdb/join/LmdbIdMergeJoinQueryEvaluationStep.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
1818
import org.eclipse.rdf4j.common.iteration.EmptyIteration;
1919
import org.eclipse.rdf4j.common.order.StatementOrder;
20-
import org.eclipse.rdf4j.common.transaction.IsolationLevel;
21-
import org.eclipse.rdf4j.common.transaction.IsolationLevels;
2220
import org.eclipse.rdf4j.model.IRI;
2321
import org.eclipse.rdf4j.model.Resource;
2422
import org.eclipse.rdf4j.model.Value;

core/sail/lmdb/src/test/java/org/eclipse/rdf4j/sail/lmdb/MultipleSubselectRegressionTest.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,15 @@
2121

2222
import org.apache.commons.io.IOUtils;
2323
import org.eclipse.rdf4j.common.transaction.IsolationLevels;
24+
import org.eclipse.rdf4j.query.TupleQuery;
25+
import org.eclipse.rdf4j.query.TupleQueryResult;
2426
import org.eclipse.rdf4j.repository.sail.SailRepository;
2527
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
2628
import org.eclipse.rdf4j.rio.RDFFormat;
2729
import org.eclipse.rdf4j.sail.lmdb.config.LmdbStoreConfig;
2830
import org.eclipse.rdf4j.sail.memory.MemoryStore;
2931
import org.junit.jupiter.api.Test;
32+
import org.junit.jupiter.api.Timeout;
3033
import org.junit.jupiter.api.io.TempDir;
3134

3235
class MultipleSubselectRegressionTest {
@@ -45,6 +48,7 @@ class MultipleSubselectRegressionTest {
4548
}
4649

4750
@Test
51+
@Timeout(10 * 1000)
4852
void lmdbMatchesMemoryForMultipleSubSelect(@TempDir Path tempDir) throws Exception {
4953
LmdbStoreConfig config = new LmdbStoreConfig("spoc,ospc,psoc");
5054
SailRepository lmdbRepository = new SailRepository(new LmdbStore(tempDir.toFile(), config));
@@ -73,11 +77,16 @@ private static void loadDataset(SailRepositoryConnection connection) throws IOEx
7377
}
7478

7579
private static long evaluateMultipleSubselectCount(SailRepositoryConnection connection) {
76-
return connection
77-
.prepareTupleQuery(MULTIPLE_SUB_SELECT_QUERY)
78-
.evaluate()
79-
.stream()
80-
.count();
80+
TupleQuery tupleQuery = connection.prepareTupleQuery(MULTIPLE_SUB_SELECT_QUERY);
81+
82+
tupleQuery.setMaxExecutionTime(10);
83+
84+
try (TupleQueryResult evaluate = tupleQuery.evaluate()) {
85+
return evaluate
86+
.stream()
87+
.count();
88+
}
89+
8190
}
8291

8392
private static List<String> evaluateDatasetLanguages(SailRepositoryConnection connection) {

core/sail/lmdb/src/test/java/org/eclipse/rdf4j/sail/lmdb/QueryBenchmarkTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
package org.eclipse.rdf4j.sail.lmdb;
1313

1414
import static org.junit.jupiter.api.Assertions.assertEquals;
15-
import static org.junit.jupiter.api.Assertions.assertNotEquals;
1615

1716
import java.io.File;
1817
import java.io.IOException;
@@ -28,6 +27,7 @@
2827
import org.eclipse.rdf4j.model.Statement;
2928
import org.eclipse.rdf4j.model.vocabulary.RDF;
3029
import org.eclipse.rdf4j.query.BindingSet;
30+
import org.eclipse.rdf4j.query.TupleQuery;
3131
import org.eclipse.rdf4j.query.TupleQueryResult;
3232
import org.eclipse.rdf4j.repository.sail.SailRepository;
3333
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
@@ -226,7 +226,9 @@ public void orderedUnionLimitQueryProducesExpectedCount() {
226226
public void subSelectQueryProducesExpectedCount() {
227227
try (SailRepositoryConnection connection = repository.getConnection()) {
228228
long count;
229-
try (var stream = connection.prepareTupleQuery(sub_select).evaluate().stream()) {
229+
TupleQuery tupleQuery = connection.prepareTupleQuery(sub_select);
230+
tupleQuery.setMaxExecutionTime(30);
231+
try (var stream = tupleQuery.evaluate().stream()) {
230232
count = stream.count();
231233
}
232234
assertEquals(16035L, count);

core/sail/lmdb/src/test/java/org/eclipse/rdf4j/sail/lmdb/benchmark/QueryBenchmark.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,7 @@
4040
import org.openjdk.jmh.annotations.State;
4141
import org.openjdk.jmh.annotations.TearDown;
4242
import org.openjdk.jmh.annotations.Warmup;
43-
import org.openjdk.jmh.runner.Runner;
4443
import org.openjdk.jmh.runner.RunnerException;
45-
import org.openjdk.jmh.runner.options.Options;
46-
import org.openjdk.jmh.runner.options.OptionsBuilder;
4744

4845
/**
4946
* @author Håvard Ottestad

0 commit comments

Comments
 (0)