final case class RocksDbKeyValueStore(rocksDB: TransactionDB, namespaces: TMap[String, Promise[Throwable, ColumnFamilyHandle]]) extends KeyValueStore with ColumnFamilyManagement with Product with Serializable
- Alphabetic
- By Inheritance
- RocksDbKeyValueStore
- Serializable
- Product
- Equals
- ColumnFamilyManagement
- KeyValueStore
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new RocksDbKeyValueStore(rocksDB: TransactionDB, namespaces: TMap[String, Promise[Throwable, ColumnFamilyHandle]])
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def delete(namespace: String, key: Chunk[Byte], marker: Option[Timestamp]): IO[Throwable, Unit]
Deletes all versions of a given key from a given namespace
Deletes all versions of a given key from a given namespace
- namespace
Namespace of the key
- key
Key of the entries to be deleted
- marker
If None, all values with the given key are going to be deleted. If it is set to a timestamp, only the old values are going to be deleted, such that getLatest called with the marker timestamp can still return a valid element if there was any before calling delete.
- Definition Classes
- RocksDbKeyValueStore → KeyValueStore
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def getAllTimestamps(namespace: String, key: Chunk[Byte]): ZStream[Any, Throwable, Timestamp]
Gets all the stored timestamps for a given key
Gets all the stored timestamps for a given key
- Definition Classes
- RocksDbKeyValueStore → KeyValueStore
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getLatest(namespace: String, key: Chunk[Byte], before: Option[Timestamp]): IO[Throwable, Option[Chunk[Byte]]]
Get the stored value of a given key with the largest timestamp
Get the stored value of a given key with the largest timestamp
- namespace
Namespace of the keys
- key
Key of the item
- before
If specified, the returned item will be the one with the largest timestamp but not larger than the provided value. Otherwise it takes the entry with the largest timestamp.
- returns
The stored value if it was found, or None
- Definition Classes
- RocksDbKeyValueStore → KeyValueStore
- def getLatestTimestamp(namespace: String, key: Chunk[Byte]): IO[Throwable, Option[Timestamp]]
Get the largest timestamp a given key has value stored with.
Get the largest timestamp a given key has value stored with. This is the timestamp of the element that would be returned by getLatest if its timestamp is not constrained.
- namespace
Namespace of the keys
- key
Key of the item
- returns
Largest timestamp stored in the key-value store, or None if there isn't any
- Definition Classes
- RocksDbKeyValueStore → KeyValueStore
- def getOrCreateNamespace(namespace: String): IO[Throwable, ColumnFamilyHandle]
- Attributes
- protected
- Definition Classes
- ColumnFamilyManagement
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val namespaces: TMap[String, Promise[Throwable, ColumnFamilyHandle]]
- Definition Classes
- RocksDbKeyValueStore → ColumnFamilyManagement
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def put(namespace: String, key: Chunk[Byte], value: Chunk[Byte], timestamp: Timestamp): IO[Throwable, Boolean]
Put an item to the store
Put an item to the store
- namespace
Namespace of the keys
- key
Key of the item
- value
Value of the item
- timestamp
Timestamp of the item. If a value with the same key and timestamp already exists it is going to be overridden.
- returns
True if the item was stored
- Definition Classes
- RocksDbKeyValueStore → KeyValueStore
- val rocksDB: TransactionDB
- Definition Classes
- RocksDbKeyValueStore → ColumnFamilyManagement
- def scanAll(namespace: String): ZStream[Any, Throwable, (Chunk[Byte], Chunk[Byte])]
Get all key-value pairs of the given namespace, using the latest timestamp for each
Get all key-value pairs of the given namespace, using the latest timestamp for each
- namespace
Namespace of the keys
- returns
A stream of key-value pairs
- Definition Classes
- RocksDbKeyValueStore → KeyValueStore
- def scanAllKeys(namespace: String): ZStream[Any, Throwable, Chunk[Byte]]
Get all the keys of the given namespace
Get all the keys of the given namespace
- namespace
Namespace of the keys
- returns
A stream of keys
- Definition Classes
- RocksDbKeyValueStore → KeyValueStore
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()