On Fri, Jan 15, 2010 at 8:28 PM, Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> wrote: > I don't like special-casing UNLOGGED records in XLogInsert and > ReadRecord(). Those functions are complicated enough already. The > special handling from XLogInsert() (and a few other places) is only > required because the UNLOGGED records carry no payload. That's easy to > avoid, just add some payload to them, doesn't matter what it is. And I > don't think ReadRecord() is the right place to emit the errors/warnings, > that belongs naturally in xlog_redo(). > > It might be useful to add some information in the records telling why > WAL-logging was skipped. It might turn out to be useful in debugging. > That also conveniently adds payload to the records, to avoid the > special-casing in XLogInsert() :-). > > I think it's a premature optimization to skip writing the records if > we've written in the same session already. Especially with the 'reason' > information added to the records, it's nice to have a record of each > such operation. All operations that skip WAL-logging are heavy enough > that an additional WAL record will make no difference. I can see that it > was required to avoid the flooding from heap_insert(), but we can move > the XLogSkipLogging() call from heap_insert() to heap_sync(). > > Attached is an updated patch, doing the above. Am I missing anything?
Thanks a lot! Your change seems to be OK. Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers