Thanks for the comment! At Fri, 24 May 2019 19:33:32 -0700, Noah Misch <n...@leadboat.com> wrote in <20190525023332.ge1624...@rfd.leadboat.com> > On Mon, May 20, 2019 at 03:54:30PM +0900, Kyotaro HORIGUCHI wrote: > > Following this direction, the attached PoC works *at least for* > > the wal_optimization TAP tests, but doing pending flush not in > > smgr but in relcache. > > This task, syncing files created in the current transaction, is not the kind > of task normally assigned to a cache. We already have a module, storage.c, > that maintains state about files created in the current transaction. Why did > you use relcache instead of storage.c?
The reason was at-commit sync needs buffer flush beforehand. But FlushRelationBufferWithoutRelCache() in v11 can do that. storage.c is reasonable as the place. > On Tue, May 21, 2019 at 09:29:48PM +0900, Kyotaro HORIGUCHI wrote: > > This is a tidier version of the patch. > > > - Move the substantial work to table/index AMs. > > > > Each AM can decide whether to support WAL skip or not. > > Currently heap and nbtree support it. > > Why would an AM find it important to disable WAL skip? The reason is currently it's AM's responsibility to decide whether to skip WAL or not. regards. -- Kyotaro Horiguchi NTT Open Source Software Center