ExprEncoding

Trait ExprEncoding 

Source
pub trait ExprEncoding:
    'static
    + Send
    + Sync
    + Debug
    + Sealed {
    // Required methods
    fn as_any(&self) -> &dyn Any;
    fn id(&self) -> ExprId;
    fn build(
        &self,
        metadata: &[u8],
        children: Vec<ExprRef>,
    ) -> VortexResult<ExprRef>;
}
Expand description

Encoding trait for a Vortex expression.

An ExprEncoding can be registered with a Vortex session in order to support deserialization via the expression protobuf representation.

Required Methods§

Source

fn as_any(&self) -> &dyn Any

Source

fn id(&self) -> ExprId

Returns the ID of the expression encoding.

Source

fn build( &self, metadata: &[u8], children: Vec<ExprRef>, ) -> VortexResult<ExprRef>

Deserializes an expression from its serialized form.

Returns None if the expression is not serializable.

Implementations§

Source§

impl dyn ExprEncoding + '_

Source

pub fn is<V: VTable>(&self) -> bool

Source

pub fn as_<V: VTable>(&self) -> &V::Encoding

Source

pub fn as_opt<V: VTable>(&self) -> Option<&V::Encoding>

Trait Implementations§

Source§

impl AsRef<dyn ExprEncoding> for BetweenExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for BinaryExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for CastExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for DynamicComparisonExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for GetItemExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for IsNullExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for LikeExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for ListContainsExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for LiteralExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for MergeExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for NotExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for PackExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for RootExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for SelectExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Display for dyn ExprEncoding + '_

Source§

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

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

impl PartialEq for dyn ExprEncoding + '_

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for dyn ExprEncoding + '_

Implementors§