Re: CREATE CAST allows creation of binary-coercible cast to range over domain

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: CREATE CAST allows creation of binary-coercible cast to range over domain
Date: 2024-08-21 06:14:23
Message-ID: 2e7acd5f-5d34-4802-a5e2-fa36433d133c@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 20.08.24 19:30, Tom Lane wrote:
> I wrote:
>> I think it's an oversight that we allow binary-coercible casts
>> involving range types at all. There are no other nesting cases to
>> worry about, because CreateCast already rejects binary-coercible casts
>> applied to composites and arrays, explaining
>> * We know that composite, enum and array types are never binary-
>> * compatible with each other. They all have OIDs embedded in them.
>> But range types also embed their own OID, so I don't see why that
>> concern doesn't apply to them.
>
> In short, more or less as attached. (I didn't bother with a
> regression test, since none of the adjacent error checks are
> covered either.)

This patch looks right.

> I'm unsure whether to back-patch this. If somebody were using
> such a cast today, it might seem to mostly work, as long as the
> two kinds of ranges had the same behavior. So they might not
> appreciate us breaking it in a minor release. Maybe we should
> put this into 17 but not further back.

Yeah, 17 and up seems ok to me.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Richard Guo 2024-08-21 07:55:30 Re: CREATE CAST allows creation of binary-coercible cast to range over domain
Previous Message David Rowley 2024-08-21 02:38:02 Re: server crash on raspberry pi for large queries