Re: Fix tab completion in v18 for ALTER DATABASE/USER/ROLE ... RESET

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема Re: Fix tab completion in v18 for ALTER DATABASE/USER/ROLE ... RESET
Дата
Msg-id 54b435ab-ce2a-4a65-b4a9-35633dea2b28@vondra.me
обсуждение исходный текст
Ответ на Re: Fix tab completion in v18 for ALTER DATABASE/USER/ROLE ... RESET  (Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>)
Ответы Re: Fix tab completion in v18 for ALTER DATABASE/USER/ROLE ... RESET
Список pgsql-hackers

On 7/22/25 13:18, Dagfinn Ilmari Mannsåker wrote:
> jian he <jian.universality@gmail.com> writes:
> 
>> On Thu, Jul 17, 2025 at 1:41 AM Dagfinn Ilmari Mannsåker
>> <ilmari@ilmari.org> wrote:
>>>
>>> Hi hackers,
>>>
>>> These two patches are split out from my earlier thread about improving
>>> tab completion for varous RESET forms
>>> (https://postgr.es/m/87bjqwwtic.fsf@wibble.ilmari.org), so that the bug
>>> fixes can be tracked as an open item for v18.
>>>
>>> Commits 9df8727c5067 and c407d5426b87 added tab completion for ALTER
>>> DATABASE ... RESET and ALTER ROLE/USER ... RESET, respectively, but
>>> they're both differently buggy.  The query for the DATABASE form
>>> neglected to schema-qualify the unnest() call, and the query for the
>>> ROLE/USER form shows all possible variables once you start typing a
>>> variable name, not just the ones that are set on the role.  The attached
>>> patches fix both.
>>>
>>
>> I played around with it, and overall it looks good.
> 
> Thanks for the review.
> 
> I realise I should have included Robins and Tomas in the original mail,
> since they were the author and committer, respectively, of the original
> patches.  I've added them now, and reattached the patches for their
> convenience.
> 

Thanks for the fixes. Both seem correct to me. It took me a while to
reproduce some sort of issue with unnest(), but that was mostly because
I didn't realize the tab completion does not report errors to the user.

While testing the ALTER ROLE part, I realized there's a second related
issue with similar symptoms - after starting to type a variable that is
*not* set for the role, it was offering all matching variables anyway. I
believe that's because of the block at line ~5022. The "database" case
was already excluded, so I made 0002 to do that for ROLE too.

I plan to push the attached fixes soon ...


regards

-- 
Tomas Vondra

Вложения

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