Re: BUG #17220: ALTER INDEX ALTER COLUMN SET (..) with an optionless opclass makes index and table unusable
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: "Bossart, Nathan" <bossartn@amazon.com>,
Vik Fearing <vik@postgresfriends.org>, "postgresql@zr40.nl" <postgresql@zr40.nl>,
Alexander Korotkov <aekorotkov@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2021-10-13T08:29:51Z
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 Wed, Oct 13, 2021 at 9:12 AM Michael Paquier <michael@paquier.xyz> wrote: > > On Wed, Oct 13, 2021 at 12:06:32AM +0000, Bossart, Nathan wrote: > > At first glance, it looks like ALTER INDEX .. ALTER COLUMN ... SET > > uses the wrong validation function. I've attached a patch where I've > > attempted to fix that and added some tests. > > The gap is larger than than, because ALTER INDEX .. ALTER COLUMN > .. SET is supported by the parser but we don't document it. The only > thing we document now is SET STATISTICS that applies to a column > *number*. > > Anyway, specifying a column name for an ALTER INDEX is not right, no? > Just take for example the case of an expression which has a hardcoded > column name in pg_attribute. So these are not specific to indexes, > which is why we apply column numbers for the statistics case. I think > that we'd better just reject those cases until there is a proper > design done here. As far as I can see, I guess that we should do > things similarly to what we do for SET STATISTICS with column > numbers when it comes to indexes. +1 it should behave similarly to SET STATISTICS for the index and if someone tries to set with the column name then it should throw an error. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com