*** src/backend/access/transam/xact.c~ 2004-06-29 16:38:23.468928928 -0400 --- src/backend/access/transam/xact.c 2004-06-29 16:38:29.306995811 -0400 *************** *** 230,235 **** --- 230,236 ---- NIL, /* async notifies */ NIL, /* committed child Xids */ NIL, /* bufmgr refcounts */ + NIL, /* local bufmgr refcounts */ NIL, /* GUC variables */ NULL, /* deferred triggers state */ 0, /* XLog record offset */ *************** *** 499,504 **** --- 500,527 ---- } /* + * TransactionSetLocalBufferRefcounts + */ + void + TransactionSetLocalBufferRefcounts(List *counts) + { + TransactionState s = CurrentTransactionState; + + s->localBufRefCnts = counts; + } + + /* + * TransactionGetLocalBufferRefcounts + */ + List * + TransactionGetLocalBufferRefcounts(void) + { + TransactionState s = CurrentTransactionState; + + return s->localBufRefCnts; + } + + /* * TransactionSaveGucVar * * This is called from GUC, so be sure to use the right MemoryContext. *** src/include/access/xact.h~ 2004-06-29 16:39:24.256213104 -0400 --- src/include/access/xact.h 2004-06-29 16:39:27.125754456 -0400 *************** *** 97,102 **** --- 97,103 ---- List *notifies; List *childXids; List *bufRefCnts; + List *localBufRefCnts; List *GUCvars; void *deftrigState; uint32 XLogRecOff; *************** *** 165,170 **** --- 166,173 ---- extern void TransactionSetParentNotifies(List *); extern List *TransactionGetBufferRefcounts(void); extern void TransactionSetBufferRefcounts(List *); + extern List *TransactionGetLocalBufferRefcounts(void); + extern void TransactionSetLocalBufferRefcounts(List *); extern void TransactionSaveGucVar(void *); extern void TransactionSetDeftrigState(void *); extern void *TransactionGetDeftrigState(void);