On Tue, 4 Oct 2022 at 09:13, Michael Paquier <michael@paquier.xyz> wrote:
>
> On Mon, Oct 03, 2022 at 06:29:32PM +0100, Dagfinn Ilmari Mannsåker wrote:
> > vignesh C <vignesh21@gmail.com> writes:
> >> + else if (TailMatchesCS("\\dRp*"))
> >> + COMPLETE_WITH_QUERY(Query_for_list_of_publications[0].query);
> >> + else if (TailMatchesCS("\\dRs*"))
> >> + COMPLETE_WITH_QUERY(Query_for_list_of_subscriptions[0].query);
> >
> > These are version-specific queries, so should be passed in their
> > entirety to COMPLETE_WITH_VERSIONED_QUERY() so that psql can pick the
> > right version, and avoid sending the query at all if the server is too
> > old.
>
> +1.
>
Modified
>> +/* add these to Query_for_list_of_roles in OWNER TO contexts */
> >> +#define Keywords_for_list_of_owner_to_roles \
> >> +"CURRENT_ROLE", "CURRENT_USER", "SESSION_USER"
> >
> > I think this would read better without the TO, both in the comment and
> > the constant name, similar to the below only having GRANT without TO:
>
> Keywords_for_list_of_grant_roles is used in six code paths, so it
> seems to me that there is little gain in having a separate #define
> here. Let's just specify the list of allowed roles (RoleSpec) where
> OWNER TO is parsed.
I have removed the macro and specified the allowed roles.
Thanks for the comments, the attached v2 patch has the changes for the same.
Regards,
Vignesh