Обсуждение: [PATCH] libpq: Wrap out-of-memory error messages with libpq_gettext()

Поиск
Список
Период
Сортировка

[PATCH] libpq: Wrap out-of-memory error messages with libpq_gettext()

От
Joshua Shanks
Дата:
Hi,

The recent patch for passwordFromFile() error handling highlighted that many other out-of-memory error messages in libpq still aren't wrapped with libpq_gettext().

Attached is a patch that systematically wraps the remaining bare "out of memory" strings across libpq with libpq_gettext() to ensure consistent translation support. This covers:
- Authentication modules (fe-auth.c, fe-auth-scram.c, fe-auth-oauth.c)
- Connection handling (fe-connect.c, fe-cancel.c)
- Protocol and secure communication (fe-protocol3.c, fe-secure-*.c)
- Other modules (fe-exec.c, fe-lobj.c, fe-gssapi-common.c)

Cheers,
Joshua
Вложения

Re: [PATCH] libpq: Wrap out-of-memory error messages with libpq_gettext()

От
Fujii Masao
Дата:
On Sun, Nov 9, 2025 at 5:21 AM Joshua Shanks <jjshanks@gmail.com> wrote:
>
> Hi,
>
> The recent patch for passwordFromFile() error handling highlighted that many other out-of-memory error messages in
libpqstill aren't wrapped with libpq_gettext(). 
>
> Attached is a patch that systematically wraps the remaining bare "out of memory" strings across libpq with
libpq_gettext()to ensure consistent translation support. This covers: 
> - Authentication modules (fe-auth.c, fe-auth-scram.c, fe-auth-oauth.c)
> - Connection handling (fe-connect.c, fe-cancel.c)
> - Protocol and secure communication (fe-protocol3.c, fe-secure-*.c)
> - Other modules (fe-exec.c, fe-lobj.c, fe-gssapi-common.c)

- libpq_append_conn_error(conn, "out of memory");
+ libpq_append_conn_error(conn, libpq_gettext("out of memory"));

Seems libpq_gettext() doesn't need to be called here,
since libpq_append_conn_error() already does that internally. No?

Regards,

--
Fujii Masao



Re: [PATCH] libpq: Wrap out-of-memory error messages with libpq_gettext()

От
Joshua Shanks
Дата:
You're absolutely right, thank you for catching that! I was double-wrapping the translation.

libpq_append_conn_error() already calls libpq_gettext() internally (fe-misc.c:1420), so these changes are unnecessary. I'm withdrawing this patch.

On Sun, Nov 9, 2025 at 11:04 PM Fujii Masao <masao.fujii@gmail.com> wrote:
On Sun, Nov 9, 2025 at 5:21 AM Joshua Shanks <jjshanks@gmail.com> wrote:
>
> Hi,
>
> The recent patch for passwordFromFile() error handling highlighted that many other out-of-memory error messages in libpq still aren't wrapped with libpq_gettext().
>
> Attached is a patch that systematically wraps the remaining bare "out of memory" strings across libpq with libpq_gettext() to ensure consistent translation support. This covers:
> - Authentication modules (fe-auth.c, fe-auth-scram.c, fe-auth-oauth.c)
> - Connection handling (fe-connect.c, fe-cancel.c)
> - Protocol and secure communication (fe-protocol3.c, fe-secure-*.c)
> - Other modules (fe-exec.c, fe-lobj.c, fe-gssapi-common.c)

- libpq_append_conn_error(conn, "out of memory");
+ libpq_append_conn_error(conn, libpq_gettext("out of memory"));

Seems libpq_gettext() doesn't need to be called here,
since libpq_append_conn_error() already does that internally. No?

Regards,

--
Fujii Masao

Re: [PATCH] libpq: Wrap out-of-memory error messages with libpq_gettext()

От
Michael Paquier
Дата:
On Mon, Nov 10, 2025 at 05:21:00PM -0800, Joshua Shanks wrote:
> You're absolutely right, thank you for catching that! I was
> double-wrapping the translation.
>
> libpq_append_conn_error() already calls libpq_gettext()
> internally (fe-misc.c:1420), so these changes are unnecessary. I'm
> withdrawing this patch.

Following a bit here, as I'm sure that this thread comes from
861af9261035.

The reason behind the additions of the two libpq_gettext() in
passwordFromFile(), as done in 861af9261035, is just to provide a
safety net in case we introduce a new caller of passwordFromFile()
that forgets to apply gettext(), with for example a new message
printed to stderr.  Not mandatory for these two new cases as
libpq_append_conn_error() is called shortly after grabbing the error
message grabbed for the current caller of passwordFromFile(), still
better to have in the long-run, IMO.  That's also the style we've
adopted for the error messages related to the protocol or fe-exec.c.
--
Michael

Вложения