Re: [PATCH] Do not use StdRdOptions in Access Methods
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Amit Langote <amitlangote09@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, Nikolay Shaplov <dhyan@nataraj.su>, Dent John <denty@qqdd.eu>, Thomas Munro <thomas.munro@gmail.com>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, "Iwata, Aya" <iwata.aya@jp.fujitsu.com>, Dmitry Dolgov <9erthalion6@gmail.com>
Date: 2019-11-12T21:55:46Z
Lists: pgsql-hackers
On 2019-Nov-07, Amit Langote wrote: > On Tue, Nov 5, 2019 at 9:22 AM Michael Paquier <michael@paquier.xyz> wrote: > > Please note that I have not switched the old interface > > to be static to reloptions.c as if you look closely at reloptions.h we > > allow much more flexibility around HANDLE_INT_RELOPTION to fill and > > parse the reloptions in custom AM. AM maintainers had better use the > > new interface, but there could be a point for more customized error > > messages. > > I looked around but don't understand why these macros need to be > exposed. I read this comment: > > * Note that this is more or less the same that fillRelOptions does, so only > * use this if you need to do something non-standard within some option's > * code block. > > but don't see how an AM author might be able to do something > non-standard with this interface. > > Maybe Alvaro knows this better. I think the idea was that you could have external code doing things in a different way for some reason, ie. not use a bytea varlena struct that could be filled by fillRelOptions but instead ... do something else. That's why those macros are exposed. Now, this idea doesn't seem to be aged very well. Maybe exposing that stuff is unnecessary. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Refactor reloption handling for index AMs in-core
- 4cb658af7002 13.0 landed
-
Cleanup code in reloptions.h regarding reloption handling
- 50d22de9325f 13.0 landed
-
Refactor code building relation options
- 3534fa223328 13.0 landed
-
Add some assertions to view reloption macros
- 396773762425 13.0 cited