Re: BUG #17220: ALTER INDEX ALTER COLUMN SET (..) with an optionless opclass makes index and table unusable
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: "Bossart, Nathan" <bossartn@amazon.com>
Cc: Matthijs van der Vleuten <postgresql@zr40.nl>, Dilip Kumar <dilipbalaut@gmail.com>, Vik Fearing <vik@postgresfriends.org>, Alexander Korotkov <aekorotkov@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Robert Haas <robertmhaas@gmail.com>
Date: 2021-10-20T03:47:04Z
Lists: pgsql-bugs, pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Block ALTER INDEX/TABLE index_name ALTER COLUMN colname SET (options)
- 85dc4292a7a1 13.5 landed
- b1b797ec71a1 14.1 landed
- fdd88571454e 15.0 landed
On Tue, Oct 19, 2021 at 02:40:04PM +0000, Bossart, Nathan wrote: > On 10/18/21, 11:49 PM, "Matthijs van der Vleuten" <postgresql@zr40.nl> wrote: >> The test case doesn't seem entirely correct to me? The index being >> dropped (btree_tall_tbl_idx2) doesn't exist. > > This was fixed before it was committed [0]. Yes, my apologies about this brain fade. The committed code is hopefully fine :) >> Also, I don't believe this tests the case of dropping the index when >> it previously has been altered in this way. > > That can still fail with the "has no options" ERROR, and fixing it > will still require a manual catalog update. The ERROR is actually > coming from the call to index_open(), so bypassing it might require > some rather intrusive changes. Given that it took over a year for > this bug to be reported, I suspect it might be more trouble than it's > worth. This may need a mention in the release notes, but the problem is I guess not that spread enough to worry or people would have complained more since 13 was out. Logical dumps discard that automatically and even for the ANALYZE case, the pre-committed code would have just ignored the reloptions retrieved by get_attribute_options(). -- Michael