Add single-item cache when looking at topmost XID of a subtrans XID
authorMichael Paquier <michael@paquier.xyz>
Thu, 7 Apr 2022 05:34:37 +0000 (14:34 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 7 Apr 2022 05:34:37 +0000 (14:34 +0900)
commit06f5295af673df795e8e70e28c43d61c2817b6df
tree12890d4f2fd35f2ff632474406439b014c8c5c3f
parentfbfe6910eca0d6a61cbcdd27cdd5a8d9de6477fa
Add single-item cache when looking at topmost XID of a subtrans XID

This change affects SubTransGetTopmostTransaction(), used to find the
topmost transaction ID of a given transaction ID.  The cache is able to
store one value, so as we can save the backend from unnecessary lookups
at pg_subtrans/ on repetitive calls of this routine.  There is a similar
practice in transam.c, for example.

Author: Simon Riggs
Reviewed-by: Andrey Borodin, Julien Rouhaud
Discussion: https://postgr.es/m/CANbhV-G8Co=yq4v4BkW7MJDqVt68K_8A48nAZ_+8UQS7LrwLEQ@mail.gmail.com
src/backend/access/transam/subtrans.c