On 22/07/2025 14:26, Vik Fearing wrote:
> The <cast error behavior> is:
>
> <cast error behavior> ::=
> ERROR
> | NULL
> | DEFAULT <value expression>
>
> but I am planning on removing the NULL variant in favor of having the
> <value expression> be a <contextually typed value specification>. So
> it would be either ERROR ON CONVERSION ERROR (postgres's current
> behavior), or DEFAULT NULL ON CONVERSION ERROR.
Sorry, I meant <implicitly typed value specification>.
The point being that CAST(ARRAY['1', '2', 'three'] AS INTEGER ARRAY
DEFAULT NULL ON CONVERSION ERROR) will give you (CAST NULL AS INTEGER
ARRAY) and *not* ARRAY[1, 2, NULL].
--
Vik Fearing