Commit e0e8b963 authored by Heikki Linnakangas's avatar Heikki Linnakangas

Change a few remaining calls of XLogArchivingActive() to use

XLogIsNeeded() instead, to determine if an otherwise non-logged operation
needs to be logged in WAL for standby servers.

Fujii Masao
parent e3f36838
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * 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) ...@@ -2998,7 +2998,8 @@ ATRewriteTable(AlteredTableInfo *tab, Oid OIDNewHeap)
* Prepare a BulkInsertState and options for heap_insert. Because * Prepare a BulkInsertState and options for heap_insert. Because
* we're building a new heap, we can skip WAL-logging and fsync it * 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 * 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) if (newrel)
{ {
...@@ -3006,7 +3007,7 @@ ATRewriteTable(AlteredTableInfo *tab, Oid OIDNewHeap) ...@@ -3006,7 +3007,7 @@ ATRewriteTable(AlteredTableInfo *tab, Oid OIDNewHeap)
bistate = GetBulkInsertState(); bistate = GetBulkInsertState();
hi_options = HEAP_INSERT_SKIP_FSM; hi_options = HEAP_INSERT_SKIP_FSM;
if (!XLogArchivingActive()) if (!XLogIsNeeded())
hi_options |= HEAP_INSERT_SKIP_WAL; hi_options |= HEAP_INSERT_SKIP_WAL;
} }
else else
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
* *
* *
* IDENTIFICATION * 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) ...@@ -288,7 +288,7 @@ vacuum_log_cleanup_info(Relation rel, LVRelStats *vacrelstats)
* No need to log changes for temp tables, they do not contain * No need to log changes for temp tables, they do not contain
* data visible on the standby server. * data visible on the standby server.
*/ */
if (rel->rd_istemp || !XLogArchivingActive()) if (rel->rd_istemp || !XLogIsNeeded())
return; return;
(void) log_heap_cleanup_info(rel->rd_node, vacrelstats->latestRemovedXid); (void) log_heap_cleanup_info(rel->rd_node, vacrelstats->latestRemovedXid);
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * 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 #ifndef XLOG_H
#define XLOG_H #define XLOG_H
...@@ -186,7 +186,6 @@ extern int MaxStandbyDelay; ...@@ -186,7 +186,6 @@ extern int MaxStandbyDelay;
#define XLogArchivingActive() (XLogArchiveMode) #define XLogArchivingActive() (XLogArchiveMode)
#define XLogArchiveCommandSet() (XLogArchiveCommand[0] != '\0') #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 * This is in walsender.c, but declared here so that we don't need to include
...@@ -200,6 +199,9 @@ extern int MaxWalSenders; ...@@ -200,6 +199,9 @@ extern int MaxWalSenders;
*/ */
#define XLogIsNeeded() (XLogArchivingActive() || (MaxWalSenders > 0)) #define XLogIsNeeded() (XLogArchivingActive() || (MaxWalSenders > 0))
/* Do we need to WAL-log information required only for Hot Standby? */
#define XLogStandbyInfoActive() (XLogRequestRecoveryConnections && XLogIsNeeded())
#ifdef WAL_DEBUG #ifdef WAL_DEBUG
extern bool XLOG_DEBUG; extern bool XLOG_DEBUG;
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment