From: Robert Haas Date: Fri, 13 Aug 2010 15:42:21 +0000 (+0000) Subject: Make RecordTransactionCommit() respect wal_level. X-Git-Tag: REL9_1_ALPHA1~91 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=95ef7cd40da69feff0ab1f2e4964949e6fb15383;p=postgresql Make RecordTransactionCommit() respect wal_level. Since the only purpose of WAL-loggin SharedInvalidationMessages is to support Hot Standby operation, they needn't be included when wal_level < hot_standby. Back-patch to 9.0. Review by Heikki Linnakanagas and Fujii Masao. --- diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 37764891d7..0491d2c8d9 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.296 2010/08/12 23:24:53 rhaas Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.297 2010/08/13 15:42:21 rhaas Exp $ * *------------------------------------------------------------------------- */ @@ -915,15 +915,16 @@ RecordTransactionCommit(void) bool haveNonTemp; int nchildren; TransactionId *children; - int nmsgs; + int nmsgs = 0; SharedInvalidationMessage *invalMessages = NULL; - bool RelcacheInitFileInval; + bool RelcacheInitFileInval = false; /* Get data needed for commit record */ nrels = smgrGetPendingDeletes(true, &rels, &haveNonTemp); nchildren = xactGetCommittedChildren(&children); - nmsgs = xactGetCommittedInvalidationMessages(&invalMessages, - &RelcacheInitFileInval); + if (XLogStandbyInfoActive()) + nmsgs = xactGetCommittedInvalidationMessages(&invalMessages, + &RelcacheInitFileInval); /* * If we haven't been assigned an XID yet, we neither can, nor do we want