On Sun, Jul 28, 2019 at 10:33:03PM -0400, Bruce Momjian wrote:
> I am thinking of writing some Assert() code that checks that all buffers
> using a single LSN are from the same relation (and therefore different
> page numbers). I would do it by creating a static array, clearing it on
> XLogBeginInsert(), adding to it for each XLogInsert(), then checking on
> PageSetLSN() that everything in the array is from the same file. Does
> that make sense?
So, I started looking at how to implement the Assert checks and found
that Heikki has already added (in commit 2c03216d83) Assert checks to
avoid duplicate block numbers in WAL. I just added the attached patch
to check that all RelFileNodes are the same.
I ran the regression tests with asserts on and got no failures, so I
think we are good.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +