*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.103 2000/12/28 13:00:06 vadim Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.104 2000/12/30 06:52:33 vadim Exp $
*
*
* INTERFACE ROUTINES
* without reading log if xact will abort before update is logged.
* In the event of crash prio logging, TQUAL routines will see
* HEAP_XMAX_UNLOGGED flag...
+ *
+ * NOTE: this trick is useless currently but saved for future
+ * when we'll implement UNDO and will re-use transaction IDs
+ * after postmaster startup.
*/
_locked_tuple_.node = relation->rd_node;
_locked_tuple_.tid = *otid;
hsize += (2 * sizeof(TransactionId));
}
rdata[2].buffer = newbuf;
- rdata[2].data = (char*)&xlhdr;
+ rdata[2].data = (char*)xlhdr;
rdata[2].len = hsize;
rdata[2].next = &(rdata[3]);
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.46 2000/12/29 21:31:21 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.47 2000/12/30 06:52:34 vadim Exp $
*
*-------------------------------------------------------------------------
*/
static void
xlog_outrec(char *buf, XLogRecord *record)
{
- sprintf(buf + strlen(buf), "prev %u/%u; xprev %u/%u; xid %u: %s",
+ int bkpb;
+ int i;
+
+ sprintf(buf + strlen(buf), "prev %u/%u; xprev %u/%u; xid %u",
record->xl_prev.xlogid, record->xl_prev.xrecoff,
record->xl_xact_prev.xlogid, record->xl_xact_prev.xrecoff,
- record->xl_xid,
+ record->xl_xid);
+
+ for (i = 0, bkpb = 0; i < 2; i++)
+ {
+ if (!(record->xl_info & (XLR_SET_BKP_BLOCK(i))))
+ continue;
+ bkpb++;
+ }
+
+ if (bkpb)
+ sprintf(buf + strlen(buf), "; bkpb %d", bkpb);
+
+ sprintf(buf + strlen(buf), ": %s",
RmgrTable[record->xl_rmid].rm_name);
}