Skip to content

Commit d401f4c

Browse files
committed
Do it different in different database versions
1 parent 9c7d6eb commit d401f4c

File tree

11 files changed

+108
-11
lines changed

11 files changed

+108
-11
lines changed

compatibility/5-common/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_5x/CommonNeo4jProxyImpl.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,6 @@
103103
import org.neo4j.kernel.api.KernelTransactionHandle;
104104
import org.neo4j.kernel.api.procedure.CallableProcedure;
105105
import org.neo4j.kernel.api.procedure.CallableUserAggregationFunction;
106-
import org.neo4j.kernel.database.DatabaseReferenceImpl;
107-
import org.neo4j.kernel.database.DatabaseReferenceRepository;
108106
import org.neo4j.kernel.database.NormalizedDatabaseName;
109107
import org.neo4j.kernel.impl.coreapi.InternalTransaction;
110108
import org.neo4j.kernel.impl.index.schema.IndexImporterFactoryImpl;
@@ -807,15 +805,6 @@ public TransactionalContext newQueryContext(
807805
return contextFactory.newContext(tx, queryText, queryParameters, QueryExecutionConfiguration.DEFAULT_CONFIG);
808806
}
809807

810-
@Override
811-
public boolean isCompositeDatabase(GraphDatabaseService databaseService) {
812-
var databaseId = GraphDatabaseApiProxy.databaseId(databaseService);
813-
var repo = GraphDatabaseApiProxy.resolveDependency(databaseService, DatabaseReferenceRepository.class);
814-
return repo.getCompositeDatabaseReferences().stream()
815-
.map(DatabaseReferenceImpl.Internal::databaseId)
816-
.anyMatch(databaseId::equals);
817-
}
818-
819808
public abstract CursorContextFactory cursorContextFactory(Optional<PageCacheTracer> pageCacheTracer);
820809

821810
@Override

compatibility/5.10/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_510/Neo4jProxyImpl.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.neo4j.gds.compat.GlobalProcedureRegistry;
2626
import org.neo4j.gds.compat.GraphDatabaseApiProxy;
2727
import org.neo4j.gds.compat._5x.CommonNeo4jProxyImpl;
28+
import org.neo4j.graphdb.GraphDatabaseService;
2829
import org.neo4j.internal.kernel.api.Cursor;
2930
import org.neo4j.internal.kernel.api.PartitionedScan;
3031
import org.neo4j.internal.kernel.api.exceptions.ProcedureException;
@@ -40,6 +41,8 @@
4041
import org.neo4j.kernel.api.KernelTransaction;
4142
import org.neo4j.kernel.api.procedure.Context;
4243
import org.neo4j.kernel.api.procedure.GlobalProcedures;
44+
import org.neo4j.kernel.database.DatabaseReferenceImpl;
45+
import org.neo4j.kernel.database.DatabaseReferenceRepository;
4346
import org.neo4j.kernel.impl.store.RecordStore;
4447
import org.neo4j.kernel.impl.store.record.AbstractBaseRecord;
4548
import org.neo4j.procedure.Mode;
@@ -178,4 +181,13 @@ public void close() {
178181
}
179182
};
180183
}
184+
185+
@Override
186+
public boolean isCompositeDatabase(GraphDatabaseService databaseService) {
187+
var databaseId = GraphDatabaseApiProxy.databaseId(databaseService);
188+
var repo = GraphDatabaseApiProxy.resolveDependency(databaseService, DatabaseReferenceRepository.class);
189+
return repo.getCompositeDatabaseReferences().stream()
190+
.map(DatabaseReferenceImpl.Internal::databaseId)
191+
.anyMatch(databaseId::equals);
192+
}
181193
}

