Expand description
Structs§
- Canonical
Multirange - Canonical
Range - Compiled
Like Pattern - A LIKE/ILIKE pattern compiled once for repeated evaluation.
- Eval
Context
Enums§
Traits§
- Engine
Hook - Engine-side hook that scalar function evaluation calls for stateful
sequence and user-defined functions. Query-valued expressions are not
accepted here: lowering assigns them physical query-plan slots executed by
uqa-execution::ScalarSubqueryRunner. - RowLookup
- Read-only row interface used by the expression evaluator. Most callers
use a materialised
ResultRow, while hot execution paths can expose a projected value slice without rebuilding a string-keyed map for every row.
Functions§
- array_
dimensions - Return every dimension of a rectangular array value.
- array_
transform_ argument_ positions - Map call-order arguments onto the declared
array_sortandarray_reverseslots.Nonemeans the arity or a named argument does not select a catalogued overload. - array_
value_ to_ string - bound_
scalar_ function_ strictness - Return the
PostgreSQL18 strictness contract selected by a structural function binding. Parser-owned syntax and overload-specific built-ins must be classified byFunctionDispatch, never by their diagnostic display label. - builtin_
scalar_ function_ strictness - call_
argument_ value - Return a call argument’s value expression after stripping named and explicit
VARIADICsyntax markers. - cast_
value - Cast a value to the named SQL type, mirroring
CAST(expr AS ty). Types outside the engine’s coercion surface returnSQLError::Unsupported. - cast_
value_ from - Cast a value while preserving an explicitly declared source type when the runtime carrier erases it.
PostgreSQL18 integer-to-bytea/oidcasts andxidcast rejection require the source’s declared identity. - cast_
value_ with_ type_ resolution - Cast a value after resolving catalog-owned source and target types and flattening domains to their coercion types.
- coercion_
type_ name - eval
- Evaluate a value-producing AST expression against one row and parameter context.
- eval_
binary_ values - Apply a binary SQL operator to values that have already been evaluated. Execution engines use this when a hot path compiles expression traversal ahead of time but must retain the evaluator’s exact comparison, numeric promotion, NULL, overflow, and division-by-zero semantics.
- eval_
binary_ values_ with_ integer_ width - Evaluate an operator while retaining the integer type selected by SQL
operator resolution. The dynamic
Valuecarrier stores all integers asi64, so expression plans pass this width alongside the operands. - eval_
bound_ builtin_ function_ call - Evaluate a call’s argument list, unwrapping
name => value - eval_
builtin_ function_ call - Execute a call whose stored binding selects a built-in routine. Dynamic runtime callbacks and SQL routines must not override this stable binding.
- eval_
comparison_ truth - Compare two values without allocating an intermediate
Value::Bool. - eval_
function_ call - Execute a scalar function after its argument expressions have already been evaluated.
- evaluate_
call_ args - Return the
PostgreSQL18 strictness contract for a built-in scalar call when its implemented overload is known. - format_
regtype_ value - Format a scalar or array OID carrier using the catalog-aware output function of a
reg*type.Nonemeans the declared type is not one of the supported alias types or the value is SQL NULL. - integer_
width_ for_ literal - integer_
width_ for_ type - json_
strip_ nulls_ argument_ positions - Map call-order arguments onto the declared
(target, strip_in_arrays DEFAULT false)slots.Nonemeans the arity or a named argument does not select either catalogued overload. - multirange_
from_ ranges - negate_
value - Apply
PostgreSQLprefix-while retaining the operand’s declared type. - parse_
multirange - parse_
pg_ array_ literal - Parse a
PostgreSQLarray literal ({1,2,3},{"a b",NULL},{{1,2},{3,4}}) into nested lists of string/NULL values; the caller casts elements. - parse_
range - parse_
uuid_ bytes - Parse every UUID input spelling accepted by
PostgreSQLinto network-order bytes. - quote_
ident quote_ident: double-quote unless the identifier is a safe lower-case name that is not a keyword.- truthy
NULLis falsy; otherwise truthy iff the value coerces to a non-zero boolean / number / non-empty string.- unknown_
function_ error function name(arg types) does not exist- the errorPostgreSQLraises when call resolution fails (SQLSTATE 42883).- validate_
named_ argument_ order - Enforce
PostgreSQLfunction-call ordering before overload resolution. Positional arguments must precede named arguments, and each explicit name may occur only once. - value_
to_ json_ text - Render an engine value as
PostgreSQLJSON input text without losing the lexical representation of values already typed asjsonorjsonb. - value_
to_ string - value_
to_ tensor - Coerce a
Valueinto a tensor: an array of homogeneous numeric vectors. Used byTENSOR(N)columns to store chunk embeddings for one row while still indexing each vector element. - value_
to_ vector - Coerce a
Valueinto aVec<f32>if it is a homogeneous numeric list (used to read vector literals fromARRAY[...]or$NVector params). - value_
type_ name - variadic_
argument_ value - Return the value expression carried by an explicit
VARIADICmarker, including one nested inside a named argument. - vector_
value_ to_ string PostgreSQL’s legacyint2vectorandoidvectortext format is a space-separated vector, not the brace-delimited array format used by their array-like runtime carrier.- wrap_
variadic_ argument - Wrap the last actual argument of an explicit
VARIADICinvocation while preserving a named-argument marker at the top level.