Skip to main content

Module scalar_fn

Module scalar_fn 

Source
Expand description

Scalar function vtable machinery.

This module contains the ScalarFnVTable trait and all built-in scalar function implementations. Expressions (crate::expr::Expression) reference scalar functions at each node.

Modules§

fns
session

Structs§

EmptyOptions
ScalarFn
A typed scalar function instance, parameterized by a concrete ScalarFnVTable.
ScalarFnOptions
An opaque handle to expression options.
ScalarFnRef
A type-erased scalar function, pairing a vtable with bound options behind a trait object.
ScalarFnSignature
Information about the signature of an expression.
VecExecutionArgs
A concrete ExecutionArgs backed by a Vec<ArrayRef>.

Enums§

Arity
The arity (number of arguments) of a function.

Traits§

ExecutionArgs
Arguments for expression execution.
ReduceCtx
Arguments for reduction rules.
ReduceNode
A node used for implementing abstract reduction rules.
ScalarFnPlugin
Registry trait for ID-based deserialization of scalar functions.
ScalarFnVTable
This trait defines the interface for scalar function vtables, including methods for serialization, deserialization, validation, child naming, return type computation, and evaluation.
ScalarFnVTableExt
Factory functions for vtables.
SimplifyCtx
Context for simplification.

Type Aliases§

ChildName
A reference to the name of a child expression.
ReduceNodeRef
ScalarFnId
A unique identifier for a scalar function.
ScalarFnPluginRef
Reference-counted pointer to a scalar function plugin.