risingwave_expr_macro

Attribute Macro build_function

source
#[build_function]
Expand description

Different from #[function], which implements the Expression trait for a rust scalar function, #[build_function] is used when you already implemented Expression manually.

The expected input is a “build” function:

fn(data_type: DataType, children: Vec<BoxedExpression>) -> Result<BoxedExpression>

It generates the function descriptor using the “build” function and registers the description to the FUNC_SIG_MAP.