Re: Tab completion for AT TIME ZONE

Поиск
Список
Период
Сортировка
От Dagfinn Ilmari Mannsåker
Тема Re: Tab completion for AT TIME ZONE
Дата
Msg-id 87cyxknqbd.fsf@wibble.ilmari.org
обсуждение исходный текст
Ответ на Re: Tab completion for AT TIME ZONE  (Michael Paquier <michael@paquier.xyz>)
Ответы Re: Tab completion for AT TIME ZONE  (Vik Fearing <vik@postgresfriends.org>)
Список pgsql-hackers
Michael Paquier <michael@paquier.xyz> writes:

> On Fri, Apr 14, 2023 at 12:05:25PM +0200, Jim Jones wrote:
>> The patch applies cleanly and it does what it is proposing. - and it's IMHO
>> a very nice addition.
>> 
>> I've marked the CF entry as "Ready for Committer".
>
> +/* ... AT TIME ZONE ... */
> +    else if (TailMatches("AT"))
> +        COMPLETE_WITH("TIME ZONE");
> +    else if (TailMatches("AT", "TIME"))
> +        COMPLETE_WITH("ZONE");
> +    else if (TailMatches("AT", "TIME", "ZONE"))
> +        COMPLETE_WITH_TIMEZONE_NAME();
>
> This style will for the completion of timezone values even if "AT" is
> the first word of a query.  Shouldn't this be more selective by making
> sure that we are at least in the context of a SELECT query?

It's valid anywhere an expression is, which is a lot more places than
just SELECT queries.  Off the top of my head I can think of WITH,
INSERT, UPDATE, VALUES, CALL, CREATE TABLE, CREATE INDEX.

As I mentioned upthread, the only place in the grammar where the word AT
occurs is in AT TIME ZONE, so there's no ambiguity.  Also, it doesn't
complete time zone names after AT, it completes the literal words TIME
ZONE, and you have to then hit tab again to get a list of time zones.
If we (or the SQL committee) were to invent more operators that start
with the word AT, we can add those to the first if clause above and
complete with the appropriate values after each one separately.

- ilmari



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Anthonin Bonnefoy
Дата:
Сообщение: Re: POC: Extension for adding distributed tracing - pg_tracing
Следующее
От: Amit Kapila
Дата:
Сообщение: Re: [PoC] pg_upgrade: allow to upgrade publisher node