I was looking for missing use of gettext plural forms, which led me to
errdetail_busy_db().
While we can't do much about this:
errdetail("There are %d other session(s) and %d prepared transaction(s)
using the database.",
notherbackends, npreparedxacts);
I think it's still worth pluralizing the other cases
errdetail("There are %d other session(s) using the database.",
notherbackends);
and
errdetail("There are %d prepared transaction(s) using the database.",
npreparedxacts);
Especially the "other sessions" case is probably the one most seen by users.
So I propose the attached patch.
diff --git i/src/backend/commands/dbcommands.c w/src/backend/commands/dbcommands.c
index b7224bd..c9b80ad 100644
--- i/src/backend/commands/dbcommands.c
+++ w/src/backend/commands/dbcommands.c
@@ -1804,20 +1804,21 @@ static bool get_db_info(const char *name, LOCKMODE lockmode,
static int
errdetail_busy_db(int notherbackends, int npreparedxacts)
{
- /*
- * We don't worry about singular versus plural here, since the English
- * rules for that don't translate very well. But we can at least avoid
- * the case of zero items.
- */
if (notherbackends > 0 && npreparedxacts > 0)
+ /* We don't deal with singular versus plural here, since gettext
+ * doesn't support multiple plurals in one string. */
errdetail("There are %d other session(s) and %d prepared transaction(s) using the database.",
notherbackends, npreparedxacts);
else if (notherbackends > 0)
- errdetail("There are %d other session(s) using the database.",
- notherbackends);
+ errdetail_plural("There is %d other session using the database.",
+ "There are %d other sessions using the database.",
+ notherbackends,
+ notherbackends);
else
- errdetail("There are %d prepared transaction(s) using the database.",
- npreparedxacts);
+ errdetail_plural("There is %d prepared transaction using the database.",
+ "There are %d prepared transactions using the database.",
+ npreparedxacts,
+ npreparedxacts);
return 0; /* just to keep ereport macro happy */
}
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers