Skip to main content

RowExpander

Trait RowExpander 

Source
pub trait RowExpander: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn description(&self) -> &str;
    fn expand(
        &self,
        value: &DataValue,
        args: &[DataValue],
    ) -> Result<ExpansionResult>;
}
Expand description

Trait for row expander implementations

Row expanders are special expressions that cause a single input row to be multiplied into multiple output rows.

Required Methods§

Source

fn name(&self) -> &str

Name of the expander (e.g., “UNNEST”)

Source

fn description(&self) -> &str

Description of what this expander does

Source

fn expand( &self, value: &DataValue, args: &[DataValue], ) -> Result<ExpansionResult>

Expand a single value into multiple values

§Arguments
  • value - The input value to expand (e.g., delimited string)
  • args - Additional arguments (e.g., delimiter)
§Returns

An ExpansionResult containing the array of values for output rows

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§