Re: [PATCH] psql: tab completion for ALTER ROLE ... IN DATABASE ...

From: surya poondla <suryapoondla4(at)gmail(dot)com>
To: zengman <zengman(at)halodbtech(dot)com>
Cc: Dharin Shah <dharinshah95(at)gmail(dot)com>, VASUKI M <vasukianand0119(at)gmail(dot)com>, Ian Lawrence Barwick <barwick(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: Re: [PATCH] psql: tab completion for ALTER ROLE ... IN DATABASE ...
Date: 2026-01-06 22:26:13
Message-ID: CAOVWO5p5mgJr4e+O3ugmELVMz5cYK-mxprb_9cD1emVbDVVn1g@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Thank you Dharin, Man Zeng for the great comments.

I feel Vasuki's latest patch is in good shape.

On Tue, Jan 6, 2026 at 5:55 AM zengman <zengman(at)halodbtech(dot)com> wrote:

> > The only thing I’m cautious about is treating “pset.db is NULL/invalid”
> as just another “quoting failure” case. In this completion branch we call
> PQescapeLiteral(pset.db, ...) before we ever reach exec_query(), so an
> explicit guard is about avoiding passing an unusable handle into libpq in
> the first place. Even if libpq were to return NULL in that situation, it’s
> > not something I’d want to rely on implicitly.
> > That’s why I suggested the explicit guard: it matches the general psql
> style of checking !pset.db before calling libpq APIs (e.g.
> psql_get_variable() in src/bin/psql/common.c checks !pset.db before calling
> PQescapeLiteral()), and it makes the intent obviously safe. Behavior-wise
> it’s the same (fall back to ALL), just more defensive/clear & explicit.
> Hi,
>
> Okay, I understand what you mean, thank you.
>
> --
> Regards,
> Man Zeng
> www.openhalo.org

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2026-01-06 23:09:35 Re: Support for 8-byte TOAST values (aka the TOAST infinite loop problem)
Previous Message Jeff Davis 2026-01-06 22:20:37 Re: Remaining dependency on setlocale()