DynExprVTable

Trait DynExprVTable 

Source
pub trait DynExprVTable:
    'static
    + Send
    + Sync
    + Sealed {
Show 17 methods // Required methods fn as_any(&self) -> &dyn Any; fn id(&self) -> ExprId; fn serialize(&self, instance: &dyn Any) -> VortexResult<Option<Vec<u8>>>; fn deserialize( &self, metadata: &[u8], ) -> VortexResult<Option<Arc<dyn Any + Send + Sync>>>; fn child_name(&self, instance: &dyn Any, child_idx: usize) -> ChildName; fn validate(&self, expression: &Expression) -> VortexResult<()>; fn fmt_sql(&self, expression: &Expression, f: &mut Formatter<'_>) -> Result; fn fmt_data(&self, instance: &dyn Any, f: &mut Formatter<'_>) -> Result; fn return_dtype( &self, expression: &Expression, scope: &DType, ) -> VortexResult<DType>; fn evaluate( &self, expression: &Expression, scope: &ArrayRef, ) -> VortexResult<ArrayRef>; fn stat_falsification( &self, expression: &Expression, catalog: &mut dyn StatsCatalog, ) -> Option<Expression>; fn stat_max( &self, expression: &Expression, catalog: &mut dyn StatsCatalog, ) -> Option<Expression>; fn stat_min( &self, expression: &Expression, catalog: &mut dyn StatsCatalog, ) -> Option<Expression>; fn stat_nan_count( &self, expression: &Expression, catalog: &mut dyn StatsCatalog, ) -> Option<Expression>; fn stat_field_path(&self, expression: &Expression) -> Option<FieldPath>; fn dyn_eq(&self, instance: &dyn Any, other: &dyn Any) -> bool; fn dyn_hash(&self, instance: &dyn Any, state: &mut dyn Hasher);
}
Expand description

An object-safe trait for dynamic dispatch of Vortex expression vtables.

This trait is automatically implemented via the VTableAdapter for any type that implements VTable, and lifts the associated types into dynamic trait objects.

Required Methods§

Source

fn as_any(&self) -> &dyn Any

Source

fn id(&self) -> ExprId

Source

fn serialize(&self, instance: &dyn Any) -> VortexResult<Option<Vec<u8>>>

Source

fn deserialize( &self, metadata: &[u8], ) -> VortexResult<Option<Arc<dyn Any + Send + Sync>>>

Source

fn child_name(&self, instance: &dyn Any, child_idx: usize) -> ChildName

Source

fn validate(&self, expression: &Expression) -> VortexResult<()>

Source

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

Source

fn fmt_data(&self, instance: &dyn Any, f: &mut Formatter<'_>) -> Result

Source

fn return_dtype( &self, expression: &Expression, scope: &DType, ) -> VortexResult<DType>

Source

fn evaluate( &self, expression: &Expression, scope: &ArrayRef, ) -> VortexResult<ArrayRef>

Source

fn stat_falsification( &self, expression: &Expression, catalog: &mut dyn StatsCatalog, ) -> Option<Expression>

Source

fn stat_max( &self, expression: &Expression, catalog: &mut dyn StatsCatalog, ) -> Option<Expression>

Source

fn stat_min( &self, expression: &Expression, catalog: &mut dyn StatsCatalog, ) -> Option<Expression>

Source

fn stat_nan_count( &self, expression: &Expression, catalog: &mut dyn StatsCatalog, ) -> Option<Expression>

Source

fn stat_field_path(&self, expression: &Expression) -> Option<FieldPath>

Source

fn dyn_eq(&self, instance: &dyn Any, other: &dyn Any) -> bool

Source

fn dyn_hash(&self, instance: &dyn Any, state: &mut dyn Hasher)

Implementors§