On Thu, Nov 7, 2019 at 8:44 PM Thomas Munro <thomas.mu...@gmail.com> wrote:
> On Thu, Aug 8, 2019 at 6:53 AM Ashwin Agrawal <aagra...@pivotal.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.