Skip to main content

FieldKind

Enum FieldKind 

Source
pub enum FieldKind {
Show 26 variants Account, Blob, Bool, Date, Decimal { scale: u32, }, Duration, Enum { path: &'static str, }, Float32, Float64, Int, Int128, IntBig, Principal, Subaccount, Text, Timestamp, Uint, Uint128, UintBig, Ulid, Unit, Relation { target_path: &'static str, target_entity_name: &'static str, target_store_path: &'static str, key_kind: &'static Self, strength: RelationStrength, }, List(&'static Self), Set(&'static Self), Map { key: &'static Self, value: &'static Self, }, Structured { queryable: bool, },
}
Expand description

FieldKind

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

This is aligned with Value variants and intentionally lossy: it encodes only the shape required for predicate compatibility and index planning.

Variants§

§

Account

§

Blob

§

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.

§

Float32

§

Float64

§

Int

§

Int128

§

IntBig

§

Principal

§

Subaccount

§

Text

§

Timestamp

§

Uint

§

Uint128

§

UintBig

§

Ulid

§

Unit

§

Relation

Typed relation; key_kind reflects the referenced key type. strength encodes strong vs. weak relation intent.

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_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
§

Structured

Structured (non-atomic) value. Queryability here controls whether predicates may target this field, not whether it may be stored or updated.

Fields

§queryable: bool

Implementations§

Source§

impl FieldKind

Source

pub const fn value_kind(&self) -> FieldValueKind

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 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for FieldKind

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Copy for FieldKind

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<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> 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