Re: Minor rework of ALTER TABLE SET RelOptions code
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Álvaro Herrera <alvherre@alvh.no-ip.org>
To: Nikolay Shaplov <dhyan@nataraj.su>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2025-03-14T08:35:15Z
Lists: 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 →
-
Remove direct handling of reloptions for toast tables
- 1548c3a30436 18.0 landed
-
ATExecSetRelOptions: Reduce scope of 'isnull' variable
- c7fc8808a91e 18.0 landed
On 2025-Mar-07, Nikolay Shaplov wrote: > Patch description is following: > > 1. `isnull` variable is actually needed in a very narrow scope, so > it is better to keep it in that scope, not keeping it in mind in while > dealing with the rest of the code. > > 2. Toast table RelOptions are never altered directly with ALTER command. > One should do ATLER to a heap relation and use toast. reloption namespace > to address toast's reloption. If you get `ATExecSetRelOptions` called with > `RELKIND_TOASTVALUE` relation in the args, something is really wrong. We > should throw asserts, errors and whistle as loud as we can. These are two separate things, I would have suggested to post them as two separate patches. And the second one lacked tests, so I added some. I have pushed both now, thanks. I can't unfortunately promise to review the larger reloption refactoring patch for 18. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ "Java is clearly an example of money oriented programming" (A. Stepanov)