Expand description
The current types used to represent catalog data stored on disk. These objects generally fall into two categories.
The key-value objects are a one-to-one mapping of the protobuf objects used to save catalog
data durably. They can be converted to and from protobuf via the
RustType trait.
These objects should not be exposed anywhere outside the crate::durable module.
The other type of objects combine the information from keys and values into a single struct,
but are still a direct representation of the data stored on disk. They can be converted to and
from the key-value objects via the DurableType trait. These objects are used to pass
information to other modules in this crate and other catalog related code.
All non-catalog code should interact with the objects in crate::memory::objects and never
directly interact with the objects in this module.
As an example, DatabaseKey and DatabaseValue are key-value objects, while Database
is the non-key-value counterpart.
Modules§
- serialization
- This module is responsible for serializing catalog objects into Protobuf.
Structs§
- Audit
Log - Audit
LogKey - Burst
State - An active hydration burst the controller is running.
- Cluster
- Cluster
Config - Cluster
Introspection Source Index Key - Cluster
Introspection Source Index Value - Cluster
Key - Cluster
Replica - Cluster
Replica Key - Cluster
Replica Value - Cluster
System Configuration - A single cluster-coherent scoped system-parameter override: parameter
namehas valuevalueon the clustercluster_id. - Cluster
System Configuration Key - Cluster
System Configuration Value - Cluster
Value - Cluster
Variant Managed - Comment
- Comment
Key - Comment
Value - Config
- Config
Key - Config
Value - Database
- Database
Key - Database
Value - Default
Privilege - Default
Privileges Key - Default
Privileges Value - Fence
Token - Token used to fence out other processes.
- GidMapping
Key - GidMapping
Value - IdAlloc
- IdAlloc
Key - IdAlloc
Value - Introspection
Source Index - Introspection
Source Index Catalog Item Id - A newtype wrapper for
CatalogItemIdthat is only for the “introspection source index” namespace. - Introspection
Source Index Global Id - A newtype wrapper for
GlobalIdthat is only for the “introspection source index” namespace. - Item
- ItemKey
- Item
Value - Network
Policy - Network
Policy Key - Network
Policy Value - Reconfiguration
State - The latest graceful reconfiguration: the config shape the cluster is moving to or most recently moved toward, plus its deadline and terminal state.
- Reconfiguration
Target - The full config shape a reconfiguration is moving the cluster to, so a combined size + replication-factor + availability-zone change is one record.
- Replica
Config - Replica
System Configuration - A single replica-local scoped system-parameter override: parameter
namehas valuevalueon the replicareplica_id. - Replica
System Configuration Key - Replica
System Configuration Value - Role
- Role
Auth - Role
Auth Key - Role
Auth Value - RoleKey
- Role
Value - Schema
- Schema
Key - Schema
Value - Server
Configuration Key - Server
Configuration Value - Setting
- Setting
Key - Setting
Value - Snapshot
- A snapshot of the current on-disk state.
- Source
Reference - Source
References - Source
References Key - Source
References Value - Storage
Collection Metadata - Storage
Collection Metadata Key - Storage
Collection Metadata Value - This value is stored transparently, however, it should only ever be manipulated by the storage controller.
- System
Catalog Item Id - A newtype wrapper for
CatalogItemIdthat is only for the “system” namespace. - System
Configuration - System
Global Id - A newtype wrapper for
GlobalIdthat is only for the “system” namespace. - System
Object Description - System
Object Mapping - Functions can share the same name as any other catalog item type within a given schema. For example, a function can have the same name as a type, e.g. ‘date’. As such, system objects are keyed in the catalog storage by the tuple (schema_name, object_type, object_name), which is guaranteed to be unique.
- System
Object Unique Identifier - System
Privileges Key - System
Privileges Value - TxnWal
Shard Value - This value is stored transparently, however, it should only ever be manipulated by the storage controller.
- Unfinalized
Shard - Unfinalized
Shard Key - This value is stored transparently, however, it should only ever be manipulated by the storage controller.
Enums§
- Cluster
Variant - Reconfiguration
Status - The lifecycle status of the latest graceful reconfiguration.
- Replica
Location
Traits§
- Durable
Type - A trait for representing
Selfas a key-value pair of type(Key, Value)for the purpose of storing this value durably.
Functions§
- item_
type - managed_
cluster_ replica_ name - The canonical name of the
index-th (zero-based) replica of a managed cluster.