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