private static StoreFactory OpenStore(FileSystemAbstraction fileSystem, File storeDir, Config config, PageCache pageCache) { IdGeneratorFactory idGeneratorFactory = new DefaultIdGeneratorFactory(fileSystem); NullLogProvider logProvider = NullLogProvider.Instance; return(new StoreFactory(DatabaseLayout.of(storeDir), config, idGeneratorFactory, pageCache, fileSystem, logProvider, EmptyVersionContextSupplier.EMPTY)); }
private static long GetHighId(DefaultIdGeneratorFactory factory, IdType idType, File idFile) { IdGenerator idGenerator = factory.Open(idFile, idType, () => - 1L, long.MaxValue); long highId = idGenerator.HighId; idGenerator.Dispose(); return(highId); }
private IdAllocationState DeriveIdAllocationState(DatabaseLayout databaseLayout) { DefaultIdGeneratorFactory factory = new DefaultIdGeneratorFactory(_fs); long[] highIds = new long[] { GetHighId(factory, NODE, databaseLayout.IdNodeStore()), GetHighId(factory, RELATIONSHIP, databaseLayout.IdRelationshipStore()), GetHighId(factory, PROPERTY, databaseLayout.IdPropertyStore()), GetHighId(factory, STRING_BLOCK, databaseLayout.IdPropertyStringStore()), GetHighId(factory, ARRAY_BLOCK, databaseLayout.IdPropertyArrayStore()), GetHighId(factory, PROPERTY_KEY_TOKEN, databaseLayout.IdPropertyKeyTokenStore()), GetHighId(factory, PROPERTY_KEY_TOKEN_NAME, databaseLayout.IdPropertyKeyTokenNamesStore()), GetHighId(factory, RELATIONSHIP_TYPE_TOKEN, databaseLayout.IdRelationshipTypeTokenStore()), GetHighId(factory, RELATIONSHIP_TYPE_TOKEN_NAME, databaseLayout.IdRelationshipTypeTokenNamesStore()), GetHighId(factory, LABEL_TOKEN, databaseLayout.IdLabelTokenStore()), GetHighId(factory, LABEL_TOKEN_NAME, databaseLayout.IdLabelTokenNamesStore()), GetHighId(factory, NEOSTORE_BLOCK, databaseLayout.IdMetadataStore()), GetHighId(factory, SCHEMA, databaseLayout.IdSchemaStore()), GetHighId(factory, NODE_LABELS, databaseLayout.IdNodeLabelStore()), GetHighId(factory, RELATIONSHIP_GROUP, databaseLayout.IdRelationshipGroupStore()) }; return(new IdAllocationState(highIds, FIRST_INDEX)); }
private AbstractDynamicStore NewTestableDynamicStore() { DefaultIdGeneratorFactory idGeneratorFactory = new DefaultIdGeneratorFactory(_fs); AbstractDynamicStore store = new AbstractDynamicStoreAnonymousInnerClass(this, _storeFile, _idFile, Config.defaults(), idGeneratorFactory, _pageCache, NullLogProvider.Instance, _formats.dynamic(), _formats.storeVersion()); store.Initialise(true); return(store); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Before public void before() public virtual void Before() { _config = Config.defaults(); DefaultIdGeneratorFactory idGeneratorFactory = new DefaultIdGeneratorFactory(_fs.get()); _storeFactory = new StoreFactory(_testDirectory.databaseLayout(), _config, idGeneratorFactory, PageCacheRule.getPageCache(_fs.get()), _fs.get(), NullLogProvider.Instance, EmptyVersionContextSupplier.EMPTY); _neoStores = _storeFactory.openAllNeoStores(true); _store = _neoStores.SchemaStore; }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private org.neo4j.kernel.impl.store.NeoStores createNeoStore(org.neo4j.io.fs.FileSystemAbstraction fs, org.neo4j.io.pagecache.PageCache pageCache) throws java.io.IOException private NeoStores CreateNeoStore(FileSystemAbstraction fs, PageCache pageCache) { Config config = Config.defaults(); DefaultIdGeneratorFactory idGeneratorFactory = new DefaultIdGeneratorFactory(fs); NullLogProvider logProvider = NullLogProvider.Instance; StoreFactory storeFactory = new StoreFactory(_testDirectory.databaseLayout(), config, idGeneratorFactory, pageCache, fs, logProvider, EmptyVersionContextSupplier.EMPTY); return(storeFactory.OpenAllNeoStores(true)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Before public void before() public virtual void Before() { FileSystemAbstraction fs = FileSystemRule.get(); DefaultIdGeneratorFactory idGeneratorFactory = new DefaultIdGeneratorFactory(fs); PageCache pageCache = PageCacheRule.getPageCache(fs); StoreFactory factory = new StoreFactory(TestDirectory.databaseLayout(), Config.defaults(), idGeneratorFactory, pageCache, fs, NullLogProvider.Instance, EmptyVersionContextSupplier.EMPTY); _neoStores = factory.OpenAllNeoStores(true); _arrayStore = _neoStores.PropertyStore.ArrayStore; }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Before public void setupStores() public virtual void SetupStores() { DatabaseLayout storeLayout = Storage.directory().databaseLayout(); Config config = Config.defaults(pagecache_memory, "8m"); PageCache pageCache = Storage.pageCache(); FileSystemAbstraction fs = Storage.fileSystem(); DefaultIdGeneratorFactory idGeneratorFactory = new DefaultIdGeneratorFactory(fs); NullLogProvider logProvider = NullLogProvider.Instance; StoreFactory storeFactory = new StoreFactory(storeLayout, config, idGeneratorFactory, pageCache, fs, logProvider, EMPTY); _neoStores = storeFactory.OpenAllNeoStores(true); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: void dump(org.neo4j.io.layout.DatabaseLayout databaseLayout) throws java.io.IOException internal virtual void Dump(DatabaseLayout databaseLayout) { using (DefaultFileSystemAbstraction fs = new DefaultFileSystemAbstraction(), PageCache pageCache = createPageCache(fs, createInitialisedScheduler())) { DefaultIdGeneratorFactory idGeneratorFactory = new DefaultIdGeneratorFactory(fs); Config config = Config.defaults(); StoreFactory storeFactory = new StoreFactory(databaseLayout, config, idGeneratorFactory, pageCache, fs, LogProvider(), EmptyVersionContextSupplier.EMPTY); using (NeoStores neoStores = storeFactory.OpenNeoStores(StoreTypes)) { RecordStore <RECORD> store = store(neoStores); RECORD record = store.NewRecord(); for (long next = FirstRecord; next != -1;) { store.GetRecord(next, record, RecordLoad.FORCE); Console.WriteLine(record); next = next(record); } } } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void mustCloseAllStoresIfNeoStoresFailToOpen() public virtual void MustCloseAllStoresIfNeoStoresFailToOpen() { PageCache pageCache = Rules.pageCache(); DatabaseLayout databaseLayout = Rules.directory().databaseLayout(); Config config = Config.defaults(); FileSystemAbstraction fs = Rules.fileSystem(); IdGeneratorFactory idGenFactory = new DefaultIdGeneratorFactory(fs); LogProvider logProvider = NullLogProvider.Instance; VersionContextSupplier versions = EmptyVersionContextSupplier.EMPTY; RecordFormats formats = Standard.LATEST_RECORD_FORMATS; (new RecordFormatPropertyConfigurator(formats, config)).configure(); bool create = true; StoreType[] storeTypes = StoreType.values(); OpenOption[] openOptions = new OpenOption[0]; NeoStores neoStores = new NeoStores(databaseLayout, config, idGenFactory, pageCache, logProvider, fs, versions, formats, create, storeTypes, openOptions); File schemaStore = neoStores.SchemaStore.StorageFile; neoStores.Close(); // Make the schema store inaccessible, to sabotage the next initialisation we'll do. assumeTrue(schemaStore.setReadable(false)); assumeTrue(schemaStore.setWritable(false)); try { // This should fail due to the permissions we changed above. // And when it fails, the already-opened stores should be closed. new NeoStores(databaseLayout, config, idGenFactory, pageCache, logProvider, fs, versions, formats, create, storeTypes, openOptions); fail("Opening NeoStores should have thrown."); } catch (Exception) { } // We verify that the successfully opened stores were closed again by the failed NeoStores open, // by closing the page cache, which will throw if not all files have been unmapped. pageCache.Close(); }
private DirectStoreAccess DirectStoreAccess(bool readOnly) { if (_directStoreAccess == null) { _life.start(); JobScheduler scheduler = _life.add(JobSchedulerFactory.createInitialisedScheduler()); _fileSystem = new DefaultFileSystemAbstraction(); PageCache pageCache = GetPageCache(_fileSystem); LogProvider logProvider = NullLogProvider.Instance; Config config = Config.defaults(GraphDatabaseSettings.read_only, readOnly ? TRUE : FALSE); DefaultIdGeneratorFactory idGeneratorFactory = new DefaultIdGeneratorFactory(_fileSystem); StoreFactory storeFactory = new StoreFactory(_directory.databaseLayout(), config, idGeneratorFactory, pageCache, _fileSystem, logProvider, EmptyVersionContextSupplier.EMPTY); _neoStore = storeFactory.OpenAllNeoStores(); StoreAccess nativeStores; if (_keepStatistics) { AccessStatistics accessStatistics = new AccessStatistics(); _statistics = new VerboseStatistics(accessStatistics, new DefaultCounts(defaultConsistencyCheckThreadsNumber()), NullLog.Instance); nativeStores = new AccessStatsKeepingStoreAccess(_neoStore, accessStatistics); } else { _statistics = Statistics.NONE; nativeStores = new StoreAccess(_neoStore); } nativeStores.Initialize(); IndexStoreView indexStoreView = new NeoStoreIndexStoreView(LockService.NO_LOCK_SERVICE, nativeStores.RawNeoStores); Monitors monitors = new Monitors(); LabelScanStore labelScanStore = StartLabelScanStore(pageCache, indexStoreView, monitors, readOnly); IndexProviderMap indexes = CreateIndexes(pageCache, _fileSystem, _directory.databaseDir(), config, scheduler, logProvider, monitors); TokenHolders tokenHolders = new TokenHolders(new DelegatingTokenHolder(new ReadOnlyTokenCreator(), Org.Neo4j.Kernel.impl.core.TokenHolder_Fields.TYPE_PROPERTY_KEY), new DelegatingTokenHolder(new ReadOnlyTokenCreator(), Org.Neo4j.Kernel.impl.core.TokenHolder_Fields.TYPE_LABEL), new DelegatingTokenHolder(new ReadOnlyTokenCreator(), Org.Neo4j.Kernel.impl.core.TokenHolder_Fields.TYPE_RELATIONSHIP_TYPE)); tokenHolders.PropertyKeyTokens().InitialTokens = _neoStore.PropertyKeyTokenStore.Tokens; tokenHolders.LabelTokens().InitialTokens = _neoStore.LabelTokenStore.Tokens; tokenHolders.RelationshipTypeTokens().InitialTokens = _neoStore.RelationshipTypeTokenStore.Tokens; _directStoreAccess = new DirectStoreAccess(nativeStores, labelScanStore, indexes, tokenHolders); } return(_directStoreAccess); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: public static void main(String... args) throws Exception public static void Main(params string[] args) { if (args == null || args.Length == 0) { Console.Error.WriteLine("SYNTAX: [file[:id[,id]*]]+"); Console.Error.WriteLine("where 'id' can be single id or range like: lowId-highId"); return; } using (DefaultFileSystemAbstraction fs = new DefaultFileSystemAbstraction(), PageCache pageCache = createPageCache(fs, createInitialisedScheduler())) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.neo4j.kernel.impl.store.id.DefaultIdGeneratorFactory idGeneratorFactory = new org.neo4j.kernel.impl.store.id.DefaultIdGeneratorFactory(fs); DefaultIdGeneratorFactory idGeneratorFactory = new DefaultIdGeneratorFactory(fs); System.Func <File, StoreFactory> createStoreFactory = file => new StoreFactory(DatabaseLayout.of(file.ParentFile), Config.defaults(), idGeneratorFactory, pageCache, fs, LogProvider(), EmptyVersionContextSupplier.EMPTY); foreach (string arg in args) { DumpFile(createStoreFactory, arg); } } }
public AbstractDynamicStoreAnonymousInnerClass(AbstractDynamicStoreTest outerInstance, File storeFile, File idFile, Config defaults, DefaultIdGeneratorFactory idGeneratorFactory, PageCache pageCache, NullLogProvider getInstance, Org.Neo4j.Kernel.impl.store.format.RecordFormat <DynamicRecord> dynamic, string storeVersion) : base(storeFile, idFile, defaults, IdType.ARRAY_BLOCK, idGeneratorFactory, pageCache, getInstance, "test", BLOCK_SIZE, dynamic, storeVersion) { this.outerInstance = outerInstance; }