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

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Avoid setup work for invalidation messages at start-of-(sub)xact
Date: 2014-10-29 16:39:52
Message-ID: E1XjWHo-0005oq-5r@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2014-10-29 22:12:44 pgsql: Avoid corrupting tables when ANALYZE inside a transaction is rol
Previous Message Heikki Linnakangas 2014-10-29 12:44:05 pgsql: Reset error message at PQreset()