Re: Relation bulk write facility

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: Noah Misch <noah@leadboat.com>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>, Peter Smith <smithpb2250@gmail.com>, Robert Haas <robertmhaas@gmail.com>, vignesh C <vignesh21@gmail.com>, Andres Freund <andres@anarazel.de>, pgsql-hackers <pgsql-hackers@postgresql.org>, Melanie Plageman <melanieplageman@gmail.com>
Date: 2024-02-24T20:13:47Z
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. Relax fsyncing at end of a bulk load that was not WAL-logged

  2. Fix cross-version upgrade tests after f0827b443.

  3. Remove AIX support

  4. Fix compiler warning on typedef redeclaration

  5. Introduce a new smgr bulk loading facility.

On Sun, Feb 25, 2024 at 9:12 AM Thomas Munro <thomas.munro@gmail.com> wrote:
> On Sun, Feb 25, 2024 at 8:50 AM Noah Misch <noah@leadboat.com> wrote:
> > On GNU/Linux x64, gcc correctly records alignment=2**12 for the associated
> > section (.rodata for bulk_write.o zero_buffer, .bss for pg_prewarm.o
> > blockbuffer).  If I'm reading this right, neither AIX gcc nor xlc is marking
> > the section with sufficient alignment, in bulk_write.o or pg_prewarm.o:
>
> Ah, that is a bit of a hazard that we should probably document.
>
> I guess the ideas to fix this would be: use smgrzeroextend() instead
> of this coding, and/or perhaps look at the coding of pg_pwrite_zeros()
> (function-local static) for any other place that needs such a thing,
> if it would be satisfied by function-local scope?

Erm, wait, how does that function-local static object work differently?