Re: Unquoted file name in an error message

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Álvaro Herrera <alvherre@alvh.no-ip.org>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2025-04-07T10:13:03Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Clean up error messages from 1495eff7bdb

On 2025-Apr-07, Kyotaro Horiguchi wrote:

> Hello.
> 
> While translating error messages related to pg_dumpall (1495eff7bdb),
> I noticed that one message lacks double quotes around the file name:
> 
>   could not open map file: %s
> 
> Since this placeholder appears standalone and not embedded in a
> sentence, I initially thought it might fall outside the usual
> convention of quoting file names.

Hello, I think the problem here is that the %s is not the file name, but
the string from strerror.  So the lack of quotes there would seem to be
correct.  The real problem is that the file name isn't mentioned in the
error message.  A secondary issue might be that instead of using %s for
strerror(), maybe they should be using %m.


> +			pg_fatal("could not open global.dat file: \"%s\"", strerror(errno));

Maybe we should do something like

		pg_fatal("could not open "%s" file: %m", map_file_path);

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/