Skip to content

Commit e2439af

Browse files
Add fake impl of SEFactory to 5.x layers
Co-authored-by: Paul Horn <paul.horn@neotechnology.com>
1 parent b381bd7 commit e2439af

File tree

10 files changed

+1365
-0
lines changed

10 files changed

+1365
-0
lines changed

compatibility/5.1/storage-engine-adapter/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ if (ver.'neo4j'.startsWith('5.')) {
4444
dependencies {
4545
annotationProcessor group: 'org.neo4j', name: 'annotations', version: ver.'neo4j'
4646
compileOnly group: 'org.neo4j', name: 'annotations', version: ver.'neo4j'
47+
compileOnly group: 'org.neo4j', name: 'neo4j-kernel-api', version: ver.'neo4j'
4748

4849
implementation project(':neo4j-adapter')
4950
implementation project(':storage-engine-adapter-api')
Lines changed: 272 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,272 @@
1+
/*
2+
* Copyright (c) "Neo4j"
3+
* Neo4j Sweden AB [http://neo4j.com]
4+
*
5+
* This file is part of Neo4j.
6+
*
7+
* Neo4j is free software: you can redistribute it and/or modify
8+
* it under the terms of the GNU General Public License as published by
9+
* the Free Software Foundation, either version 3 of the License, or
10+
* (at your option) any later version.
11+
*
12+
* This program is distributed in the hope that it will be useful,
13+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15+
* GNU General Public License for more details.
16+
*
17+
* You should have received a copy of the GNU General Public License
18+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19+
*/
20+
package org.neo4j.gds.compat._51;
21+
22+
import org.neo4j.annotations.service.ServiceProvider;
23+
import org.neo4j.configuration.Config;
24+
import org.neo4j.dbms.database.readonly.DatabaseReadOnlyChecker;
25+
import org.neo4j.index.internal.gbptree.RecoveryCleanupWorkCollector;
26+
import org.neo4j.internal.id.IdController;
27+
import org.neo4j.internal.id.IdGeneratorFactory;
28+
import org.neo4j.internal.schema.IndexConfigCompleter;
29+
import org.neo4j.internal.schema.SchemaRule;
30+
import org.neo4j.internal.schema.SchemaState;
31+
import org.neo4j.io.fs.FileSystemAbstraction;
32+
import org.neo4j.io.layout.DatabaseLayout;
33+
import org.neo4j.io.layout.Neo4jLayout;
34+
import org.neo4j.io.pagecache.PageCache;
35+
import org.neo4j.io.pagecache.context.CursorContext;
36+
import org.neo4j.io.pagecache.tracing.PageCacheTracer;
37+
import org.neo4j.lock.LockService;
38+
import org.neo4j.logging.LogProvider;
39+
import org.neo4j.logging.internal.LogService;
40+
import org.neo4j.memory.MemoryTracker;
41+
import org.neo4j.monitoring.DatabaseHealth;
42+
import org.neo4j.scheduler.JobScheduler;
43+
import org.neo4j.storageengine.api.CommandReaderFactory;
44+
import org.neo4j.storageengine.api.ConstraintRuleAccessor;
45+
import org.neo4j.storageengine.api.LogVersionRepository;
46+
import org.neo4j.storageengine.api.MetadataProvider;
47+
import org.neo4j.storageengine.api.StorageEngine;
48+
import org.neo4j.storageengine.api.StorageEngineFactory;
49+
import org.neo4j.storageengine.api.StorageFilesState;
50+
import org.neo4j.storageengine.api.StoreId;
51+
import org.neo4j.storageengine.api.StoreVersion;
52+
import org.neo4j.storageengine.api.StoreVersionCheck;
53+
import org.neo4j.storageengine.api.TransactionIdStore;
54+
import org.neo4j.storageengine.migration.RollingUpgradeCompatibility;
55+
import org.neo4j.storageengine.migration.SchemaRuleMigrationAccess;
56+
import org.neo4j.storageengine.migration.StoreMigrationParticipant;
57+
import org.neo4j.token.TokenHolders;
58+
59+
import java.io.IOException;
60+
import java.nio.file.Path;
61+
import java.util.List;
62+
import java.util.Optional;
63+
import java.util.UUID;
64+
65+
@ServiceProvider
66+
public class InMemoryStorageEngineFactory implements StorageEngineFactory {
67+
68+
public InMemoryStorageEngineFactory() {
69+
throw new UnsupportedOperationException("This should never be instantiated");
70+
}
71+
72+
@Override
73+
public String name() {
74+
return null;
75+
}
76+
77+
@Override
78+
public StoreVersionCheck versionCheck(
79+
FileSystemAbstraction fs,
80+
DatabaseLayout databaseLayout,
81+
Config config,
82+
PageCache pageCache,
83+
LogService logService,
84+
PageCacheTracer pageCacheTracer
85+
) {
86+
return null;
87+
}
88+
89+
@Override
90+
public StoreVersion versionInformation(String storeVersion) {
91+
return null;
92+
}
93+
94+
@Override
95+
public StoreVersion versionInformation(StoreId storeId) {
96+
return null;
97+
}
98+
99+
@Override
100+
public RollingUpgradeCompatibility rollingUpgradeCompatibility() {
101+
return null;
102+
}
103+
104+
@Override
105+
public List<StoreMigrationParticipant> migrationParticipants(
106+
FileSystemAbstraction fs,
107+
Config config,
108+
PageCache pageCache,
109+
JobScheduler jobScheduler,
110+
LogService logService,
111+
PageCacheTracer cacheTracer,
112+
MemoryTracker memoryTracker
113+
) {
114+
return null;
115+
}
116+
117+
@Override
118+
public StorageEngine instantiate(
119+
FileSystemAbstraction fs,
120+
DatabaseLayout databaseLayout,
121+
Config config,
122+
PageCache pageCache,
123+
TokenHolders tokenHolders,
124+
SchemaState schemaState,
125+
ConstraintRuleAccessor constraintSemantics,
126+
IndexConfigCompleter indexConfigCompleter,
127+
LockService lockService,
128+
IdGeneratorFactory idGeneratorFactory,
129+
IdController idController,
130+
DatabaseHealth databaseHealth,
131+
LogProvider internalLogProvider,
132+
LogProvider userLogProvider,
133+
RecoveryCleanupWorkCollector recoveryCleanupWorkCollector,
134+
PageCacheTracer cacheTracer,
135+
boolean createStoreIfNotExists,
136+
DatabaseReadOnlyChecker readOnlyChecker,
137+
MemoryTracker memoryTracker
138+
) {
139+
return null;
140+
}
141+
142+
@Override
143+
public List<Path> listStorageFiles(FileSystemAbstraction fileSystem, DatabaseLayout databaseLayout) throws
144+
IOException {
145+
return null;
146+
}
147+
148+
@Override
149+
public boolean storageExists(FileSystemAbstraction fileSystem, DatabaseLayout databaseLayout, PageCache pageCache) {
150+
return false;
151+
}
152+
153+
@Override
154+
public TransactionIdStore readOnlyTransactionIdStore(
155+
FileSystemAbstraction filySystem,
156+
DatabaseLayout databaseLayout,
157+
PageCache pageCache,
158+
CursorContext cursorContext
159+
) throws IOException {
160+
return null;
161+
}
162+
163+
@Override
164+
public LogVersionRepository readOnlyLogVersionRepository(
165+
DatabaseLayout databaseLayout,
166+
PageCache pageCache,
167+
CursorContext cursorContext
168+
) throws IOException {
169+
return null;
170+
}
171+
172+
@Override
173+
public MetadataProvider transactionMetaDataStore(
174+
FileSystemAbstraction fs,
175+
DatabaseLayout databaseLayout,
176+
Config config,
177+
PageCache pageCache,
178+
PageCacheTracer cacheTracer,
179+
DatabaseReadOnlyChecker readOnlyChecker
180+
) throws IOException {
181+
return null;
182+
}
183+
184+
@Override
185+
public StoreId storeId(
186+
FileSystemAbstraction fs,
187+
DatabaseLayout databaseLayout,
188+
PageCache pageCache,
189+
CursorContext cursorContext
190+
) throws IOException {
191+
return null;
192+
}
193+
194+
@Override
195+
public void setStoreId(
196+
FileSystemAbstraction fs,
197+
DatabaseLayout databaseLayout,
198+
PageCache pageCache,
199+
CursorContext cursorContext,
200+
StoreId storeId,
201+
long upgradeTxChecksum,
202+
long upgradeTxCommitTimestamp
203+
) throws IOException {
204+
205+
}
206+
207+
@Override
208+
public void setExternalStoreUUID(
209+
FileSystemAbstraction fs,
210+
DatabaseLayout databaseLayout,
211+
PageCache pageCache,
212+
CursorContext cursorContext,
213+
UUID externalStoreId
214+
) throws IOException {
215+
216+
}
217+
218+
@Override
219+
public Optional<UUID> databaseIdUuid(
220+
FileSystemAbstraction fs,
221+
DatabaseLayout databaseLayout,
222+
PageCache pageCache,
223+
CursorContext cursorContext
224+
) {
225+
return Optional.empty();
226+
}
227+
228+
@Override
229+
public SchemaRuleMigrationAccess schemaRuleMigrationAccess(
230+
FileSystemAbstraction fs,
231+
PageCache pageCache,
232+
Config config,
233+
DatabaseLayout databaseLayout,
234+
LogService logService,
235+
String recordFormats,
236+
PageCacheTracer cacheTracer,
237+
CursorContext cursorContext,
238+
MemoryTracker memoryTracker
239+
) {
240+
return null;
241+
}
242+
243+
@Override
244+
public List<SchemaRule> loadSchemaRules(
245+
FileSystemAbstraction fs,
246+
PageCache pageCache,
247+
Config config,
248+
DatabaseLayout databaseLayout,
249+
CursorContext cursorContext
250+
) {
251+
return null;
252+
}
253+
254+
@Override
255+
public StorageFilesState checkStoreFileState(
256+
FileSystemAbstraction fs,
257+
DatabaseLayout databaseLayout,
258+
PageCache pageCache
259+
) {
260+
return null;
261+
}
262+
263+
@Override
264+
public CommandReaderFactory commandReaderFactory() {
265+
return null;
266+
}
267+
268+
@Override
269+
public DatabaseLayout databaseLayout(Neo4jLayout neo4jLayout, String databaseName) {
270+
return null;
271+
}
272+
}

compatibility/5.2/storage-engine-adapter/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ if (ver.'neo4j'.startsWith('5.')) {
4444
dependencies {
4545
annotationProcessor group: 'org.neo4j', name: 'annotations', version: ver.'neo4j'
4646
compileOnly group: 'org.neo4j', name: 'annotations', version: ver.'neo4j'
47+
compileOnly group: 'org.neo4j', name: 'neo4j-kernel-api', version: ver.'neo4j'
4748

4849
implementation project(':neo4j-adapter')
4950
implementation project(':storage-engine-adapter-api')

0 commit comments

Comments
 (0)