Skip to main content

FieldKind

Enum FieldKind 

Source
pub enum FieldKind {
Show 32 variants Account, Blob { max_len: Option<u32>, }, Bool, Date, Decimal { scale: u32, }, Duration, Enum { path: &'static str, variants: &'static [EnumVariantModel], }, Float32, Float64, Int8, Int16, Int32, Int64, Int128, IntBig { max_bytes: u32, }, Principal, Subaccount, Text { max_len: Option<u32>, }, Timestamp, Nat8, Nat16, Nat32, Nat64, Nat128, NatBig { max_bytes: u32, }, Ulid, Unit, Relation { target_path: &'static str, target_entity_name: &'static str, target_entity_tag: EntityTag, target_store_path: &'static str, key_kind: &'static Self, }, List(&'static Self), Set(&'static Self), Map { key: &'static Self, value: &'static Self, }, Composite { path: &'static str, codec: CompositeCodec, shape: &'static CompositeShapeModel, },
}
Expand description

FieldKind

Minimal runtime type surface needed by planning, validation, and execution.

Scalar and collection variants align with runtime Value families. Enum and composite variants additionally carry complete generated proposal metadata that accepted catalog publication resolves into stable IDs.

Variants§

§

Account

§

Blob

Fields

§max_len: Option<u32>

Optional schema-declared maximum byte length for blob fields.

§

Bool

§

Date

§

Decimal

Fields

§scale: u32

Required schema-declared fractional scale for decimal fields.

§

Duration

§

Enum

Fields

§path: &'static str

Fully-qualified enum type path used for strict filter normalization.

§variants: &'static [EnumVariantModel]

Declared per-variant payload decode metadata.

§

Float32

§

Float64

§

Int8

§

Int16

§

Int32

§

Int64

§

Int128

§

IntBig

Fields

§max_bytes: u32

Maximum accepted persisted payload byte length.

§

Principal

§

Subaccount

§

Text

Fields

§max_len: Option<u32>

Optional schema-declared maximum Unicode scalar count for text fields.

§

Timestamp

§

Nat8

§

Nat16

§

Nat32

§

Nat64

§

Nat128

§

NatBig

Fields

§max_bytes: u32

Maximum accepted persisted payload byte length.

§

Ulid

§

Unit

§

Relation

Enforced typed relation; key_kind reflects the referenced key type.

Fields

§target_path: &'static str

Fully-qualified Rust type path for diagnostics.

§target_entity_name: &'static str

Stable external name used in storage keys.

§target_entity_tag: EntityTag

Stable runtime identity used on hot execution paths.

§target_store_path: &'static str

Data store path where the target entity is persisted.

§key_kind: &'static Self
§

List(&'static Self)

§

Set(&'static Self)

§

Map

Deterministic, unordered key/value collection.

Map fields are persistable and patchable, but not queryable or indexable.

Fields

§key: &'static Self
§value: &'static Self
§

Composite

Exact nominal generated record, tuple, or newtype.

Fields

§path: &'static str

Stable fully-qualified generated type path.

§codec: CompositeCodec

Canonical persisted composite grammar.

§shape: &'static CompositeShapeModel

Complete generated proposal shape.

Implementations§

Source§

impl FieldKind

Source

pub const fn value_kind(&self) -> RuntimeValueKind

Source

pub const fn is_deterministic_collection_shape(&self) -> bool

Returns true if this field shape is permitted in persisted or query-visible schemas under the current determinism policy.

This shape-level check is structural only; query-time policy enforcement (for example, map predicate fencing) is applied at query construction and validation boundaries.

Trait Implementations§

Source§

impl Clone for FieldKind

Source§

fn clone(&self) -> FieldKind

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for FieldKind

Source§

impl Debug for FieldKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V