Crate gluesql_shared_sled_storage

source ·

Modules§

  • sled is a high-performance embedded database with an API that is similar to a BTreeMap<[u8], [u8]>, but with several additional capabilities for assisting creators of stateful systems.
  • Fully serializable (ACID) multi-Tree transactions

Structs§

  • An atomic pointer that can be safely shared between threads.
  • A batch of updates that will be applied atomically to the Tree.
  • Uses a non-varint Lsn to mark offsets.
  • Compare and swap error.
  • Top-level configuration for the system.
  • A guard that keeps the current thread pinned.
  • The sled embedded database! Implements Deref<Target = sled::Tree> to refer to a default keyspace / namespace / bucket.
  • A buffer that may either be inline or remote and protected by an Arc
  • An iterator over keys and values in a Tree.
  • A lazily initialized value
  • A sequential store which allows users to create reservations placed at known log offsets, used for writing persistent data structures that need to know where to find persisted bits in the future.
  • An owned heap-allocated object.
  • A lock-free pagecache which supports linkmented pages for dramatically improving write throughput.
  • A Configuration that has an associated opened file.
  • A pointer to an object protected by the epoch GC.
  • A subscriber listening on a specified prefix
  • A flash-sympathetic persistent lock-free B+ tree.

Enums§

  • A pointer to a location on disk or an off-log blob.
  • An Error type encapsulating various issues that may come up in the operation of a Db.
  • An event that happened to a key that a subscriber is interested in.
  • The high-level types of stored information about pages and their mutations
  • The result of a read of a log message
  • The high-level database mode, according to the trade-offs of the RUM conjecture.

Constants§

Traits§

  • A function that may be configured on a particular shared Tree that will be applied as a kind of read-modify-write operator to any values that are written using the Tree::merge method.
  • Items that may be serialized and deserialized
  • A type that may be transacted on in sled transactions.

Functions§

  • Pins the current thread.
  • Opens a Db with a default configuration at the specified path. This will create a new storage directory at the specified path if it does not already exist. You can use the Db::was_recovered method to determine if your database was recovered from a previous instance. You can use Config::create_new if you want to increase the chances that the database will be freshly created.

Type Aliases§

  • A file offset in the database log.
  • The logical sequence number of an item in the database log.
  • A page identifier.
  • The top-level result type for dealing with fallible operations. The errors tend to be fail-stop, and nested results are used in cases where the outer fail-stop error can have try ? used on it, exposing the inner operation that is expected to fail under normal operation. The philosophy behind this is detailed on the sled blog.