OSDN Git Service

Rename asyncCommitLSN to asyncXactLSN to reflect changed role in 9.0.
authorSimon Riggs <simon@2ndQuadrant.com>
Thu, 29 Jul 2010 22:27:27 +0000 (22:27 +0000)
committerSimon Riggs <simon@2ndQuadrant.com>
Thu, 29 Jul 2010 22:27:27 +0000 (22:27 +0000)
Transaction aborts now record their LSN to avoid corner case
behaviour in SR/HS, hence change of name of variables and functions.
As pointed out by Fujii Masao. Cosmetic changes only.

src/backend/access/transam/xact.c
src/backend/access/transam/xlog.c
src/include/access/xlog.h

index 7bb7804..081479a 100644 (file)
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.294 2010/07/23 00:43:00 rhaas Exp $
+ *       $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.295 2010/07/29 22:27:27 sriggs Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1086,7 +1086,7 @@ RecordTransactionCommit(void)
                 * Report the latest async commit LSN, so that the WAL writer knows to
                 * flush this commit.
                 */
-               XLogSetAsyncCommitLSN(XactLastRecEnd);
+               XLogSetAsyncXactLSN(XactLastRecEnd);
 
                /*
                 * We must not immediately update the CLOG, since we didn't flush the
@@ -1384,7 +1384,7 @@ RecordTransactionAbort(bool isSubXact)
         * problems occur at that point.
         */
        if (!isSubXact)
-               XLogSetAsyncCommitLSN(XactLastRecEnd);
+               XLogSetAsyncXactLSN(XactLastRecEnd);
 
        /*
         * Mark the transaction aborted in clog.  This is not absolutely necessary
index 7fbccc5..9082a75 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.430 2010/07/06 19:18:55 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.431 2010/07/29 22:27:27 sriggs Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -362,7 +362,7 @@ typedef struct XLogCtlData
        XLogwrtResult LogwrtResult;
        uint32          ckptXidEpoch;   /* nextXID & epoch of latest checkpoint */
        TransactionId ckptXid;
-       XLogRecPtr      asyncCommitLSN; /* LSN of newest async commit */
+       XLogRecPtr      asyncXactLSN; /* LSN of newest async commit/abort */
        uint32          lastRemovedLog; /* latest removed/recycled XLOG segment */
        uint32          lastRemovedSeg;
 
@@ -1874,18 +1874,18 @@ XLogWrite(XLogwrtRqst WriteRqst, bool flexible, bool xlog_switch)
 }
 
 /*
- * Record the LSN for an asynchronous transaction commit.
- * (This should not be called for aborts, nor for synchronous commits.)
+ * Record the LSN for an asynchronous transaction commit/abort.
+ * (This should not be called for for synchronous commits.)
  */
 void
-XLogSetAsyncCommitLSN(XLogRecPtr asyncCommitLSN)
+XLogSetAsyncXactLSN(XLogRecPtr asyncXactLSN)
 {
        /* use volatile pointer to prevent code rearrangement */
        volatile XLogCtlData *xlogctl = XLogCtl;
 
        SpinLockAcquire(&xlogctl->info_lck);
-       if (XLByteLT(xlogctl->asyncCommitLSN, asyncCommitLSN))
-               xlogctl->asyncCommitLSN = asyncCommitLSN;
+       if (XLByteLT(xlogctl->asyncXactLSN, asyncXactLSN))
+               xlogctl->asyncXactLSN = asyncXactLSN;
        SpinLockRelease(&xlogctl->info_lck);
 }
 
@@ -2134,7 +2134,7 @@ XLogBackgroundFlush(void)
                volatile XLogCtlData *xlogctl = XLogCtl;
 
                SpinLockAcquire(&xlogctl->info_lck);
-               WriteRqstPtr = xlogctl->asyncCommitLSN;
+               WriteRqstPtr = xlogctl->asyncXactLSN;
                SpinLockRelease(&xlogctl->info_lck);
                flexible = false;               /* ensure it all gets written */
        }
index 27e7f40..07c1bb1 100644 (file)
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/access/xlog.h,v 1.114 2010/07/03 20:43:58 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/access/xlog.h,v 1.115 2010/07/29 22:27:27 sriggs Exp $
  */
 #ifndef XLOG_H
 #define XLOG_H
@@ -271,7 +271,7 @@ extern int  XLogFileOpen(uint32 log, uint32 seg);
 
 
 extern void XLogGetLastRemoved(uint32 *log, uint32 *seg);
-extern void XLogSetAsyncCommitLSN(XLogRecPtr record);
+extern void XLogSetAsyncXactLSN(XLogRecPtr record);
 
 extern void RestoreBkpBlocks(XLogRecPtr lsn, XLogRecord *record, bool cleanup);