compatibility/5.11/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_511/Neo4jProxyImpl.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.neo4j.gds.compat.GlobalProcedureRegistry;
2626
import org.neo4j.gds.compat.GraphDatabaseApiProxy;
2727
import org.neo4j.gds.compat._5x.CommonNeo4jProxyImpl;
28+
import org.neo4j.graphdb.GraphDatabaseService;
2829
import org.neo4j.internal.kernel.api.Cursor;
2930
import org.neo4j.internal.kernel.api.PartitionedScan;
3031
import org.neo4j.internal.kernel.api.exceptions.ProcedureException;
@@ -40,6 +41,8 @@
4041
import org.neo4j.kernel.api.KernelTransaction;
4142
import org.neo4j.kernel.api.procedure.Context;
4243
import org.neo4j.kernel.api.procedure.GlobalProcedures;
44+
import org.neo4j.kernel.database.DatabaseReferenceImpl;
45+
import org.neo4j.kernel.database.DatabaseReferenceRepository;
4346
import org.neo4j.kernel.impl.store.RecordStore;
4447
import org.neo4j.kernel.impl.store.record.AbstractBaseRecord;
4548
import org.neo4j.procedure.Mode;
@@ -178,4 +181,13 @@ public void close() {
178181
}
179182
};
180183
}
184+
185+
@Override
186+
public boolean isCompositeDatabase(GraphDatabaseService databaseService) {
187+
var databaseId = GraphDatabaseApiProxy.databaseId(databaseService);
188+
var repo = GraphDatabaseApiProxy.resolveDependency(databaseService, DatabaseReferenceRepository.class);
189+
return repo.getCompositeDatabaseReferences().stream()
190+
.map(DatabaseReferenceImpl.Internal::databaseId)
191+
.anyMatch(databaseId::equals);
192+
}
181193
}

compatibility/5.12/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_512/Neo4jProxyImpl.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.neo4j.gds.compat.GlobalProcedureRegistry;
2626
import org.neo4j.gds.compat.GraphDatabaseApiProxy;
2727
import org.neo4j.gds.compat._5x.CommonNeo4jProxyImpl;
28+
import org.neo4j.graphdb.GraphDatabaseService;
2829
import org.neo4j.internal.kernel.api.Cursor;
2930
import org.neo4j.internal.kernel.api.PartitionedScan;
3031
import org.neo4j.internal.kernel.api.exceptions.ProcedureException;
@@ -40,6 +41,8 @@
4041
import org.neo4j.kernel.api.KernelTransaction;
4142
import org.neo4j.kernel.api.procedure.Context;
4243
import org.neo4j.kernel.api.procedure.GlobalProcedures;
44+
import org.neo4j.kernel.database.DatabaseReferenceImpl;
45+
import org.neo4j.kernel.database.DatabaseReferenceRepository;
4346
import org.neo4j.kernel.impl.store.RecordStore;
4447
import org.neo4j.kernel.impl.store.record.AbstractBaseRecord;
4548
import org.neo4j.procedure.Mode;
@@ -178,4 +181,13 @@ public void close() {
178181
}
179182
};
180183
}
184+
185+
@Override
186+
public boolean isCompositeDatabase(GraphDatabaseService databaseService) {
187+
var databaseId = GraphDatabaseApiProxy.databaseId(databaseService);
188+
var repo = GraphDatabaseApiProxy.resolveDependency(databaseService, DatabaseReferenceRepository.class);
189+
return repo.getCompositeDatabaseReferences().stream()
190+
.map(DatabaseReferenceImpl.Internal::databaseId)
191+
.anyMatch(databaseId::equals);
192+
}
181193
}

compatibility/5.13/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_513/Neo4jProxyImpl.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.neo4j.gds.compat.GraphDatabaseApiProxy;
2828
import org.neo4j.gds.compat._5x.CommonNeo4jProxyImpl;
2929
import org.neo4j.gds.compat._5x.CompatAccessModeImpl;
30+
import org.neo4j.graphdb.GraphDatabaseService;
3031
import org.neo4j.internal.kernel.api.Cursor;
3132
import org.neo4j.internal.kernel.api.PartitionedScan;
3233
import org.neo4j.internal.kernel.api.TokenSet;
@@ -44,6 +45,8 @@
4445
import org.neo4j.kernel.api.KernelTransaction;
4546
import org.neo4j.kernel.api.procedure.Context;
4647
import org.neo4j.kernel.api.procedure.GlobalProcedures;
48+
import org.neo4j.kernel.database.DatabaseReferenceImpl;
49+
import org.neo4j.kernel.database.DatabaseReferenceRepository;
4750
import org.neo4j.kernel.impl.store.RecordStore;
4851
import org.neo4j.kernel.impl.store.record.AbstractBaseRecord;
4952
import org.neo4j.procedure.Mode;
@@ -197,4 +200,13 @@ public boolean allowsReadNodeProperty(
197200
}
198201
};
199202
}
203+
204+
@Override
205+
public boolean isCompositeDatabase(GraphDatabaseService databaseService) {
206+
var databaseId = GraphDatabaseApiProxy.databaseId(databaseService);
207+
var repo = GraphDatabaseApiProxy.resolveDependency(databaseService, DatabaseReferenceRepository.class);
208+
return repo.getCompositeDatabaseReferences().stream()
209+
.map(DatabaseReferenceImpl.Internal::databaseId)
210+
.anyMatch(databaseId::equals);
211+
}
200212
}

