Re: PATCH: psql tab completion for SELECT
Edmund Horner <ejrh00@gmail.com>
From: Edmund Horner <ejrh00@gmail.com>
To: Vik Fearing <vik.fearing@2ndquadrant.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>, pgsql-hackers@lists.postgresql.org, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-01-26T00:28:15Z
Lists: pgsql-hackers
On 19 January 2018 at 05:37, Vik Fearing <vik.fearing@2ndquadrant.com> wrote: > On 01/18/2018 01:07 AM, Tom Lane wrote: >> Edmund Horner <ejrh00@gmail.com> writes: >>> On 15 January 2018 at 15:45, Andres Freund <andres@anarazel.de> wrote: >>>> All worries like this are supposed to check the server version. >> >>> In psql there are around 200 such tab completion queries, none of >>> which checks the server version. Many would cause the user's >>> transaction to abort if invoked on an older server. Identifying the >>> appropriate server versions for each one would be quite a bit of work. >> >>> Is there a better way to make this more robust? >> >> Maybe it'd be worth the effort to wrap tab completion queries in >> SAVEPOINT/RELEASE SAVEPOINT if we're inside a user transaction >> (which we could detect from libpq's state, I believe). >> >> That seems like an independent patch, but it'd be a prerequisite >> if you want to issue tab completion queries with version dependencies. >> >> A bigger point here is: do you really want SELECT tab completion >> to work only against the latest and greatest server version? >> That would become an argument against committing the feature at all; >> maybe not enough to tip the scales against it, but still a demerit. > > I don't really want such a patch. I use new psql on old servers all the > time. I'm not sure where we got with this. I really should have put this patch in a separate thread, since it's an independent feature. The patch mentioned attempts to put savepoints around the tab completion query where appropriate.
Commits
-
In psql, restore old behavior of Query_for_list_of_functions.
- b6e132ddc860 11.0 landed
-
Add infrastructure to support server-version-dependent tab completion.
- 722408bcd1bd 11.0 landed