Expand description
Modules§
- composites
- Composite type values through the statement’s catalog: attribute metadata,
record_ininput and the coercion of rows and records to a composite type. - enums
- Enum label input and output, ordered label functions and I/O casts through the statement’s catalog.
- variadic_
any - Built-ins declared
VARIADIC "any": an explicitVARIADIC arrayargument supplies the variadic values element by element, flattening every dimension, asPostgreSQL’sextract_variadic_argsdoes.
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. - Date
Order Scope - Restore the calling thread’s date order when the input scope ends.
- Eval
Context - Interval
Fields - The months, days and microseconds of an interval.
- Temporal
Input Context - A copyable context passed from a statement to its workers.
- Temporal
Input Scope - Transaction
Clock Scope - Enters a transaction start for the current thread until it drops, restoring the clock entered before it. The engine enters its transaction timestamp at every statement boundary, and the parallel executor enters the dispatching thread’s clock on each worker.
Enums§
Traits§
- Catalog
Input Functions - Catalog input needed after analysis selects a type for an unknown literal. Domain array input includes each element’s constraints, so the caller must retain this value rather than read the text again at execution.
- 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.
- catalog_
output_ required - A value whose text is owned by the SQL catalog reached a context-free conversion. Catalog-aware callers render these carriers before delegating here.
- 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 - Enum carriers need catalog label output and are rejected rather than rendered from their storage key.
- 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.
- in_
range in_range(val, base, offset, sub, less)for a non-nullvalandbaseof one ordering type and anoffsetof the typetransformFrameOffsetselected for it.- integer_
width_ for_ literal - integer_
width_ for_ type - invalid_
boolean_ input - The error
boolinreports for text that is not a boolean. - invalid_
numeric_ input - The error
numeric_inreports for text it cannot read. - 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_
boolean_ input boolin:PostgreSQL’sparse_boolover trimmed text, accepting case-insensitive prefixes oftrue,false,yesandno,on, at least two letters ofoff, and1and0.- 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 starts with a lowercase letter or an underscore, holds only lowercase letters, digits and underscores, and is not a keyword other than an unreserved one (
quote_identifier). - read_
catalog_ array_ input - Read an array whose elements are domains with the same input and constraint path as a catalog-aware cast. The resolved target preserves domain identity; a scalar outer domain remains the surrounding expression’s runtime coercion.
- read_
catalog_ input - Read a catalog-dependent constant once, retaining its typed datum in stored syntax.
- temporal_
date_ order - transaction_
clock_ micros - The transaction start entered for the current thread, or
Noneoutside any statement. - truthy
- Whether a condition holds.
NULLdoes not; text, which reaches a condition only as anunknownliteral or parameter, holds whenboolinreads it as true (parse analysis rejects any other text); the engine’s numeric retrieval predicates hold when non-zero. - 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.