Re: ALTER TYPE OWNER fails to recurse to multirange
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2024-02-12T22:55:13Z
Lists: pgsql-hackers
Attachments
- v1-fix-multirange-ownership-permissions.patch (text/x-diff) patch v1
Robert Haas <robertmhaas@gmail.com> writes: > On Tue, Jan 16, 2024 at 11:46 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Also, we already >> treat the multirange as dependent for some things: > But this seems like an entirely valid point. Yeah, it's a bit of a muddle. But there is no syntax for making a standalone multirange type, so it seems to me that we've mostly determined that multiranges are dependent types. There are just a few places that didn't get the word. Attached is a proposed patch to enforce that ownership and permissions of a multirange are those of the underlying range type, in ways parallel to how we treat array types. This is all that I found by looking for calls to IsTrueArrayType(). It's possible that there's some dependent-type behavior somewhere that isn't conditioned on that, but I can't think of a good way to search. If we don't do this, then we need some hacking in pg_dump to get it to save and restore these properties of multiranges, so it's not like the status quo is acceptable. I'd initially thought that perhaps we could back-patch parts of this, but now I'm not sure; it seems like these behaviors are a bit intertwined. Given the lack of field complaints I'm inclined to leave things alone in the back branches. regards, tom lane
Commits
-
Fix multiranges to behave more like dependent types.
- 3e8235ba4f9c 17.0 landed