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.
>> +/* 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.
--
Michael