On Thu, 2013-05-30 at 11:32 +0300, Heikki Linnakangas wrote:
> > That could cause a torn page and checksum failure if checksums are
> > enabled.
Thank you, I missed that in the rebase; it should be
MarkBufferDirtyHint().
> Come to think of it, even without the torn page & checksum issue, do we
> really want to actively clear the all-visible flags after upgrade? For
> tables that haven't been changed, and thus have the all-visible bits
> set, that amounts to a complete rewrite on the first vacuum after
> upgrade. That's expensive.
I expected that question and intended to raise it for discussion when
and if we get past performance concerns (I believe Robert is still not
convinced that the patch is viable).
We have a few options: We can ignore the bit entirely, or we can
aggressively unset it, or we can opportunistically unset it if the page
is already dirty. I don't think we're in a hurry to reuse that bit for
something else, so maybe it's best to just ignore it entirely.
Regards,Jeff Davis