fixing pg_upgrade strings (was Re: pgsql: Add new files to nls.mk and add translation)

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: pgsql-hackers@postgresql.org
Date: 2017-08-03T03:47:08Z
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. Add new files to nls.mk and add translation markers

Peter Eisentraut wrote:
> Add new files to nls.mk and add translation markers

This reminds me that I noticed a few days ago another really serious
broken piece in pg_upgrade where check_required_directory() is incurring
in the ugliest case of string building I've ever seen.  I didn't have
the courage to try to fix it back then, but I think we should dedicate
it some time.  It does this:

            pg_fatal("You must identify the directory where the %s.\n"
                     "Please use the %s command-line option or the %s environment variable.\n",
                     description, cmdLineOption, envVarName);

and the callsites are like this:

    check_required_directory(&new_cluster.bindir, NULL, "PGBINNEW", "-B",
                             _("new cluster binaries reside"));
    check_required_directory(&old_cluster.pgdata, &old_cluster.pgconfig,
                             "PGDATAOLD", "-d", _("old cluster data resides"));

note the declensions don't match even in the English original.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services