Re: Enhanced error message to include hint messages for redundant options error

vignesh C <vignesh21@gmail.com>

From: vignesh C <vignesh21@gmail.com>
To: Daniel Gustafsson <daniel@yesql.se>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Dilip Kumar <dilipbalaut@gmail.com>
Date: 2021-07-08T13:40:36Z
Lists: pgsql-hackers

Attachments

On Thu, Jul 8, 2021 at 1:52 AM Daniel Gustafsson <daniel@yesql.se> wrote:
>
> > On 6 Jul 2021, at 17:08, vignesh C <vignesh21@gmail.com> wrote:
>
> > The patch was not applying on the head because of the recent commit
> > "8aafb02616753f5c6c90bbc567636b73c0cbb9d4", attached patch which is
> > rebased on HEAD.
>
> I sort of like the visual cue of seeing ereport(ERROR ..  since it makes it
> clear it will break execution then and there, this will require a lookup for
> anyone who don't know the function by heart.  That being said, reducing
> duplicated boilerplate has clear value and this reduce the risk of introducing
> strings which are complicated to translate.  On the whole I think this is a net
> win, and the patch looks pretty good.
>
> -               DefElem    *defel = (DefElem *) lfirst(option);
> +               defel = (DefElem *) lfirst(option);
> Any particular reason to include this in the patch?
>

Thanks for identifying this, this change is not needed, this was
required in my previous solution based on goto label. As we have made
these changes into a common function. This change is not required,
Attached v9 patch which removes these changes.

Regards,
Vignesh

Commits

  1. Improve reporting of "conflicting or redundant options" errors.

  2. Refactor function parse_subscription_options.