Skip to main content

Crate reifydb_type

Crate reifydb_type 

Source
Expand description

Foundational primitive types shared by every other crate in the workspace - the value enum, type enum, type constraints, the source-fragment carrier used in diagnostics, the error and diagnostic machinery, and the parameter binding shape used at the wire boundary. This crate is the bottom of the dependency graph; nothing here depends on core or any other ReifyDB crate.

Anything that wants a stable representation of a column value, a typed identifier, a parameter list, or a diagnostic anchor uses this crate. The reason it sits below core rather than inside it is to break what would otherwise be a cycle: core itself needs values and diagnostics.

Invariant: types declared here are wire-stable and on-disk-stable. Adding a variant to Type or Value is a workspace-wide change that requires bumping wire-format and storage encodings; rearranging the existing variants silently corrupts persisted data and cross-version replication.

Modules§

error
Diagnostic and error machinery used by every other crate in the workspace. The Error type carries a structured Diagnostic plus the source-fragment context needed to render a user-visible message that points at the offending span; the rendering, the serde shape, and the helper macros that simplify producing one all live here.
fragment
params
storage
util
Small dependency-free utilities used throughout the workspace: the bit-vector backing none-bitmaps and row masks, the copy-on-write vector CowVec that the storage tier uses for delta lists, base58/base64/hex codecs, Unicode helpers, and float formatting that respects the workspace’s text rendering rules.
value
Workspace-wide value system. Defines the Value enum every column carries, the Type enum that classifies it, the Constraint family that narrows a type (max-bytes, precision-scale, optional), and the per-primitive representations - integers, unsigned integers, decimals, floats, blobs, booleans, temporals, UUIDs, JSON, identity ids, and row numbers - that those variants wrap.

Macros§

cow_vec
err
error
Macro to create an Error from a diagnostic function call
params
return_error

Type Aliases§

Result