From: Simon Riggs Date: Fri, 25 Sep 2009 11:47:15 +0000 (+0100) Subject: Clarify Hot Standby processing for GIN and GIST indexes by more descriptive comments. X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=4288ceb09523813cb69de409ab169cc6fa41502a;p=users%2Fsimon%2Fpostgres.git Clarify Hot Standby processing for GIN and GIST indexes by more descriptive comments. --- diff --git a/src/backend/access/gin/ginxlog.c b/src/backend/access/gin/ginxlog.c index 94b72024b7..46cc5f1792 100644 --- a/src/backend/access/gin/ginxlog.c +++ b/src/backend/access/gin/ginxlog.c @@ -622,7 +622,9 @@ gin_redo(XLogRecPtr lsn, XLogRecord *record) uint8 info = record->xl_info & ~XLR_INFO_MASK; /* - * GIN indexes do not require any conflict processing. XXX really? + * GIN indexes do not require any conflict processing. The GIN + * posting tree is scanned in logical order during VACUUM and + * no additional processing is required. */ if (InHotStandby) RecordKnownAssignedTransactionIds(record->xl_xid); diff --git a/src/backend/access/gist/gistxlog.c b/src/backend/access/gist/gistxlog.c index 3e5f3b65e7..4bca49324f 100644 --- a/src/backend/access/gist/gistxlog.c +++ b/src/backend/access/gist/gistxlog.c @@ -397,7 +397,10 @@ gist_redo(XLogRecPtr lsn, XLogRecord *record) MemoryContext oldCxt; /* - * GIST indexes do not require any conflict processing. XXX really? + * GIST indexes do not require any conflict processing. This is + * because GIST does not remove killed tuples when it performs + * page splits in the same way b-trees do. Also VACUUMs of + * GIST indexes occur in logical not physical order. */ if (InHotStandby) RecordKnownAssignedTransactionIds(record->xl_xid);