Re: 15beta1 tab completion of extension versions
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Jeff Janes <jeff.janes@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-07-03T19:11:22Z
Lists: pgsql-hackers
On Sun, Jul 03, 2022 at 02:00:59PM -0400, Tom Lane wrote:
> I wrote:
> > Noah Misch <noah@leadboat.com> writes:
> >> "ALTER EXTENSION hstore UPDATE;" is a valid command (updates to the
> >> control file default version). Hence, I think the v14 behavior was better.
>
> > Hmm ... good point, let me think about that.
>
> After consideration, my preferred solution is just this:
>
> diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
> index 463cac9fb0..c5cafe6f4b 100644
> --- a/src/bin/psql/tab-complete.c
> +++ b/src/bin/psql/tab-complete.c
> @@ -1927,7 +1927,7 @@ psql_completion(const char *text, int start, int end)
>
> /* ALTER EXTENSION <name> */
> else if (Matches("ALTER", "EXTENSION", MatchAny))
> - COMPLETE_WITH("ADD", "DROP", "UPDATE TO", "SET SCHEMA");
> + COMPLETE_WITH("ADD", "DROP", "UPDATE", "SET SCHEMA");
>
> /* ALTER EXTENSION <name> UPDATE */
> else if (Matches("ALTER", "EXTENSION", MatchAny, "UPDATE"))
>
> This will require one extra <TAB> when what you want is to update to
> a specific version, but I doubt that that's going to bother anyone
> very much. I don't want to try to resurrect the v14 behavior exactly
> because it's too much of a mess from a quoting standpoint.
Works for me, and I agree the patch implements that successfully. "ALTER
EXTENSION x UPDATE;" is an infrequent command, and "ALTER EXTENSION x UPDATE
TO ..." is even less frequent. It's not worth much special effort to shave
<TAB> steps.
Commits
-
Simplify tab completion of extension versions, redux.
- 22a67fdd5d27 16.0 landed
- 207fc033bd9f 15.0 landed
-
Simplify tab completion of extension versions.
- 662dbe2c8657 15.0 landed
-
Fix busted tab completion of extension versions.
- 9cd43f6cbd8b 15.0 landed
-
psql: improve tab-complete's handling of variant SQL names.
- 02b8048ba5dc 15.0 cited