pgsql: Revise sinval code to remove no-longer-used tuple TID from inval

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Revise sinval code to remove no-longer-used tuple TID from inval
Date: 2011-08-16 23:28:09
Message-ID: E1QtT3J-0000GL-Nc@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Revise sinval code to remove no-longer-used tuple TID from inval messages.

This requires adjusting the API for syscache callback functions: they now
get a hash value, not a TID, to identify the target tuple. Most of them
weren't paying any attention to that argument anyway, but plancache did
require a small amount of fixing.

Also, improve performance a trifle by avoiding sending duplicate inval
messages when a heap_update isn't changing the catcache lookup columns.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/b5282aa893e565b7844f8237462cb843438cdd5e

Modified Files
--------------
src/backend/access/heap/heapam.c | 30 +++---
src/backend/catalog/namespace.c | 4 +-
src/backend/nodes/copyfuncs.c | 3 +-
src/backend/nodes/outfuncs.c | 4 +-
src/backend/optimizer/plan/setrefs.c | 23 ++--
src/backend/optimizer/util/predtest.c | 4 +-
src/backend/parser/parse_oper.c | 4 +-
src/backend/utils/adt/acl.c | 4 +-
src/backend/utils/cache/attoptcache.c | 2 +-
src/backend/utils/cache/catcache.c | 48 +++++---
src/backend/utils/cache/inval.c | 221 ++++++++++++++++-----------------
src/backend/utils/cache/plancache.c | 20 ++--
src/backend/utils/cache/spccache.c | 2 +-
src/backend/utils/cache/ts_cache.c | 2 +-
src/backend/utils/misc/superuser.c | 6 +-
src/include/nodes/plannodes.h | 5 +-
src/include/storage/sinval.h | 25 ++---
src/include/utils/catcache.h | 6 +-
src/include/utils/inval.h | 8 +-
19 files changed, 210 insertions(+), 211 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2011-08-17 02:17:21 Re: pgsql: In pg_upgrade, avoid dumping orphaned temporary tables. This ma
Previous Message Tom Lane 2011-08-16 19:26:53 pgsql: Forget about targeting catalog cache invalidations by tuple TID.