Expand description
Structs§
- Canonical
Multirange - Canonical
Range - Compiled
Like Pattern - A LIKE/ILIKE pattern compiled once for repeated evaluation. ASCII values use a byte matcher; Unicode retains character-oriented
_semantics and contextual lowercase rules. - 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_
transform_ argument_ positions_ with_ control - 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_ from_ with_ control - cast_
value_ with_ type_ resolution - Cast a value after resolving catalog-owned types and enforcing domain constraints before exposing a base-type carrier.
- cast_
value_ with_ type_ resolution_ with_ control - Resolve catalog inputs at their external handoff, then admit SQL-owned names, element conversions and output before constructing them.
- clock_
timestamp_ micros - Read the platform wall clock as Unix microseconds.
- coercion_
type_ name - compare_
nullable_ with_ control - compare_
typed_ values_ with_ control - Compare already-bound values, preserving type operator failures and total container NULL semantics. Callers supply top-level NULL placement and must apply operator-selected casts first.
- compare_
with_ control - Compare with the existing two-valued selector convention that SQL UNKNOWN sorts as equal.
- core_
value_ to_ json - 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_ control - Evaluate the existing binary operator while owning every value producer and comparison workspace under one allowance.
- 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_
binary_ values_ with_ integer_ width_ with_ control - Preserve the selected integer width without separating an allocated result from its owner on errors.
- 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.Nonerepresents SQL UNKNOWN, including an undecided anonymous row comparison. - eval_
comparison_ truth_ with_ control - Evaluate the same three-valued comparison while admitting the native numeric, JSONB and array comparison workspace to the caller’s allowance.
- eval_
float_ arithmetic - Apply arithmetic at its resolved float width before widening the storage carrier.
- eval_
float_ arithmetic_ with_ control - Evaluate the same width-specific arithmetic with controlled numeric coercion workspace. The resulting float carrier is inline.
- eval_
function_ call - Execute a scalar function after its argument expressions have already been evaluated.
- eval_
generated_ function_ call_ with_ control - Execute a built-in selected by generated-column validation. This boundary has no session, host-function or query callbacks; general runtime dispatch remains with
eval_function_call. Argument values arrive already admitted by their producers. - eval_
numeric_ operator - eval_
numeric_ operator_ with_ control - Evaluate the existing selected numeric overload while casts, type names and intermediate values remain owned by the original allowance.
- evaluate_
call_ args - Return the
PostgreSQL18 strictness contract for a built-in scalar call when its implemented overload is known. - format_
real - Format a real value using
PostgreSQL’s shortest decimal and exponent thresholds. - 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. - format_
regtype_ value_ with_ control - Retain a resolver’s returned spelling and construct SQL-owned array and fallback text under the invoking allowance.
- 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. - negate_
value_ with_ control - 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_
pg_ array_ literal_ with_ control - parse_
range - parse_
uuid_ bytes - Parse every UUID input spelling accepted by
PostgreSQLinto network-order bytes. - quote_
ident - Double-quote unless the identifier is a safe lowercase name that is not a keyword.
- truthy
NULLis falsy; otherwise truthy iff the value coerces to a non-zero boolean / number / non-empty string.- type_
comparison_ can_ fail - Declared SQL keys whose runtime values may require a fallible comparison operator.
- unknown_
function_ error function name(arg types) does not exist- the errorPostgreSQLraises when call resolution fails (SQLSTATE 42883).- validate_
json_ object_ key_ type - JSON object keys must be scalar SQL datums, including when an array-shaped catalog vector has a distinct runtime carrier. Each constructor retains its own NULL-key diagnostic.
- validate_
legacy_ vector_ comparison - Validate the layout required by the
oidvectorscalar equality, ordering and hashing operators. Array operators onint2vectorpermit dimensionless arrays. - 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. - validate_
named_ argument_ order_ with_ control - value_
comparison_ can_ fail - Whether an opaque value key can suppress a SQL operator failure. A single such input remains legal until an operator compares it.
- 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 - Produce SQL text, including errors from type output functions.
- value_
to_ string_ with_ control - 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_ tensor_ with_ control - value_
to_ text - value_
to_ text_ with_ control - 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_
to_ vector_ with_ control - value_
type_ name - values_
equal_ nullable_ with_ control - values_
equal_ with_ control - 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 legacy vector text format separates values with spaces.- wrap_
variadic_ argument - Wrap the last actual argument of an explicit
VARIADICinvocation while preserving a named-argument marker at the top level.