Re: [PATCH] Do not use StdRdOptions in Access Methods - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: [PATCH] Do not use StdRdOptions in Access Methods
Date
Msg-id 20191030031128.GA20808@paquier.xyz
Whole thread Raw
In response to Re: [PATCH] Do not use StdRdOptions in Access Methods  (Amit Langote <amitlangote09@gmail.com>)
Responses Re: [PATCH] Do not use StdRdOptions in Access Methods
List pgsql-hackers
On Mon, Oct 28, 2019 at 05:16:54PM +0900, Amit Langote wrote:
> On Sat, Oct 26, 2019 at 11:45 AM Michael Paquier <michael@paquier.xyz> wrote:
>> On Fri, Oct 25, 2019 at 04:42:24PM +0900, Amit Langote wrote:
>> > Hmm, if we're inventing a new API to replace the old one, why not use
>> > that opportunity to be consistent with our general style, which
>> > predominantly seems to be either words_separated_by_underscore() or
>> > UpperCamelCase().  Thoughts?
>>
>> Not wrong.  Using small-case characters separated with underscores
>> would be more consistent with the rest perhaps?  We use that for the
>> initialization of custom variables and for all the relkind-related
>> interfaces.
>
> OK, I went with build_reloptions(), which looks very similar to nearby
> exported functions.

Thanks.

>> + *     Parses reloptions provided by the caller in text array format and
>> + *     fills and returns a struct containing the parsed option values
>> The sentence structure is weird, perhaps:
>> This routine parses "reloptions" provided by the caller in text-array
>> format.  The parsing is done with a table describing the allowed
>> options, defined by "relopt_elems" of length "num_relopt_elems".  The
>> returned result is a structure containing all the parsed option
>> values.
>
> Thanks, I have expanded the header comment based on your text.

Looks fine.  I have done some refinements as per the attached.

Running the regression tests of dummy_index_am has proved to be able
to break the assertion you have added.  I don't have a good idea of
how to make that more simple and reliable, but there is one thing
outstanding here: the number of options parsed by parseRelOptions
should never be higher than num_relopt_elems.  So let's at least be
safer about that.

Also if some options are parsed options will never be NULL, so there
is no need to check for it before pfree()-ing it, no?

Any comments from others?  Alvaro perhaps?
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Kyotaro Horiguchi
Date:
Subject: Re: Make StringInfo available to frontend code.
Next
From: Kyotaro Horiguchi
Date:
Subject: Re: Problem with synchronous replication