Skip to main content

Module type_resolution

Module type_resolution 

Source
Expand description

Static SQL type propagation and PostgreSQL-compatible common-type rules.

Structs§

BuiltinFunctionOverload
CastCatalogEntry
ResolvedFunctionOverload

Enums§

CastMethod
A PostgreSQL cast’s implementation, separate from its value conversion.

Traits§

FunctionTypeResolver

Functions§

assignment_type_compatible
Whether PostgreSQL assignment coercion accepts the declared source and target. Domains use their base type for cast selection and retain constraint checking at the value conversion boundary; array coercion applies element by element.
bind_type_introspection
Bind polymorphic type-introspection calls and common-type coercions while the input schema still carries declared SQL types.
bind_type_introspection_with_control
Bind an admitted scalar tree while every new type name, cast and selected-call allocation remains under the original tree’s allowance and both cancellation scopes.
bind_type_introspection_with_resolver
Bind type-introspection calls with access to catalog-backed function and aggregate overloads.
builtin_function_argument_targets
Return the declared argument targets selected by PostgreSQL-compatible built-in resolution. Known argument types are retained for polymorphic calls, while fixed signatures and overloaded operators supply the context needed to resolve unknown arguments.
builtin_function_type
cast_catalog_entry
Return the same cast identity used by static coercion compatibility.
coerce_common_context_value
common_context_expression_type
Resolve an expression participating in PostgreSQL’s common-type selection. Bare string and NULL literals retain the parser’s unknown type until the surrounding VALUES, set operation, CASE, or array context selects a concrete type.
common_context_type_with_control
Preserve unknown-literal and domain rules when selecting an operator’s common type without a catalog callback.
common_type
equality_operand_type
equality_operand_type_with_control
Preserve the existing equality coercion rules while retaining any copied type payload under the caller’s allowance.
explicit_type_compatible
Whether an explicit SQL cast has a PostgreSQL coercion path, independently of its value. NULL input does not make an otherwise missing cast valid.
foreign_key_operand_type
Resolve the comparison type accepted by a PostgreSQL foreign key. The referenced key’s operator class makes compatibility directional: an implicit cast from the referencing type to the referenced type is valid, while the reverse cast alone is not. Integer widths, floating widths, character strings, and date/timestamp types additionally have cross-type equality operators in their shared operator families.
resolve_declared_column_type
scalar_cast_source_type_name_with_control
Casts retain a source domain’s identity so an identity cast cannot re-run its constraints. Operator consumers continue to use the underlying type.
scalar_integer_operation_width
scalar_integer_operation_width_with_control
Select the existing arithmetic width from borrowed IR and schema metadata without constructing an untracked inferred type or name.
scalar_operand_type_name
scalar_operand_type_name_with_control
Preserve explicit binding and domain precedence while admitting inferred types and their emitted names. Optional semantic inference failures remain absent; resource failures propagate to the original caller.
scalar_type
scalar_type_with_control
Infer a scalar type from borrowed schema and parameter metadata while retaining every constructed type and temporary buffer under the supplied allowance.
scalar_type_with_resolver
values_column_types