mirror of
https://github.com/postgres/postgres.git
synced 2026-02-16 00:57:52 -05:00
buffer manager with 'pg_clog', a specialized access method modeled on pg_xlog. This simplifies startup (don't need to play games to open pg_log; among other things, OverrideTransactionSystem goes away), should improve performance a little, and opens the door to recycling commit log space by removing no-longer-needed segments of the commit log. Actual recycling is not there yet, but I felt I should commit this part separately since it'd still be useful if we chose not to do transaction ID wraparound.
29 lines
856 B
C
29 lines
856 B
C
/*
|
|
* xlogutils.h
|
|
*
|
|
* PostgreSQL transaction log manager utility routines
|
|
*
|
|
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* $Id: xlogutils.h,v 1.8 2001/08/25 18:52:42 tgl Exp $
|
|
*/
|
|
#ifndef XLOG_UTILS_H
|
|
#define XLOG_UTILS_H
|
|
|
|
#include "access/rmgr.h"
|
|
#include "storage/buf.h"
|
|
#include "storage/itemptr.h"
|
|
#include "utils/rel.h"
|
|
|
|
extern int XLogIsOwnerOfTuple(RelFileNode hnode, ItemPointer iptr,
|
|
TransactionId xid, CommandId cid);
|
|
extern bool XLogIsValidTuple(RelFileNode hnode, ItemPointer iptr);
|
|
|
|
extern void XLogInitRelationCache(void);
|
|
extern void XLogCloseRelationCache(void);
|
|
|
|
extern Relation XLogOpenRelation(bool redo, RmgrId rmid, RelFileNode rnode);
|
|
extern Buffer XLogReadBuffer(bool extend, Relation reln, BlockNumber blkno);
|
|
|
|
#endif
|