Re: CAST(... ON DEFAULT) - WIP build on top of Error-Safe User Functions

From: Vik Fearing <vik(at)postgresfriends(dot)org>
To: jian he <jian(dot)universality(at)gmail(dot)com>
Cc: Corey Huinker <corey(dot)huinker(at)gmail(dot)com>, Isaac Morland <isaac(dot)morland(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: CAST(... ON DEFAULT) - WIP build on top of Error-Safe User Functions
Date: 2025-07-22 12:45:42
Message-ID: 4c602ca2-2c1a-420c-bbf2-906d65c93e77@postgresfriends.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Joel Jacobson 2025-07-22 12:48:00 Re: Proposal: Out-of-Order NOTIFY via GUC to Improve LISTEN/NOTIFY Throughput
Previous Message Andrei Lepikhov 2025-07-22 12:30:48 Re: pgsql: Log remote NOTICE, WARNING, and similar messages using ereport()