OSDN Git Service

Change a few remaining calls of XLogArchivingActive() to use
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 28 Jan 2010 07:31:42 +0000 (07:31 +0000)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 28 Jan 2010 07:31:42 +0000 (07:31 +0000)
XLogIsNeeded() instead, to determine if an otherwise non-logged operation
needs to be logged in WAL for standby servers.

Fujii Masao

src/backend/commands/tablecmds.c
src/backend/commands/vacuumlazy.c
src/include/access/xlog.h

index e1b4532..89447d3 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.318 2010/01/22 16:40:18 rhaas Exp $
+ *       $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.319 2010/01/28 07:31:42 heikki Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2998,7 +2998,8 @@ ATRewriteTable(AlteredTableInfo *tab, Oid OIDNewHeap)
         * Prepare a BulkInsertState and options for heap_insert. Because
         * we're building a new heap, we can skip WAL-logging and fsync it
         * to disk at the end instead (unless WAL-logging is required for
-        * archiving). The FSM is empty too, so don't bother using it.
+        * archiving or streaming replication). The FSM is empty too,
+        * so don't bother using it.
         */
        if (newrel)
        {
@@ -3006,7 +3007,7 @@ ATRewriteTable(AlteredTableInfo *tab, Oid OIDNewHeap)
                bistate = GetBulkInsertState();
 
                hi_options = HEAP_INSERT_SKIP_FSM;
-               if (!XLogArchivingActive())
+               if (!XLogIsNeeded())
                        hi_options |= HEAP_INSERT_SKIP_WAL;
        }
        else
index dc80a23..3c7dc2a 100644 (file)
@@ -29,7 +29,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.127 2010/01/02 16:57:40 momjian Exp $
+ *       $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.128 2010/01/28 07:31:42 heikki Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -288,7 +288,7 @@ vacuum_log_cleanup_info(Relation rel, LVRelStats *vacrelstats)
         * No need to log changes for temp tables, they do not contain
         * data visible on the standby server.
         */
-       if (rel->rd_istemp || !XLogArchivingActive())
+       if (rel->rd_istemp || !XLogIsNeeded())
                return;
 
        (void) log_heap_cleanup_info(rel->rd_node, vacrelstats->latestRemovedXid);
index ca4d7f2..d7aeb2f 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.98 2010/01/20 19:43:40 heikki Exp $
+ * $PostgreSQL: pgsql/src/include/access/xlog.h,v 1.99 2010/01/28 07:31:42 heikki Exp $
  */
 #ifndef XLOG_H
 #define XLOG_H
@@ -186,7 +186,6 @@ extern int MaxStandbyDelay;
 
 #define XLogArchivingActive()  (XLogArchiveMode)
 #define XLogArchiveCommandSet() (XLogArchiveCommand[0] != '\0')
-#define XLogStandbyInfoActive()        (XLogRequestRecoveryConnections && XLogArchiveMode)
 
 /*
  * This is in walsender.c, but declared here so that we don't need to include
@@ -200,6 +199,9 @@ extern int  MaxWalSenders;
  */
 #define XLogIsNeeded() (XLogArchivingActive() || (MaxWalSenders > 0))
 
+/* Do we need to WAL-log information required only for Hot Standby? */
+#define XLogStandbyInfoActive()        (XLogRequestRecoveryConnections && XLogIsNeeded())
+
 #ifdef WAL_DEBUG
 extern bool XLOG_DEBUG;
 #endif