Optimize PredicateLockTuple().

Thomas Munro <tmunro@postgresql.org>

Commit: db2687d1f3787aa8113b3dbb358153feee30c64c
Author: Thomas Munro <tmunro@postgresql.org>
Date: 2019-11-11T04:06:59Z
Releases: 13.0
Optimize PredicateLockTuple().

PredicateLockTuple() has a fast exit if tuple was written by the current
transaction, as in that case it already has a lock.  This check can be
performed using TransactionIdIsCurrentTransactionId() instead of
SubTransGetTopmostTransaction(), to avoid any chance of having to hit the
disk.

Author: Ashwin Agrawal, based on a suggestion from Andres Freund
Reviewed-by: Thomas Munro
Discussion: https://postgr.es/m/CALfoeiv0k3hkEb3Oqk%3DziWqtyk2Jys1UOK5hwRBNeANT_yX%2Bng%40mail.gmail.com

Files

PathChange+/−
src/backend/storage/lmgr/predicate.c modified +3 −19

Discussion