diff options
| author | Tom Lane | 2011-08-16 23:27:46 +0000 |
|---|---|---|
| committer | Tom Lane | 2011-08-16 23:27:46 +0000 |
| commit | b5282aa893e565b7844f8237462cb843438cdd5e (patch) | |
| tree | b19170597a0a94685cc8c978c1c5800c411d02d1 /src/include/nodes | |
| parent | 632ae6829f7abda34e15082c91d9dfb3fc0f298b (diff) | |
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.
Diffstat (limited to 'src/include/nodes')
| -rw-r--r-- | src/include/nodes/plannodes.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h index 7c085b3f4f6..852ef775309 100644 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@ -17,7 +17,6 @@ #include "access/sdir.h" #include "nodes/bitmapset.h" #include "nodes/primnodes.h" -#include "storage/itemptr.h" /* ---------------------------------------------------------------- @@ -793,13 +792,13 @@ typedef struct PlanRowMark * relations are recorded as a simple list of OIDs, and everything else * is represented as a list of PlanInvalItems. A PlanInvalItem is designed * to be used with the syscache invalidation mechanism, so it identifies a - * system catalog entry by cache ID and tuple TID. + * system catalog entry by cache ID and hash value. */ typedef struct PlanInvalItem { NodeTag type; int cacheId; /* a syscache ID, see utils/syscache.h */ - ItemPointerData tupleId; /* TID of the object's catalog tuple */ + uint32 hashValue; /* hash value of object's cache lookup key */ } PlanInvalItem; #endif /* PLANNODES_H */ |
