On Thu, Apr 21, 2022 at 12:30 AM Michael Paquier <michael@paquier.xyz> wrote: > On Tue, Apr 19, 2022 at 12:13:51PM -0400, Robert Haas wrote: > > On Mon, Apr 18, 2022 at 9:50 PM Kyotaro Horiguchi > > <horikyota.ntt@gmail.com> wrote: > >> Hmm.. So, "-r/--role" and "-m/--member(ship)" is the (least worse) way > >> to go? Or we can give up adding -m for the reason of being hard to > >> name it.. > > > > Hmm, yeah, I hadn't quite realized what the problem was when I wrote > > that. I honestly don't know what to do about that. Renaming the > > existing option is not great, but having the syntax diverge between > > SQL and CLI is not great either. Giving up is also not great. Not sure > > what is best. > > Changing one existing option to mean something entirely different > should be avoided, as this could lead to silent breakages. As the > origin of the problem is that the option --role means "IN ROLE" in the > SQL grammar, we could keep around --role for compatibility while > marking it deprecated, and add two new options whose names would be > more consistent with each other. One choice could be --role-name and > --in-role-name, where --in-role-name maps to the older --role, just to > give an idea.
I don't think that having both --role and --role-name, doing different things, is going to be clear at all.
-g/--role or maybe/additionally (--in-role)?
-m/--role-to or maybe/additionally (--to-role)?
I'm ok with -m/--member as well (like with --role only one role can be specified per switch instance so member, not membership, the later meaning, at least for me, the collective).
That -m doesn't match --role-to is no worse than -g not matching --role, a short option seems worthwhile, and the -m (membership) mnemonic should be simple to pick-up.
I don't see the addition of "-name" to the option name being beneficial.
Yes, the standard doesn't use the "TO" prefix for "ROLE" - but taking that liberty for consistency here is very appealing and there isn't another SQL clause that it would be confused with.