compatibility/5.14/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_514/Neo4jProxyImpl.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.neo4j.gds.compat.GraphDatabaseApiProxy;
2828
import org.neo4j.gds.compat._5x.CommonNeo4jProxyImpl;
2929
import org.neo4j.gds.compat._5x.CompatAccessModeImpl;
30+
import org.neo4j.graphdb.GraphDatabaseService;
3031
import org.neo4j.internal.kernel.api.Cursor;
3132
import org.neo4j.internal.kernel.api.PartitionedScan;
3233
import org.neo4j.internal.kernel.api.TokenSet;
@@ -44,6 +45,8 @@
4445
import org.neo4j.kernel.api.KernelTransaction;
4546
import org.neo4j.kernel.api.procedure.Context;
4647
import org.neo4j.kernel.api.procedure.GlobalProcedures;
48+
import org.neo4j.kernel.database.DatabaseReferenceImpl;
49+
import org.neo4j.kernel.database.DatabaseReferenceRepository;
4750
import org.neo4j.kernel.impl.store.RecordStore;
4851
import org.neo4j.kernel.impl.store.record.AbstractBaseRecord;
4952
import org.neo4j.procedure.Mode;
@@ -197,4 +200,13 @@ public boolean allowsReadNodeProperty(
197200
}
198201
};
199202
}
203+
204+
@Override
205+
public boolean isCompositeDatabase(GraphDatabaseService databaseService) {
206+
var databaseId = GraphDatabaseApiProxy.databaseId(databaseService);
207+
var repo = GraphDatabaseApiProxy.resolveDependency(databaseService, DatabaseReferenceRepository.class);
208+
return repo.getCompositeDatabaseReferences().stream()
209+
.map(DatabaseReferenceImpl.Internal::databaseId)
210+
.anyMatch(databaseId::equals);
211+
}
200212
}

compatibility/5.15/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_515/Neo4jProxyImpl.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.neo4j.gds.compat.GraphDatabaseApiProxy;
2828
import org.neo4j.gds.compat._5x.CommonNeo4jProxyImpl;
2929
import org.neo4j.gds.compat._5x.CompatAccessModeImpl;
30+
import org.neo4j.graphdb.GraphDatabaseService;
3031
import org.neo4j.internal.kernel.api.Cursor;
3132
import org.neo4j.internal.kernel.api.PartitionedScan;
3233
import org.neo4j.internal.kernel.api.TokenSet;
@@ -44,6 +45,8 @@
4445
import org.neo4j.kernel.api.KernelTransaction;
4546
import org.neo4j.kernel.api.procedure.Context;
4647
import org.neo4j.kernel.api.procedure.GlobalProcedures;
48+
import org.neo4j.kernel.database.DatabaseReferenceImpl;
49+
import org.neo4j.kernel.database.DatabaseReferenceRepository;
4750
import org.neo4j.kernel.impl.store.RecordStore;
4851
import org.neo4j.kernel.impl.store.record.AbstractBaseRecord;
4952
import org.neo4j.procedure.Mode;
@@ -202,4 +205,13 @@ public boolean allowsReadNodeProperty(
202205
public String metricsManagerClass() {
203206
return "com.neo4j.metrics.MetricsManager";
204207
}
208+
209+
@Override
210+
public boolean isCompositeDatabase(GraphDatabaseService databaseService) {
211+
var databaseId = GraphDatabaseApiProxy.databaseId(databaseService);
212+
var repo = GraphDatabaseApiProxy.resolveDependency(databaseService, DatabaseReferenceRepository.class);
213+
return repo.getCompositeDatabaseReferences().stream()
214+
.map(DatabaseReferenceImpl.Internal::databaseId)
215+
.anyMatch(databaseId::equals);
216+
}
205217
}

