postgres.git / summary / log / commit / refs

commit    95ef7cd40da69feff0ab1f2e4964949e6fb15383
Author:   Robert Haas <rhaas@postgresql.org>
Date:     Fri Aug 13 15:42:21 2010 +0000

    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.


src/backend/access/transam/xact.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 37764891d7f..0491d2c8d91 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 [parent: e4155c848308]