mirror of
https://github.com/postgres/postgres.git
synced 2025-10-21 02:52:47 +03:00
Rearrange pg_subtrans handling as per recent discussion. pg_subtrans
updates are no longer WAL-logged nor even fsync'd; we do not need to, since after a crash no old pg_subtrans data is needed again. We truncate pg_subtrans to RecentGlobalXmin at each checkpoint. slru.c's API is refactored a little bit to separate out the necessary decisions.
This commit is contained in:
@@ -1,22 +1,16 @@
|
||||
/*
|
||||
* subtrans.h
|
||||
*
|
||||
* PostgreSQL subtrans-log manager
|
||||
* PostgreSQL subtransaction-log manager
|
||||
*
|
||||
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/access/subtrans.h,v 1.2 2004/08/22 02:41:58 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/include/access/subtrans.h,v 1.3 2004/08/23 23:22:45 tgl Exp $
|
||||
*/
|
||||
#ifndef SUBTRANS_H
|
||||
#define SUBTRANS_H
|
||||
|
||||
#include "access/xlog.h"
|
||||
|
||||
/* exported because lwlock.c needs it */
|
||||
/* cannot be different from NUM_CLOG_BUFFERS without slru.c changes */
|
||||
#define NUM_SUBTRANS_BUFFERS NUM_CLOG_BUFFERS
|
||||
|
||||
extern void SubTransSetParent(TransactionId xid, TransactionId parent);
|
||||
extern TransactionId SubTransGetParent(TransactionId xid);
|
||||
extern TransactionId SubTransGetTopmostTransaction(TransactionId xid);
|
||||
@@ -29,6 +23,5 @@ extern void ShutdownSUBTRANS(void);
|
||||
extern void CheckPointSUBTRANS(void);
|
||||
extern void ExtendSUBTRANS(TransactionId newestXact);
|
||||
extern void TruncateSUBTRANS(TransactionId oldestXact);
|
||||
extern void subtrans_zeropage_redo(int pageno);
|
||||
|
||||
#endif /* SUBTRANS_H */
|
||||
|
||||
Reference in New Issue
Block a user