Skip to content

Commit e9ecce9

Browse files
authored
Merge pull request #6688 from knutwalker/arrow-compat-c-7bE0XfDT
Move Neo4jLayout.of behind compat layer
2 parents 5619456 + 4b11730 commit e9ecce9

File tree

8 files changed

+42
-11
lines changed

8 files changed

+42
-11
lines changed

compatibility/4.4/neo4j-kernel-adapter/src/main/java/org/neo4j/gds/compat/_44/Neo4jProxyImpl.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -650,7 +650,13 @@ public void configureRecordFormat(Config.Builder configBuilder, String recordFor
650650

651651
@Override
652652
public GdsDatabaseLayout databaseLayout(Config config, String databaseName) {
653-
return new GdsDatabaseLayoutImpl(Neo4jLayout.of(config).databaseLayout(databaseName));
653+
return new GdsDatabaseLayoutImpl(neo4jLayout(config).databaseLayout(databaseName));
654+
}
655+
656+
@Override
657+
@SuppressForbidden(reason = "This is the compat specific use")
658+
public Neo4jLayout neo4jLayout(Config config) {
659+
return Neo4jLayout.of(config);
654660
}
655661

656662
@Override

compatibility/5.1/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_51/Neo4jProxyImpl.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -763,10 +763,17 @@ public void configureRecordFormat(Config.Builder configBuilder, String recordFor
763763
@Override
764764
public GdsDatabaseLayout databaseLayout(Config config, String databaseName) {
765765
var storageEngineFactory = StorageEngineFactory.selectStorageEngine(config);
766-
var databaseLayout = storageEngineFactory.formatSpecificDatabaseLayout(Neo4jLayout.of(config).databaseLayout(databaseName));
766+
var dbLayout = neo4jLayout(config).databaseLayout(databaseName);
767+
var databaseLayout = storageEngineFactory.formatSpecificDatabaseLayout(dbLayout);
767768
return new GdsDatabaseLayoutImpl(databaseLayout);
768769
}
769770

771+
@Override
772+
@SuppressForbidden(reason = "This is the compat specific use")
773+
public Neo4jLayout neo4jLayout(Config config) {
774+
return Neo4jLayout.of(config);
775+
}
776+
770777
@Override
771778
public BoltTransactionRunner<?, ?> boltTransactionRunner() {
772779
return new BoltTransactionRunnerImpl();

compatibility/5.2/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_52/Neo4jProxyImpl.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -761,10 +761,17 @@ public void configureRecordFormat(Config.Builder configBuilder, String recordFor
761761
@Override
762762
public GdsDatabaseLayout databaseLayout(Config config, String databaseName) {
763763
var storageEngineFactory = StorageEngineFactory.selectStorageEngine(config);
764-
var databaseLayout = storageEngineFactory.formatSpecificDatabaseLayout(Neo4jLayout.of(config).databaseLayout(databaseName));
764+
var dbLayout = neo4jLayout(config).databaseLayout(databaseName);
765+
var databaseLayout = storageEngineFactory.formatSpecificDatabaseLayout(dbLayout);
765766
return new GdsDatabaseLayoutImpl(databaseLayout);
766767
}
767768

769+
@Override
770+
@SuppressForbidden(reason = "This is the compat specific use")
771+
public Neo4jLayout neo4jLayout(Config config) {
772+
return Neo4jLayout.of(config);
773+
}
774+
768775
@Override
769776
public BoltTransactionRunner<?, ?> boltTransactionRunner() {
770777
return new BoltTransactionRunnerImpl();

compatibility/5.3/neo4j-kernel-adapter/src/main/java17/org/neo4j/gds/compat/_53/Neo4jProxyImpl.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -761,10 +761,17 @@ public void configureRecordFormat(Config.Builder configBuilder, String recordFor
761761
@Override
762762
public GdsDatabaseLayout databaseLayout(Config config, String databaseName) {
763763
var storageEngineFactory = StorageEngineFactory.selectStorageEngine(config);
764-
var databaseLayout = storageEngineFactory.formatSpecificDatabaseLayout(Neo4jLayout.of(config).databaseLayout(databaseName));
764+
var dbLayout = neo4jLayout(config).databaseLayout(databaseName);
765+
var databaseLayout = storageEngineFactory.formatSpecificDatabaseLayout(dbLayout);
765766
return new GdsDatabaseLayoutImpl(databaseLayout);
766767
}
767768

769+
@Override
770+
@SuppressForbidden(reason = "This is the compat specific use")
771+
public Neo4jLayout neo4jLayout(Config config) {
772+
return Neo4jLayout.of(config);
773+
}
774+
768775
@Override
769776
public BoltTransactionRunner<?, ?> boltTransactionRunner() {
770777
return new BoltTransactionRunnerImpl();

compatibility/api/neo4j-kernel-adapter/src/main/java/org/neo4j/gds/compat/Neo4jProxyApi.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
import org.neo4j.internal.schema.IndexOrder;
6464
import org.neo4j.io.fs.FileSystemAbstraction;
6565
import org.neo4j.io.layout.DatabaseLayout;
66+
import org.neo4j.io.layout.Neo4jLayout;
6667
import org.neo4j.io.pagecache.PageCache;
6768
import org.neo4j.io.pagecache.context.CursorContext;
6869
import org.neo4j.io.pagecache.tracing.PageCacheTracer;
@@ -264,6 +265,8 @@ RecordFormats selectRecordFormatForStore(
264265

265266
GdsDatabaseLayout databaseLayout(Config config, String databaseName);
266267

268+
Neo4jLayout neo4jLayout(Config config);
269+
267270
BoltTransactionRunner<?, ?> boltTransactionRunner();
268271

269272
HostnamePort getLocalBoltAddress(ConnectorPortRegister connectorPortRegister);

compatibility/common/neo4j-kernel-adapter/src/main/java/org/neo4j/gds/compat/Neo4jProxy.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
import org.neo4j.internal.schema.IndexOrder;
6464
import org.neo4j.io.fs.FileSystemAbstraction;
6565
import org.neo4j.io.layout.DatabaseLayout;
66+
import org.neo4j.io.layout.Neo4jLayout;
6667
import org.neo4j.io.pagecache.PageCache;
6768
import org.neo4j.io.pagecache.context.CursorContext;
6869
import org.neo4j.io.pagecache.tracing.PageCacheTracer;
@@ -398,6 +399,10 @@ public static GdsDatabaseLayout databaseLayout(Config config, String databaseNam
398399
return IMPL.databaseLayout(config, databaseName);
399400
}
400401

402+
public static Neo4jLayout neo4jLayout(Config config) {
403+
return IMPL.neo4jLayout(config);
404+
}
405+
401406
public static BoltTransactionRunner<?, ?> boltTransactionRunner() {
402407
return IMPL.boltTransactionRunner();
403408
}

etc/forbidden-apis

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ org.neo4j.logging.internal.LogService#getInternalLog(java.lang.Class) @ Use Neo4
1111
org.neo4j.configuration.SettingImpl#newBuilder(java.lang.String, org.neo4j.configuration.SettingValueParser, java.lang.Object) @ Use SettingProxy#newBuilder instead.
1212
org.neo4j.configuration.SettingBuilder(java.lang.String, org.neo4j.configuration.SettingValueParser, java.lang.Object) @ Use SettingProxy#newBuilder instead.
1313

14+
org.neo4j.io.layout.Neo4jLayout.of(org.neo4j.configuration.Config) @ Use Neo4jProxy.neo4jLayout instead.
15+
org.neo4j.io.layout.Neo4jLayout.of(org.neo4j.graphdb.config.Configuration) @ Use Neo4jProxy.neo4jLayout instead.
16+
1417
java.util.ServiceLoader#load(java.lang.Class) @ Must pass explicit class loader with service loading, as the context class loader for the thread may be the wrong one
1518

1619
org.neo4j.kernel.api.procedure.CallableProcedure @ Implement org.neo4j.gds.compat.CompatCallableProcedure instead and call Neo4jProxy.callableProcedure(compat).

neo4j-adapter/src/main/java/org/neo4j/gds/compat/GraphDatabaseApiProxy.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import org.jetbrains.annotations.TestOnly;
2323
import org.neo4j.common.DependencyResolver;
24-
import org.neo4j.configuration.Config;
2524
import org.neo4j.exceptions.KernelException;
2625
import org.neo4j.gds.annotation.ValueClass;
2726
import org.neo4j.graphdb.GraphDatabaseService;
@@ -30,7 +29,6 @@
3029
import org.neo4j.graphdb.Result;
3130
import org.neo4j.graphdb.Transaction;
3231
import org.neo4j.io.layout.DatabaseLayout;
33-
import org.neo4j.io.layout.Neo4jLayout;
3432
import org.neo4j.kernel.GraphDatabaseQueryService;
3533
import org.neo4j.kernel.api.KernelTransaction;
3634
import org.neo4j.kernel.api.procedure.GlobalProcedures;
@@ -114,11 +112,6 @@ public static DatabaseLayout databaseLayout(GraphDatabaseService db) {
114112
return cast(db).databaseLayout();
115113
}
116114

117-
public static Neo4jLayout neo4jLayout(GraphDatabaseService db) {
118-
Config configuration = resolveDependency(db, Config.class);
119-
return Neo4jLayout.of(configuration);
120-
}
121-
122115
public static DbmsInfo dbmsInfo(GraphDatabaseService db) {
123116
return cast(db).dbmsInfo();
124117
}

0 commit comments

Comments
 (0)