Improve XLOG_NO_TRAN related comments

From: Qingqing Zhou <zhouqq(at)cs(dot)toronto(dot)edu>
To: pgsql-patches(at)postgresql(dot)org
Subject: Improve XLOG_NO_TRAN related comments
Date: 2005-12-24 21:55:46
Message-ID: Pine.LNX.4.58.0512241652450.4410@eon.cs
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches


The following patch improves XLOG_NO_TRAN related comments per discussion.

Regards,
Qingqing

---

Index: backend/access/transam/clog.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/access/transam/clog.c,v
retrieving revision 1.36
diff -c -r1.36 clog.c
*** backend/access/transam/clog.c 6 Dec 2005 23:08:32 -0000 1.36
--- backend/access/transam/clog.c 24 Dec 2005 21:51:12 -0000
***************
*** 370,378 ****
/*
* Write a ZEROPAGE xlog record
*
! * Note: xlog record is marked as outside transaction control, since we
! * want it to be redone whether the invoking transaction commits or not.
! * (Besides which, this is normally done just before entering a transaction.)
*/
static void
WriteZeroPageXlogRec(int pageno)
--- 370,376 ----
/*
* Write a ZEROPAGE xlog record
*
! * Note: This is normally done just before entering a transaction.
*/
static void
WriteZeroPageXlogRec(int pageno)
Index: backend/access/transam/multixact.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/access/transam/multixact.c,v
retrieving revision 1.15
diff -c -r1.15 multixact.c
*** backend/access/transam/multixact.c 6 Dec 2005 23:08:32 -0000 1.15
--- backend/access/transam/multixact.c 24 Dec 2005 21:51:12 -0000
***************
*** 1797,1805 ****
/*
* Write an xlog record reflecting the zeroing of either a MEMBERs or
* OFFSETs page (info shows which)
- *
- * Note: xlog record is marked as outside transaction control, since we
- * want it to be redone whether the invoking transaction commits or not.
*/
static void
WriteMZeroPageXlogRec(int pageno, uint8 info)
--- 1797,1802 ----
Index: backend/access/transam/xact.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/access/transam/xact.c,v
retrieving revision 1.216
diff -c -r1.216 xact.c
*** backend/access/transam/xact.c 22 Nov 2005 18:17:07 -0000 1.216
--- backend/access/transam/xact.c 24 Dec 2005 21:51:12 -0000
***************
*** 690,697 ****
* 2004-08-10.
*
* (If it made no transaction-controlled XLOG entries, its XID appears
! * nowhere in permanent storage, so no one else will ever care if it
! * committed; so it doesn't matter if we lose the commit flag.)
*
* Note we only need a shared lock.
*/
--- 690,697 ----
* 2004-08-10.
*
* (If it made no transaction-controlled XLOG entries, its XID appears
! * nowhere in permanent data storage, so no one else will ever care if
! * it committed; so it doesn't matter if we lose the commit flag.)
*
* Note we only need a shared lock.
*/
Index: backend/storage/smgr/smgr.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/storage/smgr/smgr.c,v
retrieving revision 1.94
diff -c -r1.94 smgr.c
*** backend/storage/smgr/smgr.c 22 Nov 2005 18:17:21 -0000 1.94
--- backend/storage/smgr/smgr.c 24 Dec 2005 21:51:12 -0000
***************
*** 364,374 ****
if (isRedo)
return;

! /*
! * Make a non-transactional XLOG entry showing the file creation. It's
! * non-transactional because we should replay it whether the transaction
! * commits or not; if not, the file will be dropped at abort time.
! */
xlrec.rnode = reln->smgr_rnode;

rdata.data = (char *) &xlrec;
--- 364,370 ----
if (isRedo)
return;

! /* Make a non-transactional XLOG entry showing the file creation */
xlrec.rnode = reln->smgr_rnode;

rdata.data = (char *) &xlrec;
***************
*** 622,633 ****

if (!isTemp)
{
! /*
! * Make a non-transactional XLOG entry showing the file truncation.
! * It's non-transactional because we should replay it whether the
! * transaction commits or not; the underlying file change is certainly
! * not reversible.
! */
XLogRecPtr lsn;
XLogRecData rdata;
xl_smgr_truncate xlrec;
--- 618,624 ----

if (!isTemp)
{
! /* Make a non-transactional XLOG entry showing the file truncation */
XLogRecPtr lsn;
XLogRecData rdata;
xl_smgr_truncate xlrec;
Index: include/access/xlog.h
===================================================================
RCS file: /projects/cvsroot/pgsql/src/include/access/xlog.h,v
retrieving revision 1.69
diff -c -r1.69 xlog.h
*** include/access/xlog.h 15 Oct 2005 02:49:42 -0000 1.69
--- include/access/xlog.h 24 Dec 2005 21:51:13 -0000
***************
*** 78,84 ****

/*
* 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

--- 78,90 ----

/*
* Sometimes we log records which are out of transaction control.
! *
! * Note: The non-transaction-controlled distinction is really not very
! * useful. Vadim put it in originally because he may want to go to a
! * REDO/UNDO approach, in which it would've been important to tell the
! * difference (i.e., REDO always), but we never did that and probably
! * never will. We've preserved the distinction because it seemed worthwhile
! * from the standpoint of documentation and logical clarity.
*/
#define XLOG_NO_TRAN XLR_INFO_MASK

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2005-12-25 02:14:11 New HIGHBIG and IS_HIGHBIT_SET defines
Previous Message Andrew Dunstan 2005-12-24 17:18:45 Re: [PATCHES] default resource limits