Re: CREATE CAST allows creation of binary-coercible cast to range over domain
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: pgsql-bugs <pgsql-bugs@postgresql.org>
Date: 2024-08-20T17:30:39Z
Lists: pgsql-bugs
Attachments
- reject-binary-coercions-on-ranges.patch (text/x-diff) patch
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.) 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. regards, tom lane
Commits
-
Disallow creating binary-coercible casts involving range types.
- 86488cdf1249 18.0 landed
- 2366ab246a32 17.0 landed