pub struct VariableTypeInfo {
pub schema_id: Option<SchemaId>,
pub type_name: Option<String>,
pub is_definite: bool,
pub storage_hint: StorageHint,
pub concrete_numeric_type: Option<String>,
pub kind: VariableKind,
}Expand description
Type information for a variable
Fields§
§schema_id: Option<SchemaId>Schema ID if type is known and registered
type_name: Option<String>Type name (e.g., “Candle”, “Point”)
is_definite: boolWhether the type is definitely known (vs inferred/uncertain)
storage_hint: StorageHintStorage hint for JIT optimization
concrete_numeric_type: Option<String>Preserved concrete numeric runtime type (e.g. “i16”, “u8”, “f32”, “i64”) derived from source annotations.
kind: VariableKindWhat kind of variable this is (value, table, row view, column)
Implementations§
Source§impl VariableTypeInfo
impl VariableTypeInfo
Sourcepub fn named(type_name: String) -> Self
pub fn named(type_name: String) -> Self
Create type info for a type name that may or may not be registered
Sourcepub fn with_storage(type_name: String, storage_hint: StorageHint) -> Self
pub fn with_storage(type_name: String, storage_hint: StorageHint) -> Self
Create type info with explicit storage hint
Sourcepub fn nullable_number() -> Self
pub fn nullable_number() -> Self
Create type info for Option
Sourcepub fn row_view(schema_id: SchemaId, type_name: String) -> Self
pub fn row_view(schema_id: SchemaId, type_name: String) -> Self
Create type info for a RowView variable (typed row from Arrow DataTable).
Sourcepub fn datatable(schema_id: SchemaId, type_name: String) -> Self
pub fn datatable(schema_id: SchemaId, type_name: String) -> Self
Create type info for a DataTable variable with known schema (Table
Sourcepub fn column(
schema_id: SchemaId,
type_name: String,
element_type: String,
) -> Self
pub fn column( schema_id: SchemaId, type_name: String, element_type: String, ) -> Self
Create type info for a Column
Sourcepub fn indexed(
schema_id: SchemaId,
type_name: String,
index_column: String,
) -> Self
pub fn indexed( schema_id: SchemaId, type_name: String, index_column: String, ) -> Self
Create type info for an Indexed table variable — Indexed
Sourcepub fn uses_nan_sentinel(&self) -> bool
pub fn uses_nan_sentinel(&self) -> bool
Check if this type uses NaN sentinel for nullability
Sourcepub fn is_datatable(&self) -> bool
pub fn is_datatable(&self) -> bool
Check if this variable is a DataTable (Table
Sourcepub fn is_row_view(&self) -> bool
pub fn is_row_view(&self) -> bool
Check if this variable is a RowView (Row
Sourcepub fn is_indexed(&self) -> bool
pub fn is_indexed(&self) -> bool
Check if this variable is an Indexed table (Indexed
Trait Implementations§
Source§impl Clone for VariableTypeInfo
impl Clone for VariableTypeInfo
Source§fn clone(&self) -> VariableTypeInfo
fn clone(&self) -> VariableTypeInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for VariableTypeInfo
impl RefUnwindSafe for VariableTypeInfo
impl Send for VariableTypeInfo
impl Sync for VariableTypeInfo
impl Unpin for VariableTypeInfo
impl UnsafeUnpin for VariableTypeInfo
impl UnwindSafe for VariableTypeInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more