private LoggingTransactionalDatabase<Character, Character, Long> createCharacterDbUsingFiles(EFile f, EFile treef, EFile logf)
{
LogAdapterHolder lah = new LogAdapterHolder(new StdOutLogAdapter());
lah.setLevel(Level.SEVERE);
DatabaseBackend<Character, Character, Long> backend = new ConstantRecordSizeHeapBackend<Character, Character>(f, false, CharacterNullSerializer.INSTANCE, CharacterSerializer.INSTANCE, 0, 8192, lah);
NodeRepository<Character> nr = new LruCacheNodeRepository<Character, Long>(new FileBackedNodeRepository<Character, Long>(treef, false, 0, new NumberOfRecordsNodeSizeStrategy(2), true, CharacterNullSerializer.INSTANCE, LongSerializer.INSTANCE, 4, 8192, null, lah), 10);
BPlusTree<Character, Long> tree = new BPlusTree<Character, Long>(nr, lah);
backend = new BPlusTreeIndexBackend<Character, Character, Character, Long>(backend, false, tree, CharacterToCharacterHasher.INSTANCE, lah);
LoggingTransactionalDatabase<Character, Character, Long> res = new LoggingTransactionalDatabase<Character, Character, Long>(backend, logf, CharacterNullSerializer.INSTANCE, CharacterSerializer.INSTANCE, lah);
m_dbFiles.put(res, new EFile[] { f, treef, logf });
return res;