Crate mz_repr

source ·
Expand description

Fundamental data representation.

This module contains the types for representing data in Materialize that all layers of the stack can understand. Think of it as the lingua franca: individual layers may use different representations internally, but they all agree to use this representation at their boundaries.

  • The core value type is the Datum enum, which represents a literal value.
  • Row extends a Datum horizontally, and has features for efficiently doing so.
  • RelationDesc describes what it takes to extend a Row vertically, and corresponds most closely to what is returned from querying our dataflows

Re-exports§

Modules§

  • Abstract data types.
  • datum_vec 🔒
    A re-useable vector of Datum with varying lifetimes.
  • diff 🔒
  • A set of traits for modeling things that can be explained by a SQL EXPLAIN statement.
  • Provides abstractions for types that can be converted from and into Datum iterators. Row is the most obvious implementor, but other trace types that may use more advanced representations only need to commit to implementing these traits.
  • Namespace constants to share between high- and low-levels of the system.
  • Facilities for defining optimizer feature flags.
  • relation 🔒
  • row 🔒
  • scalar 🔒
  • Persist Stats for non-primitive types.
  • Routines for converting datum values to and from their string representation.
  • Custom Protobuf types for the url crate.

Structs§

Enums§

Traits§

Functions§

Type Aliases§

  • System-wide record count difference type.