Re: Remove HeapTuple and Buffer dependency for predicate locking functions

From: Ashwin Agrawal <aagrawal(at)pivotal(dot)io>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>, Kuntal Ghosh <kuntalghosh(dot)2007(at)gmail(dot)com>
Subject: Re: Remove HeapTuple and Buffer dependency for predicate locking functions
Date: 2019-11-08 19:40:59
Message-ID: CALfoeiv=w7bgLZWXUV9yzLRZGmTnqrEuojGupC0gzuVQT0+w=w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Nov 7, 2019 at 8:44 PM Thomas Munro <thomas(dot)munro(at)gmail(dot)com> wrote:

> On Thu, Aug 8, 2019 at 6:53 AM Ashwin Agrawal <aagrawal(at)pivotal(dot)io> wrote:
> >>> - I wonder if CheckForSerializableConflictOutNeeded() shouldn't have a
> >>> portion of it's code as a static inline. In particular, it's a shame
> >>> that we currently perform external function calls at quite the
> >>> frequency when serializable isn't even in use.
> >>
> >> I am not sure on portion of the code part? SerializationNeededForRead()
> is static inline function in C file. Can't inline
> CheckForSerializableConflictOutNeeded() without moving
> SerializationNeededForRead() and some other variables to header file.
> CheckForSerializableConflictOut() wasn't inline either, so a function call
> was performed earlier as well when serializable isn't even in use.
>
> I agree that it's strange that we do these high frequency function
> calls just to figure out that we're not even using this stuff, which
> ultimately comes down to the static global variable MySerializableXact
> being not reachable from (say) an inline function defined in a header.
> That's something to look into in another thread.
>
> > Attaching re-based version of the patches on top of current master,
> which has the fix for HOT serializable predicate locking bug spotted by
> Andres committed now.
>
> I'm planning to commit these three patches on Monday. I've attached
> versions with whitespace-only changes from pgindent, and commit
> messages lightly massaged and updated to point to this discussion and
> reviewers.
>

Thanks a lot, sounds good.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Janes 2019-11-08 20:01:35 Re: Logical replication wal sender timestamp bug
Previous Message Alvaro Herrera 2019-11-08 18:52:46 Re: errbacktrace