Expand description
Composite type values through the statement’s catalog: attribute metadata, record_in input and the coercion of rows and records to a composite type.
A composite value is a Value::Record whose fields carry the type’s current attribute names in attribute order. Anonymous row constructors are Value::Row until a coercion gives them a composite type.
Modules§
- constants
- Apply a descriptor change to typed catalog datums without re-reading input text or repeating domain constraints.
- constructor
- Evaluate retained row positions against the current composite descriptor.
- literal
- Read an already admitted constant through the current descriptor. Added fields are NULL even when their domains reject fresh NULL inputs; the retained value and its input expression remain unchanged.
Structs§
- Composite
Attribute - One live attribute of a composite type in attribute-number order.
- Composite
Type Descriptor - The live attributes of one composite type in the statement’s catalog generation.
Enums§
- Attribute
Change - A change to one composite type’s attributes, applied to the type’s values.
Traits§
- Composite
Type Catalog - Catalog access for composite values, supplied by the statement’s execution context and by catalog-aware binding.
Functions§
- apply_
attribute_ change - Apply
changeto every value of the composite typetargetinvalue, which has the declared typety. Nested composite values are rewritten through their types’ attributes before the change. - cast_
to_ composite - Cast a value to a composite type: the identity for a value of the same type,
record_infor unknown literals and string-category sources, and attribute-wise coercion for anonymous rows and records. ReturnsNonewhen the target is not a composite type. - composite_
from_ text record_infor a composite type: the fields are split and each is converted in order, so a field’s input error precedes a later structural error.- descriptor
- The attributes of a composite type the statement’s catalog must contain.
- parse_
record_ fields - Split
textintocolumnsfields asrecord_indoes, handing each field tofieldas soon as it is read:Noneis a NULL field. Leading and trailing whitespace around the parentheses is allowed; whitespace inside an unquoted field belongs to the field. - type_
contains_ composite - Whether values of
tycan hold values of the composite typetarget.