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 7bb7804dabb52d67032701d5d04f137ce0d01156..081479a66677b2b81509853af3cd254391984e7c 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 7fbccc535052763475eefc5ccad22df84b652501..9082a751ed192f2785fa7076f0ec8ae532cef12b 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 27e7f404d8dc15b09a42f329eda3c31cb41f2f02..07c1bb10e99179fe8b574d7c7bfa466a2b53788b 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);