Re: [PATCH] Do not use StdRdOptions in Access Methods

Amit Langote <amitlangote09@gmail.com>

From: Amit Langote <amitlangote09@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: 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>, Alvaro Herrera <alvherre@2ndquadrant.com>, Dmitry Dolgov <9erthalion6@gmail.com>
Date: 2019-11-07T01:58:51Z
Lists: pgsql-hackers
On Thu, Nov 7, 2019 at 10:54 AM Michael Paquier <michael@paquier.xyz> wrote:
> On Thu, Nov 07, 2019 at 10:49:38AM +0900, Amit Langote wrote:
> > 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.
>
> Perhaps there is a point in cleaning up all that more, but I am not
> sure that it is worth potentially breaking other people's code.

Sure.  Maybe, we could add a deprecation note for these more
fine-grained APIs like my first patch did.

+/*
+ * Using parseRelOptions(), allocateReloptStruct(), and fillRelOptions()
+ * directly is Deprecated; use build_reloptions() instead.
+ */

Thanks,
Amit



Commits

  1. Refactor reloption handling for index AMs in-core

  2. Cleanup code in reloptions.h regarding reloption handling

  3. Refactor code building relation options

  4. Add some assertions to view reloption macros