Uses of Interface
io.permazen.kv.KVDatabase
Package
Description
Components that support integrating Permazen into a Java Console Toolkit console.
Classes for parsing command line flags in order to configure a Permazen command line interface (CLI) session.
Core classes for the Permazen Java persistence layer.
byte[]
array key/value store API and related utility classes.A simple
KVStore
implementation based on a sorted array of key/value pairs.KVDatabase
implementation based on Oracle's Berkeley DB Java Edition.Caching
KVStore
and KVDatabase
layers.KVDatabase
implementation based on CockroachDB.KVDatabase
implementation based on FoundationDB.KVDatabase
implementation based on LevelDB.KVDatabase
implementation based on LMDB.KVDatabase
implementation based on Microsoft SQL Server.Utility classes for MVCC type operations using a
KVStore
.AtomicKVStore
and KVDatabase
implementations based
on H2 MVStore.KVDatabase
implementation based on MySQL.A distributed
KVDatabase
based on the Raft consensus algorithm.A partition-tolerant
KVDatabase
that automatically migrates between a clustered
RaftKVDatabase
and a private non-clustered "standalone mode"
KVDatabase
, based on availability of the Raft cluster.A simple in-memory implementation of the
KVDatabase
interface.KVDatabase
implementation based on Google Cloud Spanner.KVDatabase
implementations based on SQL connections.KVDatabase
implementation based on SQLite.Permazen key/value unit test support classes.
Utility classes relating to the
KVDatabase
interface.KVDatabase
implementation based on Xodus.Spring Framework integration classes.
-
Uses of KVDatabase in io.permazen.cli
Modifier and TypeFieldDescriptionprotected final KVDatabase
PermazenExec.kvdb
protected final KVDatabase
PermazenShell.kvdb
ModifierConstructorDescriptionPermazenExec
(KVDatabase kvdb) PermazenExec
(KVDatabase kvdb, Database db, Permazen pdb) General constructor.PermazenShell
(KVDatabase kvdb) PermazenShell
(KVDatabase kvdb, Database db, Permazen pdb) General constructor.Session
(org.dellroad.jct.core.ConsoleSession<?, ?> consoleSession, KVDatabase kvdb) Constructor forSessionMode.KEY_VALUE
. -
Uses of KVDatabase in io.permazen.cli.config
Modifier and TypeFieldDescriptionprotected KVDatabase
KeyValueCliConfig.kvdb
protected KVDatabase
KeyValueCliConfig.nestedKVDatabase
-
Uses of KVDatabase in io.permazen.core
Modifier and TypeMethodDescriptionDatabase.getKVDatabase()
Get theKVDatabase
underlying this instance. -
Uses of KVDatabase in io.permazen.kv
Modifier and TypeMethodDescriptiondefault KVDatabase
KVImplementation.createKVDatabase
(C config, KVDatabase kvdb, AtomicKVStore kvstore) Create anKVDatabase
using the specified configuration.KVTransaction.getKVDatabase()
Get theKVDatabase
with which this instance is associated.KVDatabaseException.getStore()
Get theKVDatabase
that generated this exception.Modifier and TypeMethodDescriptiondefault KVDatabase
KVImplementation.createKVDatabase
(C config, KVDatabase kvdb, AtomicKVStore kvstore) Create anKVDatabase
using the specified configuration.ModifierConstructorDescriptionKVDatabaseException
(KVDatabase store) KVDatabaseException
(KVDatabase store, String message) KVDatabaseException
(KVDatabase store, String message, Throwable cause) KVDatabaseException
(KVDatabase store, Throwable cause) -
Uses of KVDatabase in io.permazen.kv.array
Modifier and TypeClassDescriptionclass
KVDatabase
implementation based on aAtomicArrayKVStore
, providing concurrent transactions and linearizable ACID semantics.Modifier and TypeMethodDescriptionArrayKVImplementation.createKVDatabase
(File directory, KVDatabase kvdb, AtomicKVStore kvstore) -
Uses of KVDatabase in io.permazen.kv.bdb
Modifier and TypeClassDescriptionclass
Oracle Berkeley DB Java EditionKVDatabase
implementation.Modifier and TypeMethodDescriptionBerkeleyKVImplementation.createKVDatabase
(BerkeleyKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) -
Uses of KVDatabase in io.permazen.kv.caching
Modifier and TypeClassDescriptionclass
A wrapper around an innerKVDatabase
that adds a caching layer to transactions by wrapping them in aCachingKVStore
.Modifier and TypeMethodDescriptionvoid
CachingKVDatabase.setKVDatabase
(KVDatabase inner) Configure the underlyingKVDatabase
. -
Uses of KVDatabase in io.permazen.kv.cockroach
-
Uses of KVDatabase in io.permazen.kv.fdb
Modifier and TypeMethodDescriptionFoundationKVImplementation.createKVDatabase
(FoundationKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) -
Uses of KVDatabase in io.permazen.kv.leveldb
Modifier and TypeClassDescriptionclass
KVDatabase
implementation based on aLevelDBAtomicKVStore
, providing concurrent transactions and linearizable ACID semantics.Modifier and TypeMethodDescriptionLevelDBKVImplementation.createKVDatabase
(File directory, KVDatabase kvdb, AtomicKVStore kvstore) -
Uses of KVDatabase in io.permazen.kv.lmdb
Modifier and TypeClassDescriptionclass
LMDBKVDatabase
usingbyte[]
arrays buffers.class
KVDatabase
view of an LMDB database.Modifier and TypeMethodDescriptionLMDBKVImplementation.createKVDatabase
(LMDBKVImplementation.Config config, KVDatabase ignored, AtomicKVStore kvstore) -
Uses of KVDatabase in io.permazen.kv.mssql
-
Uses of KVDatabase in io.permazen.kv.mvcc
Modifier and TypeClassDescriptionclass
KVDatabase
implementation based on an underlyingAtomicKVStore
using snapshot views and optimistic locking to provide concurrent transactions and linearizable ACID consistency.ModifierConstructorDescriptionAtomicKVDatabase
(KVDatabase kvdb) Constructor.Constructor.BranchedKVTransaction
(KVDatabase kvdb, Map<String, ?> openOptions, Map<String, ?> syncOptions) Constructor. -
Uses of KVDatabase in io.permazen.kv.mvstore
Modifier and TypeClassDescriptionclass
KVDatabase
implementation based on aMVStoreAtomicKVStore
, providing concurrent transactions and linearizable ACID semantics.Modifier and TypeMethodDescriptionMVStoreKVImplementation.createKVDatabase
(MVStoreKVImplementation.Config config, KVDatabase ignored1, AtomicKVStore ignored2) -
Uses of KVDatabase in io.permazen.kv.mysql
-
Uses of KVDatabase in io.permazen.kv.raft
Modifier and TypeClassDescriptionclass
A distributedKVDatabase
based on the Raft consensus algorithm.Modifier and TypeMethodDescriptionRaftKVImplementation.createKVDatabase
(RaftKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) Modifier and TypeMethodDescriptionRaftKVImplementation.Config.configureFallback
(KVDatabase standaloneKV) RaftKVImplementation.createKVDatabase
(RaftKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) -
Uses of KVDatabase in io.permazen.kv.raft.fallback
Modifier and TypeClassDescriptionclass
A partition-tolerantKVDatabase
that automatically migrates between a clusteredRaftKVDatabase
and a local, non-clustered "standalone mode"KVDatabase
, based on availability of the Raft cluster.Modifier and TypeMethodDescriptionFallbackKVDatabase.getStandaloneTarget()
Get the configured "standalone mode"KVDatabase
to be used when allFallbackTarget
s are unavailable.Modifier and TypeMethodDescriptionvoid
FallbackKVDatabase.setStandaloneTarget
(KVDatabase standaloneKV) Configure the local "standalone mode"KVDatabase
to be used when allFallbackTarget
s are unavailable. -
Uses of KVDatabase in io.permazen.kv.simple
Modifier and TypeClassDescriptionclass
A simple in-memory implementation of theKVDatabase
interface.class
Simple implementation of theKVDatabase
interface that provides a concurrent, transactional view of an underlyingAtomicKVStore
with strong ACID semantics (assuming Atomicity and Durability are provided by the underlyingAtomicKVStore
).class
AMemoryKVDatabase
made persistent by storing its XML content in a file or customStreamRepository
.Modifier and TypeMethodDescriptionSimpleKVImplementation.createKVDatabase
(SimpleKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) Modifier and TypeMethodDescriptionMemoryKVImplementation.createKVDatabase
(MemoryKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) SimpleKVImplementation.createKVDatabase
(SimpleKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) XMLKVImplementation.createKVDatabase
(XMLKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) -
Uses of KVDatabase in io.permazen.kv.spanner
Modifier and TypeMethodDescriptionSpannerKVImplementation.createKVDatabase
(SpannerKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) -
Uses of KVDatabase in io.permazen.kv.sql
Modifier and TypeMethodDescriptionSQLDriverKVImplementation.createKVDatabase
(C config, KVDatabase kvdb, AtomicKVStore kvstore) Modifier and TypeMethodDescriptionSQLDriverKVImplementation.createKVDatabase
(C config, KVDatabase kvdb, AtomicKVStore kvstore) -
Uses of KVDatabase in io.permazen.kv.sqlite
Modifier and TypeMethodDescriptionSQLiteKVImplementation.createKVDatabase
(SQLiteKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) -
Uses of KVDatabase in io.permazen.kv.test
Modifier and TypeMethodDescriptionprotected KVDatabase[][]
KVDatabaseTest.getDBs()
protected abstract KVDatabase
KVDatabaseTest.getKVDatabase()
Modifier and TypeMethodDescriptionprotected KVTransaction
KVTestSupport.createKVTransaction
(KVDatabase kvdb) protected KVTransaction
KVTestSupport.doCreateTransaction
(KVDatabase kvdb) void
KVDatabaseTest.testApplyMutations
(KVDatabase store) Test KVStore.apply().protected void
KVDatabaseTest.testConflictingTransactions
(KVDatabase store, String name, io.permazen.kv.test.KVDatabaseTest.Conflictor conflictor, KVPair expected1, KVPair expected2) void
KVDatabaseTest.testKeyWatch
(KVDatabase store) void
KVDatabaseTest.testMultipleThreadsTransaction
(KVDatabase store) This test has multiple threads banging away on a single transaction to verify that the transaction is thread safe.void
KVDatabaseTest.testNonconflictingTransactions
(KVDatabase store) void
KVDatabaseTest.testParallelTransactions
(KVDatabase store) This test runs transactions in parallel and verifies there is no "leakage" between them.void
KVDatabaseTest.testParallelTransactions
(KVDatabase[] stores) void
KVDatabaseTest.testReadOnly
(KVDatabase store) void
KVDatabaseTest.testReadWriteConflict
(KVDatabase store) void
KVDatabaseTest.testSequentialTransactions
(KVDatabase store) This test runs transactions sequentially and verifies that each transaction sees the changes that were committed in the previous transaction.void
KVDatabaseTest.testSimpleStuff
(KVDatabase store) void
KVDatabaseTest.testSortOrder
(KVDatabase store) void
KVDatabaseTest.testWriteSkewAnomaly
(KVDatabase store) protected void
KVTestSupport.tryNtimes
(KVDatabase kvdb, Consumer<KVTransaction> consumer) protected <R> R
KVTestSupport.tryNtimesWithResult
(KVDatabase kvdb, Function<KVTransaction, R> function) ModifierConstructorDescriptionRandomTask
(int id, KVDatabase store, long seed) RandomTask
(int id, KVDatabase store, TreeMap<byte[], byte[]> committedData, long seed) -
Uses of KVDatabase in io.permazen.kv.util
Modifier and TypeMethodDescriptionPrefixKVDatabase.getContainingKVDatabase()
Get the containingKVDatabase
associated with this instance. -
Uses of KVDatabase in io.permazen.kv.xodus
Modifier and TypeMethodDescriptionXodusKVImplementation.createKVDatabase
(XodusKVImplementation.Config config, KVDatabase ignored, AtomicKVStore kvstore) -
Uses of KVDatabase in io.permazen.spring
Modifier and TypeClassDescriptionclass
XMLKVDatabase
that adds support for loading the default initial content from any SpringResource
.