Re: Tab completion for SET TimeZone
Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
From: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2022-03-18T00:35:10Z
Lists: pgsql-hackers
Attachments
- v3-0001-Add-tab-completion-for-SET-TimeZone-TO.patch (text/x-diff)
Tom Lane <tgl@sss.pgh.pa.us> writes: > =?utf-8?Q?Dagfinn_Ilmari_Manns=C3=A5ker?= <ilmari@ilmari.org> writes: >> I just noticed I left out the = in the match check, here's an updated >> patch that fixes that. > > Hmm .... is that actually going to be useful in that form? > Most time zone names contain slashes and will therefore require > single-quoting. I think you might need pushups comparable to > COMPLETE_WITH_ENUM_VALUE. With readline (which is what I tested on) the completion works with or without a single quote, but the user has to supply the quote themselves for non-identifier-syntax timezone names. I wasn't aware of the difference in behaviour with libedit, but now that I've tested I agree that quoting things even when not strictly needed is better. This does however have the unfortunate side effect that on readline it will suggest DEFAULT even after a single quote, which is not valid. > Also, personally, I'd rather not smash the names to lower case. > I think that's a significant decrement of readability. That was mainly for convenience of not having to capitalise the place names when typing (since they are accepted case insensitively). A compromise would be to lower-case it in the WHERE, but not in the SELECT, as in the attached v3 patch. I've tested this version on Debian stable with both readline 8.1-1 and libedit 3.1-20191231-2. - ilmari
Commits
-
psql: handle tab completion of timezone names after "SET TIMEZONE TO".
- 7fa3db367986 15.0 landed