OSDN Git Service

Clean up some longstanding problems in shared-cache invalidation.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 19 Jun 2001 19:42:16 +0000 (19:42 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 19 Jun 2001 19:42:16 +0000 (19:42 +0000)
commitbbbc00af8829ea442ea9b8a43bdf751f0568bc92
treeebe363134eeabf96e4086147b87d039886bd903b
parentd9a069e2242b360351df39687a956bf278607b7a
Clean up some longstanding problems in shared-cache invalidation.
SI messages now include the relevant database OID, so that operations
in one database do not cause useless cache flushes in backends attached
to other databases.  Declare SI messages properly using a union, to
eliminate the former assumption that Oid is the same size as int or Index.
Rewrite the nearly-unreadable code in inval.c, and document it better.
Arrange for catcache flushes at end of command/transaction to happen before
relcache flushes do --- this avoids loading a new tuple into the catcache
while setting up new relcache entry, only to have it be flushed again
immediately.
src/backend/access/transam/xact.c
src/backend/storage/ipc/sinval.c
src/backend/storage/ipc/sinvaladt.c
src/backend/storage/lmgr/lmgr.c
src/backend/utils/cache/catcache.c
src/backend/utils/cache/inval.c
src/include/storage/sinval.h
src/include/storage/sinvaladt.h
src/include/utils/catcache.h
src/include/utils/inval.h