compatibility/5.6/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_56/Neo4jProxyImpl.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@
2020
package org.neo4j.gds.compat._56;
2121

2222
import org.neo4j.common.DependencyResolver;
23+
import org.neo4j.fabric.FabricDatabaseManager;
2324
import org.neo4j.gds.compat.BoltTransactionRunner;
2425
import org.neo4j.gds.compat.CompatExecutionContext;
2526
import org.neo4j.gds.compat.GlobalProcedureRegistry;
2627
import org.neo4j.gds.compat.GraphDatabaseApiProxy;
2728
import org.neo4j.gds.compat.StoreScan;
2829
import org.neo4j.gds.compat._5x.CommonNeo4jProxyImpl;
30+
import org.neo4j.graphdb.GraphDatabaseService;
2931
import org.neo4j.internal.kernel.api.Cursor;
3032
import org.neo4j.internal.kernel.api.NodeCursor;
3133
import org.neo4j.internal.kernel.api.NodeLabelIndexCursor;
@@ -227,4 +229,10 @@ public void close() {
227229
}
228230
};
229231
}
232+
233+
@Override
234+
public boolean isCompositeDatabase(GraphDatabaseService databaseService) {
235+
var databaseManager = GraphDatabaseApiProxy.resolveDependency(databaseService, FabricDatabaseManager.class);
236+
return databaseManager.isFabricDatabase(GraphDatabaseApiProxy.databaseId(databaseService));
237+
}
230238
}

compatibility/5.7/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_57/Neo4jProxyImpl.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@
2020
package org.neo4j.gds.compat._57;
2121

2222
import org.neo4j.common.DependencyResolver;
23+
import org.neo4j.fabric.FabricDatabaseManager;
2324
import org.neo4j.gds.compat.BoltTransactionRunner;
2425
import org.neo4j.gds.compat.CompatExecutionContext;
2526
import org.neo4j.gds.compat.GlobalProcedureRegistry;
2627
import org.neo4j.gds.compat.GraphDatabaseApiProxy;
2728
import org.neo4j.gds.compat.StoreScan;
2829
import org.neo4j.gds.compat._5x.CommonNeo4jProxyImpl;
30+
import org.neo4j.graphdb.GraphDatabaseService;
2931
import org.neo4j.internal.kernel.api.Cursor;
3032
import org.neo4j.internal.kernel.api.NodeCursor;
3133
import org.neo4j.internal.kernel.api.NodeLabelIndexCursor;
@@ -232,4 +234,10 @@ public void close() {
232234
}
233235
};
234236
}
237+
238+
@Override
239+
public boolean isCompositeDatabase(GraphDatabaseService databaseService) {
240+
var databaseManager = GraphDatabaseApiProxy.resolveDependency(databaseService, FabricDatabaseManager.class);
241+
return databaseManager.isFabricDatabase(GraphDatabaseApiProxy.databaseId(databaseService));
242+
}
235243
}

compatibility/5.8/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_58/Neo4jProxyImpl.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@
2020
package org.neo4j.gds.compat._58;
2121

2222
import org.neo4j.common.DependencyResolver;
23+
import org.neo4j.fabric.FabricDatabaseManager;
2324
import org.neo4j.gds.compat.BoltTransactionRunner;
2425
import org.neo4j.gds.compat.CompatExecutionContext;
2526
import org.neo4j.gds.compat.GlobalProcedureRegistry;
2627
import org.neo4j.gds.compat.GraphDatabaseApiProxy;
2728
import org.neo4j.gds.compat._5x.CommonNeo4jProxyImpl;
29+
import org.neo4j.graphdb.GraphDatabaseService;
2830
import org.neo4j.internal.kernel.api.Cursor;
2931
import org.neo4j.internal.kernel.api.PartitionedScan;
3032
import org.neo4j.internal.kernel.api.exceptions.ProcedureException;
@@ -177,4 +179,10 @@ public void close() {
177179
}
178180
};
179181
}
182+
183+
@Override
184+
public boolean isCompositeDatabase(GraphDatabaseService databaseService) {
185+
var databaseManager = GraphDatabaseApiProxy.resolveDependency(databaseService, FabricDatabaseManager.class);
186+
return databaseManager.isFabricDatabase(GraphDatabaseApiProxy.databaseId(databaseService));
187+
}
180188
}

0 commit comments

Comments
 (0)