RE: StringInfo fixes, v19 edition. Plus a few oddities

Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>

From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'vignesh C' <vignesh21@gmail.com>, Peter Smith <smithpb2250@gmail.com>
Cc: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>, Amit Kapila <amit.kapila16@gmail.com>, David Rowley <dgrowleyml@gmail.com>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2026-04-27T05:50:48Z
Lists: pgsql-hackers
Dear hackers,

Thanks for updating the patch. I have a concern for the handling of colon (:).

In your patch a colon is used as the separator between data and sentence, and
it's not included in the translatable message. The blank exists only after the
colon.

It seems to break syntax rules in other languages. E.g., the blank seems to be
needed on both before and after the character in French [1]. In other language
the colon may not be used in the first place.

Based on that, How about including a colon in the translatable message?
We may need additional if-else statement but it's a collateral damage.

[1]
```
#: ../../../src/common/logging.c:276
#, c-format
msgid "error: "
msgstr "erreur : "
```

Best regards,
Hayato Kuroda
FUJITSU LIMITED

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Simplify translatable messages for tuple value details in conflict.c.

  2. Improve various new-to-v19 appendStringInfo calls