Re: Add last commit LSN to pg_last_committed_xact()

From: James Coleman <jtc331(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Add last commit LSN to pg_last_committed_xact()
Date: 2022-01-29 19:51:32
Message-ID: CAAaqYe_n_VDxOKobZT=RuqwohaWYt64wq8EPDgzFgUUB1vA6ZA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Jan 28, 2022 at 7:47 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
>
> On 2022-01-28 16:36:32 -0800, Andres Freund wrote:
> > On 2022-01-28 18:43:57 -0500, James Coleman wrote:
> > > Alternatively I see pg_attribute_aligned, but that's not defined
> > > (AFAICT) on clang, for example, so I'm not sure that'd be acceptable?
> >
> > clang should have it (it defines __GNUC__). The problem would be msvc, I
> > think. Not sure if there's a way to get to a common way of defining it between
> > gcc-like compilers and msvc (the rest is niche enough that we don't need to
> > care about the efficiency I think).
>
> Seems like it's doable:
>
> https://godbolt.org/z/3c5573bTW

Oh, thanks. I'd seen some discussion previously on the list about
clang not supporting it, but that seems to have been incorrect. Also I
didn't know about that compiler site -- that's really neat.

Here's an updated patch series using that approach; the first patch
can (and probably should be) committed separately/regardless to update
the pg_attribute_aligned to be used in MSVC.

Thanks,
James Coleman

Attachment Content-Type Size
v4-0001-Support-pg_attribute_aligned-in-MSVC.patch text/x-patch 1.2 KB
v4-0002-Expose-LSN-of-last-commit-via-pg_last_committed_x.patch text/x-patch 8.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2022-01-29 20:05:35 Re: row filtering for logical replication
Previous Message Alvaro Herrera 2022-01-29 19:37:20 Re: Remove extra includes of "access/xloginsert.h" when "access/xlog.h" is included