mirror of
https://github.com/postgres/postgres.git
synced 2025-10-29 22:49:41 +03:00
pgindent run. Make it all clean.
This commit is contained in:
@@ -194,7 +194,7 @@ extern StrategyNumber RelationGetGISTStrategy(Relation, AttrNumber, RegProcedure
|
||||
|
||||
extern void gist_redo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void gist_undo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void gist_desc(char *buf, uint8 xl_info, char* rec);
|
||||
extern void gist_desc(char *buf, uint8 xl_info, char *rec);
|
||||
|
||||
/* gistget.c */
|
||||
extern Datum gistgettuple(PG_FUNCTION_ARGS);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: hash.h,v 1.37 2001/01/24 19:43:19 momjian Exp $
|
||||
* $Id: hash.h,v 1.38 2001/03/22 04:00:27 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* modeled after Margo Seltzer's hash implementation for unix.
|
||||
@@ -335,6 +335,6 @@ extern void _hash_checkpage(Page page, int flags);
|
||||
/* hash.c */
|
||||
extern void hash_redo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void hash_undo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void hash_desc(char *buf, uint8 xl_info, char* rec);
|
||||
extern void hash_desc(char *buf, uint8 xl_info, char *rec);
|
||||
|
||||
#endif /* HASH_H */
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: heapam.h,v 1.62 2001/01/24 19:43:19 momjian Exp $
|
||||
* $Id: heapam.h,v 1.63 2001/03/22 04:00:27 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -136,12 +136,12 @@ extern Datum nocachegetattr(HeapTuple tup, int attnum,
|
||||
) \
|
||||
)
|
||||
|
||||
#else /* defined(DISABLE_COMPLEX_MACRO) */
|
||||
#else /* defined(DISABLE_COMPLEX_MACRO) */
|
||||
|
||||
extern Datum fastgetattr(HeapTuple tup, int attnum, TupleDesc tupleDesc,
|
||||
bool *isnull);
|
||||
bool *isnull);
|
||||
|
||||
#endif /* defined(DISABLE_COMPLEX_MACRO) */
|
||||
#endif /* defined(DISABLE_COMPLEX_MACRO) */
|
||||
|
||||
|
||||
/* ----------------
|
||||
@@ -211,13 +211,13 @@ extern int heap_update(Relation relation, ItemPointer otid, HeapTuple tup,
|
||||
extern int heap_mark4update(Relation relation, HeapTuple tup, Buffer *userbuf);
|
||||
extern void simple_heap_delete(Relation relation, ItemPointer tid);
|
||||
extern void simple_heap_update(Relation relation, ItemPointer otid,
|
||||
HeapTuple tup);
|
||||
HeapTuple tup);
|
||||
extern void heap_markpos(HeapScanDesc scan);
|
||||
extern void heap_restrpos(HeapScanDesc scan);
|
||||
|
||||
extern void heap_redo(XLogRecPtr lsn, XLogRecord *rptr);
|
||||
extern void heap_undo(XLogRecPtr lsn, XLogRecord *rptr);
|
||||
extern void heap_desc(char *buf, uint8 xl_info, char* rec);
|
||||
extern void heap_desc(char *buf, uint8 xl_info, char *rec);
|
||||
|
||||
/* in common/heaptuple.c */
|
||||
extern Size ComputeDataSize(TupleDesc tupleDesc, Datum *value, char *nulls);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: htup.h,v 1.46 2001/02/21 19:07:04 momjian Exp $
|
||||
* $Id: htup.h,v 1.47 2001/03/22 04:00:27 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -25,7 +25,7 @@
|
||||
* a tuple, plus the size of the null-values bitmap (at 1 bit per column),
|
||||
* plus MAXALIGN alignment, must fit into t_hoff which is uint8. On most
|
||||
* machines the absolute upper limit without making t_hoff wider would be
|
||||
* about 1700. Note, however, that depending on column data types you will
|
||||
* about 1700. Note, however, that depending on column data types you will
|
||||
* likely also be running into the disk-block-based limit on overall tuple
|
||||
* size if you have more than a thousand or so columns. TOAST won't help.
|
||||
*/
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
/*
|
||||
* This is the on-disk copy of the tuple.
|
||||
*
|
||||
*
|
||||
* To avoid wasting space, the attributes should be layed out in such a
|
||||
* way to reduce structure padding.
|
||||
*/
|
||||
@@ -55,7 +55,7 @@ typedef struct HeapTupleHeaderData
|
||||
|
||||
uint8 t_hoff; /* sizeof() tuple header */
|
||||
|
||||
/* ^ - 31 bytes - ^ */
|
||||
/* ^ - 31 bytes - ^ */
|
||||
|
||||
bits8 t_bits[MinHeapTupleBitmapSize / 8];
|
||||
/* bit map of NULLs */
|
||||
@@ -69,41 +69,41 @@ typedef HeapTupleHeaderData *HeapTupleHeader;
|
||||
* XLOG allows to store some information in high 4 bits of log
|
||||
* record xl_info field
|
||||
*/
|
||||
#define XLOG_HEAP_INSERT 0x00
|
||||
#define XLOG_HEAP_DELETE 0x10
|
||||
#define XLOG_HEAP_UPDATE 0x20
|
||||
#define XLOG_HEAP_MOVE 0x30
|
||||
#define XLOG_HEAP_CLEAN 0x40
|
||||
#define XLOG_HEAP_INSERT 0x00
|
||||
#define XLOG_HEAP_DELETE 0x10
|
||||
#define XLOG_HEAP_UPDATE 0x20
|
||||
#define XLOG_HEAP_MOVE 0x30
|
||||
#define XLOG_HEAP_CLEAN 0x40
|
||||
#define XLOG_HEAP_OPMASK 0x70
|
||||
/*
|
||||
* When we insert 1st item on new page in INSERT/UPDATE
|
||||
* we can (and we do) restore entire page in redo
|
||||
*/
|
||||
#define XLOG_HEAP_INIT_PAGE 0x80
|
||||
#define XLOG_HEAP_INIT_PAGE 0x80
|
||||
|
||||
/*
|
||||
* All what we need to find changed tuple (18 bytes)
|
||||
*/
|
||||
typedef struct xl_heaptid
|
||||
{
|
||||
RelFileNode node;
|
||||
ItemPointerData tid; /* changed tuple id */
|
||||
RelFileNode node;
|
||||
ItemPointerData tid; /* changed tuple id */
|
||||
} xl_heaptid;
|
||||
|
||||
/* This is what we need to know about delete */
|
||||
typedef struct xl_heap_delete
|
||||
{
|
||||
xl_heaptid target; /* deleted tuple id */
|
||||
xl_heaptid target; /* deleted tuple id */
|
||||
} xl_heap_delete;
|
||||
|
||||
#define SizeOfHeapDelete (offsetof(xl_heaptid, tid) + SizeOfIptrData)
|
||||
#define SizeOfHeapDelete (offsetof(xl_heaptid, tid) + SizeOfIptrData)
|
||||
|
||||
typedef struct xl_heap_header
|
||||
{
|
||||
Oid t_oid;
|
||||
int16 t_natts;
|
||||
uint8 t_hoff;
|
||||
uint8 mask; /* low 8 bits of t_infomask */
|
||||
Oid t_oid;
|
||||
int16 t_natts;
|
||||
uint8 t_hoff;
|
||||
uint8 mask; /* low 8 bits of t_infomask */
|
||||
} xl_heap_header;
|
||||
|
||||
#define SizeOfHeapHeader (offsetof(xl_heap_header, mask) + sizeof(uint8))
|
||||
@@ -111,7 +111,7 @@ typedef struct xl_heap_header
|
||||
/* This is what we need to know about insert */
|
||||
typedef struct xl_heap_insert
|
||||
{
|
||||
xl_heaptid target; /* inserted tuple id */
|
||||
xl_heaptid target; /* inserted tuple id */
|
||||
/* xl_heap_header & TUPLE DATA FOLLOWS AT END OF STRUCT */
|
||||
} xl_heap_insert;
|
||||
|
||||
@@ -120,8 +120,8 @@ typedef struct xl_heap_insert
|
||||
/* This is what we need to know about update|move */
|
||||
typedef struct xl_heap_update
|
||||
{
|
||||
xl_heaptid target; /* deleted tuple id */
|
||||
ItemPointerData newtid; /* new inserted tuple id */
|
||||
xl_heaptid target; /* deleted tuple id */
|
||||
ItemPointerData newtid; /* new inserted tuple id */
|
||||
/* NEW TUPLE xl_heap_header (XMIN & XMAX FOR MOVE OP) */
|
||||
/* and TUPLE DATA FOLLOWS AT END OF STRUCT */
|
||||
} xl_heap_update;
|
||||
@@ -131,16 +131,16 @@ typedef struct xl_heap_update
|
||||
/* This is what we need to know about page cleanup */
|
||||
typedef struct xl_heap_clean
|
||||
{
|
||||
RelFileNode node;
|
||||
BlockNumber block;
|
||||
RelFileNode node;
|
||||
BlockNumber block;
|
||||
/* UNUSED OFFSET NUMBERS FOLLOW AT THE END */
|
||||
} xl_heap_clean;
|
||||
|
||||
#define SizeOfHeapClean (offsetof(xl_heap_clean, block) + sizeof(BlockNumber))
|
||||
#define SizeOfHeapClean (offsetof(xl_heap_clean, block) + sizeof(BlockNumber))
|
||||
|
||||
/*
|
||||
* MaxTupleSize is the maximum allowed size of a tuple, including header and
|
||||
* MAXALIGN alignment padding. Basically it's BLCKSZ minus the other stuff
|
||||
* MAXALIGN alignment padding. Basically it's BLCKSZ minus the other stuff
|
||||
* that has to be on a disk page. The "other stuff" includes access-method-
|
||||
* dependent "special space", which we assume will be no more than
|
||||
* MaxSpecialSpace bytes (currently, on heap pages it's actually zero).
|
||||
@@ -172,7 +172,7 @@ typedef struct xl_heap_clean
|
||||
#define MinCommandIdAttributeNumber (-4)
|
||||
#define MaxTransactionIdAttributeNumber (-5)
|
||||
#define MaxCommandIdAttributeNumber (-6)
|
||||
#define TableOidAttributeNumber (-7)
|
||||
#define TableOidAttributeNumber (-7)
|
||||
#define FirstLowInvalidHeapAttributeNumber (-8)
|
||||
|
||||
/*
|
||||
@@ -193,11 +193,11 @@ typedef struct xl_heap_clean
|
||||
*/
|
||||
typedef struct HeapTupleData
|
||||
{
|
||||
uint32 t_len; /* length of *t_data */
|
||||
ItemPointerData t_self; /* SelfItemPointer */
|
||||
Oid t_tableOid; /* table the tuple came from */
|
||||
MemoryContext t_datamcxt; /* memory context of allocation */
|
||||
HeapTupleHeader t_data; /* -> tuple header and data */
|
||||
uint32 t_len; /* length of *t_data */
|
||||
ItemPointerData t_self; /* SelfItemPointer */
|
||||
Oid t_tableOid; /* table the tuple came from */
|
||||
MemoryContext t_datamcxt; /* memory context of allocation */
|
||||
HeapTupleHeader t_data; /* -> tuple header and data */
|
||||
} HeapTupleData;
|
||||
|
||||
typedef HeapTupleData *HeapTuple;
|
||||
@@ -240,7 +240,7 @@ typedef HeapTupleData *HeapTuple;
|
||||
#define HEAP_HASEXTENDED 0x000C /* the two above combined */
|
||||
|
||||
#define HEAP_XMAX_UNLOGGED 0x0080 /* to lock tuple for update */
|
||||
/* without logging */
|
||||
/* without logging */
|
||||
#define HEAP_XMIN_COMMITTED 0x0100 /* t_xmin committed */
|
||||
#define HEAP_XMIN_INVALID 0x0200 /* t_xmin invalid/aborted */
|
||||
#define HEAP_XMAX_COMMITTED 0x0400 /* t_xmax committed */
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: istrat.h,v 1.19 2001/01/24 19:43:19 momjian Exp $
|
||||
* $Id: istrat.h,v 1.20 2001/03/22 04:00:28 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -56,12 +56,12 @@ extern StrategyNumber RelationGetStrategy(Relation relation,
|
||||
AttrNumber attributeNumber, StrategyEvaluation evaluation,
|
||||
RegProcedure procedure);
|
||||
extern void IndexSupportInitialize(IndexStrategy indexStrategy,
|
||||
RegProcedure *indexSupport,
|
||||
bool *isUnique,
|
||||
Oid indexObjectId,
|
||||
Oid accessMethodObjectId,
|
||||
StrategyNumber maxStrategyNumber,
|
||||
StrategyNumber maxSupportNumber,
|
||||
AttrNumber maxAttributeNumber);
|
||||
RegProcedure *indexSupport,
|
||||
bool *isUnique,
|
||||
Oid indexObjectId,
|
||||
Oid accessMethodObjectId,
|
||||
StrategyNumber maxStrategyNumber,
|
||||
StrategyNumber maxSupportNumber,
|
||||
AttrNumber maxAttributeNumber);
|
||||
|
||||
#endif /* ISTRAT_H */
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: itup.h,v 1.30 2001/02/22 21:48:49 momjian Exp $
|
||||
* $Id: itup.h,v 1.31 2001/03/22 04:00:29 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -75,8 +75,8 @@ typedef RetrieveIndexResultData *RetrieveIndexResult;
|
||||
|
||||
#define IndexTupleSize(itup) ((Size) (((IndexTuple) (itup))->t_info & INDEX_SIZE_MASK))
|
||||
#define IndexTupleDSize(itup) ((Size) ((itup).t_info & INDEX_SIZE_MASK))
|
||||
#define IndexTupleHasNulls(itup) ((((IndexTuple) (itup))->t_info & INDEX_NULL_MASK))
|
||||
#define IndexTupleHasVarlenas(itup) ((((IndexTuple) (itup))->t_info & INDEX_VAR_MASK))
|
||||
#define IndexTupleHasNulls(itup) ((((IndexTuple) (itup))->t_info & INDEX_NULL_MASK))
|
||||
#define IndexTupleHasVarlenas(itup) ((((IndexTuple) (itup))->t_info & INDEX_VAR_MASK))
|
||||
|
||||
#define IndexTupleHasMinHeader(itup) (!IndexTupleHasNulls(itup))
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: nbtree.h,v 1.54 2001/02/22 23:02:33 momjian Exp $
|
||||
* $Id: nbtree.h,v 1.55 2001/03/22 04:00:29 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -22,7 +22,7 @@
|
||||
/*
|
||||
* BTPageOpaqueData -- At the end of every page, we store a pointer
|
||||
* to both siblings in the tree. This is used to do forward/backward
|
||||
* index scans. See Lehman and Yao's paper for more
|
||||
* index scans. See Lehman and Yao's paper for more
|
||||
* info. In addition, we need to know what type of page this is
|
||||
* (leaf or internal), and whether the page is available for reuse.
|
||||
*
|
||||
@@ -35,8 +35,8 @@ typedef struct BTPageOpaqueData
|
||||
{
|
||||
BlockNumber btpo_prev; /* used for backward index scans */
|
||||
BlockNumber btpo_next; /* used for forward index scans */
|
||||
BlockNumber btpo_parent; /* pointer to parent, but not updated
|
||||
on parent split */
|
||||
BlockNumber btpo_parent; /* pointer to parent, but not updated on
|
||||
* parent split */
|
||||
uint16 btpo_flags; /* LEAF?, ROOT?, FREE?, META?, REORDER? */
|
||||
|
||||
} BTPageOpaqueData;
|
||||
@@ -44,11 +44,11 @@ typedef struct BTPageOpaqueData
|
||||
typedef BTPageOpaqueData *BTPageOpaque;
|
||||
|
||||
/* Bits defined in btpo_flags */
|
||||
#define BTP_LEAF (1 << 0) /* leaf page, if not internal page */
|
||||
#define BTP_ROOT (1 << 1) /* root page (has no parent) */
|
||||
#define BTP_FREE (1 << 2) /* page not in use */
|
||||
#define BTP_META (1 << 3) /* meta-page */
|
||||
#define BTP_REORDER (1 << 4) /* items need reordering */
|
||||
#define BTP_LEAF (1 << 0)/* leaf page, if not internal page */
|
||||
#define BTP_ROOT (1 << 1)/* root page (has no parent) */
|
||||
#define BTP_FREE (1 << 2)/* page not in use */
|
||||
#define BTP_META (1 << 3)/* meta-page */
|
||||
#define BTP_REORDER (1 << 4)/* items need reordering */
|
||||
|
||||
|
||||
/*
|
||||
@@ -67,15 +67,15 @@ typedef struct BTMetaPageData
|
||||
#define BTPageGetMeta(p) \
|
||||
((BTMetaPageData *) &((PageHeader) p)->pd_linp[0])
|
||||
|
||||
#define BTREE_METAPAGE 0 /* first page is meta */
|
||||
#define BTREE_MAGIC 0x053162 /* magic number of btree pages */
|
||||
#define BTREE_METAPAGE 0 /* first page is meta */
|
||||
#define BTREE_MAGIC 0x053162/* magic number of btree pages */
|
||||
|
||||
#define BTreeInvalidParent(opaque) \
|
||||
(opaque->btpo_parent == InvalidBlockNumber || \
|
||||
opaque->btpo_parent == BTREE_METAPAGE)
|
||||
|
||||
#define BTREE_VERSION 1
|
||||
|
||||
|
||||
/*
|
||||
* BTScanOpaqueData is used to remember which buffers we're currently
|
||||
* examining in the scan. We keep these buffers pinned (but not locked,
|
||||
@@ -101,8 +101,8 @@ typedef struct BTScanOpaqueData
|
||||
/* these fields are set by _bt_orderkeys(), which see for more info: */
|
||||
bool qual_ok; /* false if qual can never be satisfied */
|
||||
uint16 numberOfKeys; /* number of scan keys */
|
||||
uint16 numberOfRequiredKeys; /* number of keys that must be matched
|
||||
* to continue the scan */
|
||||
uint16 numberOfRequiredKeys; /* number of keys that must be
|
||||
* matched to continue the scan */
|
||||
ScanKey keyData; /* array of scan keys */
|
||||
} BTScanOpaqueData;
|
||||
|
||||
@@ -136,7 +136,7 @@ typedef struct BTItemData
|
||||
|
||||
typedef BTItemData *BTItem;
|
||||
|
||||
/*
|
||||
/*
|
||||
* For XLOG: size without alignement. Sizeof works as long as
|
||||
* IndexTupleData has exactly 8 bytes.
|
||||
*/
|
||||
@@ -217,28 +217,28 @@ typedef BTStackData *BTStack;
|
||||
|
||||
#define P_HIKEY ((OffsetNumber) 1)
|
||||
#define P_FIRSTKEY ((OffsetNumber) 2)
|
||||
#define P_FIRSTDATAKEY(opaque) (P_RIGHTMOST(opaque) ? P_HIKEY : P_FIRSTKEY)
|
||||
#define P_FIRSTDATAKEY(opaque) (P_RIGHTMOST(opaque) ? P_HIKEY : P_FIRSTKEY)
|
||||
|
||||
/*
|
||||
* XLOG allows to store some information in high 4 bits of log
|
||||
* record xl_info field
|
||||
*/
|
||||
#define XLOG_BTREE_DELETE 0x00 /* delete btitem */
|
||||
#define XLOG_BTREE_INSERT 0x10 /* add btitem without split */
|
||||
#define XLOG_BTREE_SPLIT 0x20 /* add btitem with split */
|
||||
#define XLOG_BTREE_SPLEFT 0x30 /* as above + flag that new btitem */
|
||||
/* goes to the left sibling */
|
||||
#define XLOG_BTREE_NEWROOT 0x40 /* new root page */
|
||||
#define XLOG_BTREE_DELETE 0x00/* delete btitem */
|
||||
#define XLOG_BTREE_INSERT 0x10/* add btitem without split */
|
||||
#define XLOG_BTREE_SPLIT 0x20/* add btitem with split */
|
||||
#define XLOG_BTREE_SPLEFT 0x30/* as above + flag that new btitem */
|
||||
/* goes to the left sibling */
|
||||
#define XLOG_BTREE_NEWROOT 0x40/* new root page */
|
||||
|
||||
#define XLOG_BTREE_LEAF 0x80 /* leaf/internal page was changed */
|
||||
#define XLOG_BTREE_LEAF 0x80/* leaf/internal page was changed */
|
||||
|
||||
/*
|
||||
* All what we need to find changed index tuple
|
||||
*/
|
||||
typedef struct xl_btreetid
|
||||
{
|
||||
RelFileNode node;
|
||||
ItemPointerData tid; /* changed tuple id */
|
||||
RelFileNode node;
|
||||
ItemPointerData tid; /* changed tuple id */
|
||||
} xl_btreetid;
|
||||
|
||||
/*
|
||||
@@ -246,48 +246,48 @@ typedef struct xl_btreetid
|
||||
*/
|
||||
typedef struct xl_btree_delete
|
||||
{
|
||||
xl_btreetid target; /* deleted tuple id */
|
||||
xl_btreetid target; /* deleted tuple id */
|
||||
} xl_btree_delete;
|
||||
|
||||
#define SizeOfBtreeDelete (offsetof(xl_btreetid, tid) + SizeOfIptrData)
|
||||
#define SizeOfBtreeDelete (offsetof(xl_btreetid, tid) + SizeOfIptrData)
|
||||
|
||||
/*
|
||||
/*
|
||||
* This is what we need to know about pure (without split) insert
|
||||
*/
|
||||
typedef struct xl_btree_insert
|
||||
{
|
||||
xl_btreetid target; /* inserted tuple id */
|
||||
xl_btreetid target; /* inserted tuple id */
|
||||
/* BTITEM FOLLOWS AT END OF STRUCT */
|
||||
} xl_btree_insert;
|
||||
|
||||
#define SizeOfBtreeInsert (offsetof(xl_btreetid, tid) + SizeOfIptrData)
|
||||
|
||||
/*
|
||||
/*
|
||||
* On insert with split we save items of both left and right siblings
|
||||
* and restore content of both pages from log record
|
||||
*/
|
||||
typedef struct xl_btree_split
|
||||
{
|
||||
xl_btreetid target; /* inserted tuple id */
|
||||
BlockIdData otherblk; /* second block participated in split: */
|
||||
/* first one is stored in target' tid */
|
||||
BlockIdData parentblk; /* parent block */
|
||||
BlockIdData leftblk; /* prev left block */
|
||||
BlockIdData rightblk; /* next right block */
|
||||
uint16 leftlen; /* len of left page items below */
|
||||
xl_btreetid target; /* inserted tuple id */
|
||||
BlockIdData otherblk; /* second block participated in split: */
|
||||
/* first one is stored in target' tid */
|
||||
BlockIdData parentblk; /* parent block */
|
||||
BlockIdData leftblk; /* prev left block */
|
||||
BlockIdData rightblk; /* next right block */
|
||||
uint16 leftlen; /* len of left page items below */
|
||||
/* LEFT AND RIGHT PAGES ITEMS FOLLOW AT THE END */
|
||||
} xl_btree_split;
|
||||
|
||||
#define SizeOfBtreeSplit (offsetof(xl_btree_split, leftlen) + sizeof(uint16))
|
||||
|
||||
/*
|
||||
* New root log record.
|
||||
/*
|
||||
* New root log record.
|
||||
*/
|
||||
typedef struct xl_btree_newroot
|
||||
{
|
||||
RelFileNode node;
|
||||
int32 level;
|
||||
BlockIdData rootblk;
|
||||
RelFileNode node;
|
||||
int32 level;
|
||||
BlockIdData rootblk;
|
||||
/* 0 or 2 BTITEMS FOLLOW AT END OF STRUCT */
|
||||
} xl_btree_newroot;
|
||||
|
||||
@@ -332,7 +332,7 @@ extern Datum btdelete(PG_FUNCTION_ARGS);
|
||||
|
||||
extern void btree_redo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void btree_undo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void btree_desc(char *buf, uint8 xl_info, char* rec);
|
||||
extern void btree_desc(char *buf, uint8 xl_info, char *rec);
|
||||
|
||||
/*
|
||||
* prototypes for functions in nbtinsert.c
|
||||
@@ -365,13 +365,13 @@ extern void AtEOXact_nbtree(void);
|
||||
* prototypes for functions in nbtsearch.c
|
||||
*/
|
||||
extern BTStack _bt_search(Relation rel, int keysz, ScanKey scankey,
|
||||
Buffer *bufP, int access);
|
||||
Buffer *bufP, int access);
|
||||
extern Buffer _bt_moveright(Relation rel, Buffer buf, int keysz,
|
||||
ScanKey scankey, int access);
|
||||
extern OffsetNumber _bt_binsrch(Relation rel, Buffer buf, int keysz,
|
||||
ScanKey scankey);
|
||||
ScanKey scankey);
|
||||
extern int32 _bt_compare(Relation rel, int keysz, ScanKey scankey,
|
||||
Page page, OffsetNumber offnum);
|
||||
Page page, OffsetNumber offnum);
|
||||
extern RetrieveIndexResult _bt_next(IndexScanDesc scan, ScanDirection dir);
|
||||
extern RetrieveIndexResult _bt_first(IndexScanDesc scan, ScanDirection dir);
|
||||
extern bool _bt_step(IndexScanDesc scan, Buffer *bufP, ScanDirection dir);
|
||||
@@ -391,7 +391,7 @@ extern void _bt_freeskey(ScanKey skey);
|
||||
extern void _bt_freestack(BTStack stack);
|
||||
extern void _bt_orderkeys(Relation relation, BTScanOpaque so);
|
||||
extern bool _bt_checkkeys(IndexScanDesc scan, IndexTuple tuple,
|
||||
ScanDirection dir, bool *continuescan);
|
||||
ScanDirection dir, bool *continuescan);
|
||||
extern BTItem _bt_formitem(IndexTuple itup);
|
||||
|
||||
/*
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: printtup.h,v 1.14 2001/01/24 19:43:19 momjian Exp $
|
||||
* $Id: printtup.h,v 1.15 2001/03/22 04:00:29 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -20,13 +20,13 @@ extern DestReceiver *printtup_create_DR(bool isBinary);
|
||||
|
||||
extern void showatts(char *name, TupleDesc attinfo);
|
||||
extern void debugtup(HeapTuple tuple, TupleDesc typeinfo,
|
||||
DestReceiver *self);
|
||||
DestReceiver *self);
|
||||
|
||||
/* XXX this one is really in executor/spi.c */
|
||||
extern void spi_printtup(HeapTuple tuple, TupleDesc tupdesc,
|
||||
DestReceiver *self);
|
||||
DestReceiver *self);
|
||||
|
||||
extern bool getTypeOutputInfo(Oid type, Oid *typOutput, Oid *typElem,
|
||||
bool *typIsVarlena);
|
||||
bool *typIsVarlena);
|
||||
|
||||
#endif /* PRINTTUP_H */
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: rtree.h,v 1.21 2001/01/24 19:43:19 momjian Exp $
|
||||
* $Id: rtree.h,v 1.22 2001/03/22 04:00:30 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -124,7 +124,7 @@ extern void _rtdump(Relation r);
|
||||
|
||||
extern void rtree_redo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void rtree_undo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void rtree_desc(char *buf, uint8 xl_info, char* rec);
|
||||
extern void rtree_desc(char *buf, uint8 xl_info, char *rec);
|
||||
|
||||
/* rtscan.c */
|
||||
extern void rtadjscans(Relation r, int op, BlockNumber blkno,
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: strat.h,v 1.19 2001/01/24 19:43:19 momjian Exp $
|
||||
* $Id: strat.h,v 1.20 2001/03/22 04:00:31 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -37,6 +37,7 @@ typedef struct StrategyTransformMapData
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* STRUCTURE */
|
||||
|
||||
typedef StrategyTransformMapData *StrategyTransformMap;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: transam.h,v 1.31 2001/03/18 20:18:59 tgl Exp $
|
||||
* $Id: transam.h,v 1.32 2001/03/22 04:00:31 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* Transaction System Version 101 now support proper oid
|
||||
@@ -84,8 +84,8 @@ typedef unsigned char XidStatus;/* (2 bits) */
|
||||
*/
|
||||
typedef struct LogRelationContentsData
|
||||
{
|
||||
XLogRecPtr LSN; /* temp hack: LSN is member of any block */
|
||||
/* so should be described in bufmgr */
|
||||
XLogRecPtr LSN; /* temp hack: LSN is member of any block */
|
||||
/* so should be described in bufmgr */
|
||||
int TransSystemVersion;
|
||||
} LogRelationContentsData;
|
||||
|
||||
@@ -120,7 +120,8 @@ typedef struct VariableRelationContentsData
|
||||
} VariableRelationContentsData;
|
||||
|
||||
typedef VariableRelationContentsData *VariableRelationContents;
|
||||
#endif /* NOT_USED */
|
||||
|
||||
#endif /* NOT_USED */
|
||||
|
||||
/*
|
||||
* VariableCache is placed in shmem and used by
|
||||
@@ -128,9 +129,9 @@ typedef VariableRelationContentsData *VariableRelationContents;
|
||||
*/
|
||||
typedef struct VariableCacheData
|
||||
{
|
||||
TransactionId nextXid; /* next XID to assign */
|
||||
Oid nextOid; /* next OID to assign */
|
||||
uint32 oidCount; /* OIDs available before must do XLOG work */
|
||||
TransactionId nextXid; /* next XID to assign */
|
||||
Oid nextOid; /* next OID to assign */
|
||||
uint32 oidCount; /* OIDs available before must do XLOG work */
|
||||
} VariableCacheData;
|
||||
|
||||
typedef VariableCacheData *VariableCache;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: tupmacs.h,v 1.16 2001/01/24 19:43:20 momjian Exp $
|
||||
* $Id: tupmacs.h,v 1.17 2001/03/22 04:00:31 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -68,7 +68,7 @@
|
||||
PointerGetDatum((char *) (T)) \
|
||||
)
|
||||
|
||||
#else /* SIZEOF_DATUM != 8 */
|
||||
#else /* SIZEOF_DATUM != 8 */
|
||||
|
||||
#define fetch_att(T,attbyval,attlen) \
|
||||
( \
|
||||
@@ -91,7 +91,7 @@
|
||||
PointerGetDatum((char *) (T)) \
|
||||
)
|
||||
|
||||
#endif /* SIZEOF_DATUM == 8 */
|
||||
#endif /* SIZEOF_DATUM == 8 */
|
||||
|
||||
/*
|
||||
* att_align aligns the given offset as needed for a datum of length attlen
|
||||
@@ -158,7 +158,7 @@
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#else /* SIZEOF_DATUM != 8 */
|
||||
#else /* SIZEOF_DATUM != 8 */
|
||||
|
||||
#define store_att_byval(T,newdatum,attlen) \
|
||||
do { \
|
||||
@@ -180,6 +180,6 @@
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif /* SIZEOF_DATUM == 8 */
|
||||
#endif /* SIZEOF_DATUM == 8 */
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 2000, PostgreSQL Development Team
|
||||
*
|
||||
* $Id: tuptoaster.h,v 1.9 2001/02/15 20:57:01 tgl Exp $
|
||||
* $Id: tuptoaster.h,v 1.10 2001/03/22 04:00:32 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
/*
|
||||
* When we store an oversize datum externally, we divide it into chunks
|
||||
* containing at most TOAST_MAX_CHUNK_SIZE data bytes. This number *must*
|
||||
* containing at most TOAST_MAX_CHUNK_SIZE data bytes. This number *must*
|
||||
* be small enough that the completed toast-table tuple (including the
|
||||
* ID and sequence fields and all overhead) is no more than MaxTupleSize
|
||||
* bytes. It *should* be small enough to make toast-table tuples no more
|
||||
@@ -80,7 +80,7 @@
|
||||
* ----------
|
||||
*/
|
||||
extern void heap_tuple_toast_attrs(Relation rel,
|
||||
HeapTuple newtup, HeapTuple oldtup);
|
||||
HeapTuple newtup, HeapTuple oldtup);
|
||||
|
||||
/* ----------
|
||||
* heap_tuple_fetch_attr() -
|
||||
@@ -90,7 +90,7 @@ extern void heap_tuple_toast_attrs(Relation rel,
|
||||
* in compressed format.
|
||||
* ----------
|
||||
*/
|
||||
extern varattrib *heap_tuple_fetch_attr(varattrib * attr);
|
||||
extern varattrib *heap_tuple_fetch_attr(varattrib *attr);
|
||||
|
||||
/* ----------
|
||||
* heap_tuple_untoast_attr() -
|
||||
@@ -99,7 +99,7 @@ extern varattrib *heap_tuple_fetch_attr(varattrib * attr);
|
||||
* it as needed.
|
||||
* ----------
|
||||
*/
|
||||
extern varattrib *heap_tuple_untoast_attr(varattrib * attr);
|
||||
extern varattrib *heap_tuple_untoast_attr(varattrib *attr);
|
||||
|
||||
/* ----------
|
||||
* toast_compress_datum -
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: xact.h,v 1.32 2001/01/24 19:43:20 momjian Exp $
|
||||
* $Id: xact.h,v 1.33 2001/03/22 04:00:32 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -82,15 +82,15 @@ typedef TransactionStateData *TransactionState;
|
||||
* XLOG allows to store some information in high 4 bits of log
|
||||
* record xl_info field
|
||||
*/
|
||||
#define XLOG_XACT_COMMIT 0x00
|
||||
#define XLOG_XACT_ABORT 0x20
|
||||
#define XLOG_XACT_COMMIT 0x00
|
||||
#define XLOG_XACT_ABORT 0x20
|
||||
|
||||
typedef struct xl_xact_commit
|
||||
{
|
||||
time_t xtime;
|
||||
|
||||
/*
|
||||
* Array of RelFileNode-s to drop may follow
|
||||
* at the end of struct
|
||||
* Array of RelFileNode-s to drop may follow at the end of struct
|
||||
*/
|
||||
} xl_xact_commit;
|
||||
|
||||
@@ -101,7 +101,7 @@ typedef struct xl_xact_abort
|
||||
time_t xtime;
|
||||
} xl_xact_abort;
|
||||
|
||||
#define SizeOfXactAbort ((offsetof(xl_xact_abort, xtime) + sizeof(time_t)))
|
||||
#define SizeOfXactAbort ((offsetof(xl_xact_abort, xtime) + sizeof(time_t)))
|
||||
|
||||
/* ----------------
|
||||
* extern definitions
|
||||
@@ -135,12 +135,12 @@ extern void RecordTransactionCommit(void);
|
||||
|
||||
extern TransactionId DisabledTransactionId;
|
||||
|
||||
extern void XactPushRollback(void (*func) (void *), void* data);
|
||||
extern void XactPushRollback(void (*func) (void *), void *data);
|
||||
extern void XactPopRollback(void);
|
||||
|
||||
extern void xact_redo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void xact_undo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void xact_desc(char *buf, uint8 xl_info, char* rec);
|
||||
extern void xact_redo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void xact_undo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void xact_desc(char *buf, uint8 xl_info, char *rec);
|
||||
|
||||
/* defined in xid.c */
|
||||
extern Datum xidin(PG_FUNCTION_ARGS);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: xlog.h,v 1.22 2001/03/18 20:18:59 tgl Exp $
|
||||
* $Id: xlog.h,v 1.23 2001/03/22 04:00:32 momjian Exp $
|
||||
*/
|
||||
#ifndef XLOG_H
|
||||
#define XLOG_H
|
||||
@@ -52,7 +52,7 @@ typedef struct XLogRecord
|
||||
/*
|
||||
* XLOG uses only low 4 bits of xl_info. High 4 bits may be used by rmgr.
|
||||
*/
|
||||
#define XLR_INFO_MASK 0x0F
|
||||
#define XLR_INFO_MASK 0x0F
|
||||
|
||||
/*
|
||||
* We support backup of up to 2 disk blocks per XLOG record (could support
|
||||
@@ -60,9 +60,10 @@ typedef struct XLogRecord
|
||||
* do not need more than 2 anyway). If we backed up any disk blocks then we
|
||||
* use flag bits in xl_info to signal it.
|
||||
*/
|
||||
#define XLR_BKP_BLOCK_MASK 0x0C /* all info bits used for bkp blocks */
|
||||
#define XLR_BKP_BLOCK_MASK 0x0C /* all info bits used for bkp
|
||||
* blocks */
|
||||
#define XLR_MAX_BKP_BLOCKS 2
|
||||
#define XLR_SET_BKP_BLOCK(iblk) (0x08 >> (iblk))
|
||||
#define XLR_SET_BKP_BLOCK(iblk) (0x08 >> (iblk))
|
||||
#define XLR_BKP_BLOCK_1 XLR_SET_BKP_BLOCK(0) /* 0x08 */
|
||||
#define XLR_BKP_BLOCK_2 XLR_SET_BKP_BLOCK(1) /* 0x04 */
|
||||
|
||||
@@ -70,7 +71,7 @@ typedef struct XLogRecord
|
||||
* Sometimes we log records which are out of transaction control.
|
||||
* Rmgr may "or" XLOG_NO_TRAN into info passed to XLogInsert to indicate this.
|
||||
*/
|
||||
#define XLOG_NO_TRAN XLR_INFO_MASK
|
||||
#define XLOG_NO_TRAN XLR_INFO_MASK
|
||||
|
||||
/*
|
||||
* Header info for a backup block appended to an XLOG record.
|
||||
@@ -81,14 +82,14 @@ typedef struct XLogRecord
|
||||
*/
|
||||
typedef struct BkpBlock
|
||||
{
|
||||
crc64 crc;
|
||||
RelFileNode node;
|
||||
BlockNumber block;
|
||||
crc64 crc;
|
||||
RelFileNode node;
|
||||
BlockNumber block;
|
||||
} BkpBlock;
|
||||
|
||||
/*
|
||||
* When there is not enough space on current page for whole record, we
|
||||
* continue on the next page with continuation record. (However, the
|
||||
* continue on the next page with continuation record. (However, the
|
||||
* XLogRecord header will never be split across pages; if there's less than
|
||||
* SizeOfXLogRecord space left at the end of a page, we just waste it.)
|
||||
*
|
||||
@@ -101,9 +102,9 @@ typedef struct XLogContRecord
|
||||
|
||||
/* ACTUAL LOG DATA FOLLOWS AT END OF STRUCT */
|
||||
|
||||
} XLogContRecord;
|
||||
} XLogContRecord;
|
||||
|
||||
#define SizeOfXLogContRecord MAXALIGN(sizeof(XLogContRecord))
|
||||
#define SizeOfXLogContRecord MAXALIGN(sizeof(XLogContRecord))
|
||||
|
||||
/*
|
||||
* Each page of XLOG file has a header like this:
|
||||
@@ -132,7 +133,7 @@ typedef XLogPageHeaderData *XLogPageHeader;
|
||||
* that we don't have problems representing last-byte-position-plus-1.
|
||||
*/
|
||||
#define XLogSegSize ((uint32) (16*1024*1024))
|
||||
#define XLogSegsPerFile (((uint32) 0xffffffff) / XLogSegSize)
|
||||
#define XLogSegsPerFile (((uint32) 0xffffffff) / XLogSegSize)
|
||||
#define XLogFileSize (XLogSegsPerFile * XLogSegSize)
|
||||
|
||||
/*
|
||||
@@ -143,9 +144,9 @@ typedef XLogPageHeaderData *XLogPageHeader;
|
||||
typedef struct RmgrData
|
||||
{
|
||||
char *rm_name;
|
||||
void (*rm_redo)(XLogRecPtr lsn, XLogRecord *rptr);
|
||||
void (*rm_undo)(XLogRecPtr lsn, XLogRecord *rptr);
|
||||
void (*rm_desc)(char *buf, uint8 xl_info, char *rec);
|
||||
void (*rm_redo) (XLogRecPtr lsn, XLogRecord *rptr);
|
||||
void (*rm_undo) (XLogRecPtr lsn, XLogRecord *rptr);
|
||||
void (*rm_desc) (char *buf, uint8 xl_info, char *rec);
|
||||
} RmgrData;
|
||||
|
||||
extern RmgrData RmgrTable[];
|
||||
@@ -166,21 +167,21 @@ extern RmgrData RmgrTable[];
|
||||
*/
|
||||
typedef struct XLogRecData
|
||||
{
|
||||
Buffer buffer; /* buffer associated with this data */
|
||||
char *data;
|
||||
uint32 len;
|
||||
Buffer buffer; /* buffer associated with this data */
|
||||
char *data;
|
||||
uint32 len;
|
||||
struct XLogRecData *next;
|
||||
} XLogRecData;
|
||||
|
||||
extern StartUpID ThisStartUpID; /* current SUI */
|
||||
extern bool InRecovery;
|
||||
extern XLogRecPtr MyLastRecPtr;
|
||||
extern StartUpID ThisStartUpID; /* current SUI */
|
||||
extern bool InRecovery;
|
||||
extern XLogRecPtr MyLastRecPtr;
|
||||
|
||||
/* these variables are GUC parameters related to XLOG */
|
||||
extern int CheckPointSegments;
|
||||
extern int XLOGbuffers;
|
||||
extern int XLOGfiles;
|
||||
extern int XLOG_DEBUG;
|
||||
extern int CheckPointSegments;
|
||||
extern int XLOGbuffers;
|
||||
extern int XLOGfiles;
|
||||
extern int XLOG_DEBUG;
|
||||
extern char *XLOG_sync_method;
|
||||
extern const char XLOG_sync_method_default[];
|
||||
|
||||
@@ -190,10 +191,10 @@ extern void XLogFlush(XLogRecPtr RecPtr);
|
||||
|
||||
extern void xlog_redo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void xlog_undo(XLogRecPtr lsn, XLogRecord *record);
|
||||
extern void xlog_desc(char *buf, uint8 xl_info, char* rec);
|
||||
extern void xlog_desc(char *buf, uint8 xl_info, char *rec);
|
||||
|
||||
extern void UpdateControlFile(void);
|
||||
extern int XLOGShmemSize(void);
|
||||
extern int XLOGShmemSize(void);
|
||||
extern void XLOGShmemInit(void);
|
||||
extern void XLOGPathInit(void);
|
||||
extern void BootStrapXLOG(void);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: xlogdefs.h,v 1.2 2001/03/13 01:17:06 tgl Exp $
|
||||
* $Id: xlogdefs.h,v 1.3 2001/03/22 04:00:32 momjian Exp $
|
||||
*/
|
||||
#ifndef XLOG_DEFS_H
|
||||
#define XLOG_DEFS_H
|
||||
@@ -23,8 +23,8 @@
|
||||
* NOTE: the "log file number" is somewhat misnamed, since the actual files
|
||||
* making up the XLOG are much smaller than 4Gb. Each actual file is an
|
||||
* XLogSegSize-byte "segment" of a logical log file having the indicated
|
||||
* xlogid. The log file number and segment number together identify a
|
||||
* physical XLOG file. Segment number and offset within the physical file
|
||||
* xlogid. The log file number and segment number together identify a
|
||||
* physical XLOG file. Segment number and offset within the physical file
|
||||
* are computed from xrecoff div and mod XLogSegSize.
|
||||
*/
|
||||
typedef struct XLogRecPtr
|
||||
@@ -54,6 +54,6 @@ typedef struct XLogRecPtr
|
||||
* StartUpID (SUI) - system startups counter. It's to allow removing
|
||||
* pg_log after shutdown, in future.
|
||||
*/
|
||||
typedef uint32 StartUpID;
|
||||
typedef uint32 StartUpID;
|
||||
|
||||
#endif /* XLOG_DEFS_H */
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: xlogutils.h,v 1.6 2001/03/13 01:17:06 tgl Exp $
|
||||
* $Id: xlogutils.h,v 1.7 2001/03/22 04:00:32 momjian Exp $
|
||||
*/
|
||||
#ifndef XLOG_UTILS_H
|
||||
#define XLOG_UTILS_H
|
||||
#define XLOG_UTILS_H
|
||||
|
||||
#include "access/rmgr.h"
|
||||
#include "utils/rel.h"
|
||||
|
||||
extern int XLogIsOwnerOfTuple(RelFileNode hnode, ItemPointer iptr,
|
||||
TransactionId xid, CommandId cid);
|
||||
extern int XLogIsOwnerOfTuple(RelFileNode hnode, ItemPointer iptr,
|
||||
TransactionId xid, CommandId cid);
|
||||
extern bool XLogIsValidTuple(RelFileNode hnode, ItemPointer iptr);
|
||||
|
||||
extern void XLogOpenLogRelation(void);
|
||||
|
||||
Reference in New Issue
Block a user