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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>
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-20 14:46:15
Message-ID: 1537781.1724165175@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Peter Eisentraut <peter(at)eisentraut(dot)org> writes:
> CREATE CAST disallows creating a binary-coercible cast to a domain
> (because that would bypass checking the domain constraints). But it
> allows it if the domain is wrapped inside a range type:
> ...
> This particular case seems straightforward to fix, but maybe there are
> also cases with more nesting to consider.

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.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2024-08-20 17:30:39 Re: CREATE CAST allows creation of binary-coercible cast to range over domain
Previous Message Tom Lane 2024-08-20 13:16:12 Re: server crash on raspberry pi for large queries