Re: PRI?64 vs Visual Studio (2022)

Nazir Bilal Yavuz <byavuz81@gmail.com>

From: Nazir Bilal Yavuz <byavuz81@gmail.com>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Álvaro Herrera <alvherre@kurilemu.de>, Peter Eisentraut <peter@eisentraut.org>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2025-11-20T08:00:24Z
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. Test PRI* macros even when we can't test NLS translation.

  2. Avoid requiring Spanish locale to test NLS infrastructure.

  3. Drop support for MSVCRT's float formatting quirk.

  4. Drop support for MSVCRT's %I64 format strings.

  5. Use PRI?64 instead of "ll?" in format strings (continued).

  6. Use <stdint.h> and <inttypes.h> for c.h integers.

  7. Make float exponent output on Windows look the same as elsewhere.

Hi,

On Thu, 20 Nov 2025 at 01:44, Thomas Munro <thomas.munro@gmail.com> wrote:
>
> On Thu, Nov 20, 2025 at 11:23 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > I'm also unsure if this will work as-is on Windows;
> > are the LC_MESSAGES settings the same there?
>
> Bilal [CC'd], have you ever looked into gettext support for Windows
> CI?  I think we'd need at least msgfmt.exe, libintl.{dll,lib,h}
> installed on the image, though I have no clue which
> distribution/package/whatever would be appropriate.  I assume a script
> in pg-vm-images[1] would need to install that, once we pick one.  Does
> anyone happen to know where EDB's installer pipeline pulls gettext
> from?
>
> [1] https://github.com/anarazel/pg-vm-images/tree/main/scripts

Yes, I was working on that some time ago and I was able to enable NLS
(and many other dependencies) on Windows CI image by using the
dependencies from Dave Page's winpgbuild repository [1]. I was going
to share these changes but some other things came up and this one got
delayed. I am planning to return to this again soon.

As an example, I re-generated the Windows CI image and tested it with
VS 2019 [2] and VS 2022 [3]. There are 3 tests failed on both but they
are not related to NLS. A portion of configure output:

[07:40:23.149]   External libraries
[07:40:23.149]     bonjour                : NO
[07:40:23.149]     bsd_auth               : NO
[07:40:23.149]     docs                   : YES
[07:40:23.149]     docs_pdf               : NO
[07:40:23.149]     gss                    : YES 1.22.1
[07:40:23.149]     icu                    : YES 77.1
[07:40:23.149]     ldap                   : YES
[07:40:23.149]     libcurl                : NO
[07:40:23.149]     libnuma                : NO
[07:40:23.149]     liburing               : NO
[07:40:23.149]     libxml                 : YES 2.13.9
[07:40:23.149]     libxslt                : YES 1.1.43
[07:40:23.149]     llvm                   : NO
[07:40:23.149]     lz4                    : YES 1.10.0
[07:40:23.149]     nls                    : YES
[07:40:23.149]     openssl                : YES 3.0.18
[07:40:23.149]     pam                    : NO
[07:40:23.149]     plperl                 : YES 5.42.0
[07:40:23.149]     plpython               : YES 3.10
[07:40:23.149]     pltcl                  : NO
[07:40:23.149]     readline               : NO
[07:40:23.149]     selinux                : NO
[07:40:23.149]     systemd                : NO
[07:40:23.149]     uuid                   : YES 1.6.2
[07:40:23.149]     zlib                   : YES 1.3.1
[07:40:23.149]     zstd                   : YES 1.5.7

[1] https://github.com/dpage/winpgbuild
[2] https://cirrus-ci.com/task/4655787001249792
[3] https://cirrus-ci.com/task/5786281818456064

-- 
Regards,
Nazir Bilal Yavuz
Microsoft