Thread: pgsql: Avoid setup work for invalidation messages at start-of-(sub)xact

pgsql: Avoid setup work for invalidation messages at start-of-(sub)xact

From
Robert Haas
Date:
Avoid setup work for invalidation messages at start-of-(sub)xact.

Instead of initializing a new TransInvalidationInfo for every
transaction or subtransaction, we can just do it for those
transactions or subtransactions that actually need to queue
invalidation messages.  That also avoids needing to free those
entries at the end of a transaction or subtransaction that does
not generate any invalidation messages, which is by far the
common case.

Patch by me.  Review by Simon Riggs and Andres Freund.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/6cb4afff33ba0b6f88cca2967904ad501d648e2f

Modified Files
--------------
src/backend/access/transam/xact.c |    2 -
src/backend/utils/cache/inval.c   |  125 ++++++++++++++++++++++++-------------
src/include/utils/inval.h         |    4 --
3 files changed, 81 insertions(+), 50 deletions(-)