Module sql::func [−][src]
Expand description
TBD: Currently, sql::func
handles matching arguments to their respective
built-in functions (for most built-in functions, at least).
Macros
Constructs builtin function map.
Functions using this macro should be transformed/planned away before reaching function selection code, but still need to be present in the catalog during planning.
Provides shorthand for converting Vec<ScalarType>
into Vec<ParamType>
.
Structs
Tracks candidate implementations.
Describes a single function’s implementation.
Describes how each implementation should be represented in the catalog.
Correlates an operator with all of its implementations.
Builds an expression that evaluates a scalar function on the provided input expressions.
Correlates a built-in function name to its implementations.
Enums
A specifier for a function or an operator.
Describes possible types of function parameters.
Describes parameter types; these are essentially just ScalarType
with some
added flexibility.
Mirrored from PostgreSQL’s typcategory
.
Traits
Functions
Coerces concrete arguments for a function according to the abstract parameters specified in the function definition.
Finds an exact match based on the arguments, or, if no exact match, finds the best match available. Patterned after PostgreSQL’s type conversion matching algorithm.
Resolves the operator to a set of function implementations.
Selects the best implementation given the provided args
using a
process similar to PostgreSQL’s parser, and returns the
ScalarExpr
to invoke that function.
Backing implementation for sql_impl_func and sql_impl_cast. See those functions for details.