summaryrefslogtreecommitdiff
path: root/src/include/nodes
diff options
context:
space:
mode:
authorTom Lane2011-08-16 23:27:46 +0000
committerTom Lane2011-08-16 23:27:46 +0000
commitb5282aa893e565b7844f8237462cb843438cdd5e (patch)
treeb19170597a0a94685cc8c978c1c5800c411d02d1 /src/include/nodes
parent632ae6829f7abda34e15082c91d9dfb3fc0f298b (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.h5
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 */