On Tue, May 18, 2021 at 9:20 PM Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > > On 2021-May-14, vignesh C wrote: > > > While I was reviewing one of the logical decoding features, I found > > Streaming and binary options were missing in tab completion for the > > alter subscription set option, the attached patch has the changes for > > the same. > > Thoughts? > > I wish we didn't have to keep knowledge in the psql source on which > option names are to be used for each command. If we had some function > SELECT pg_completion_options('alter subscription set'); > that returned the list of options usable for each command, we wouldn't > have to ... psql would just retrieve the list of options for the current > command. > > Maintaining such a list does not seem hard -- for example we could just > have a function alongside parse_subscription_option() that returns the > names that are recognized by that one. If we drive the implementation > of both off a single struct, it would never be outdated. >
On further analysis, I felt that as psql is a front end client, we should not put any dependency on backend code. I felt that might be the reason it has been coded to mention the options directly in tab-complete instead of having any dependency on backend code. we could have the common module to maintain the options and have both frontend and backend access it or Should we retain the changes like the earlier patch. Thoughts? Regards, Vignesh