Arseny Sher <a.sher@postgrespro.ru> wrote:
> Please see detailed description of the issues, tests which reproduce
> them and fixes in the attached patch.
I've played with your tests and gdb for a while, both w/o and with your
patch. I think I can understand both problems. I could not invent simpler way
to fix them.
One comment about the coding: since you introduce a new transaction list and
it's sorted by LSN, I think you should make the function AssertTXNLsnOrder()
more generic and use it to check the by_base_snapshot_lsn list too. For
example call it after the list insertion and deletion in
ReorderBufferPassBaseSnapshot().
Also I think it makes no harm if you split the diff into two, although both
fixes use the by_base_snapshot_lsn field.
--
Antonin Houska
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26, A-2700 Wiener Neustadt
Web: https://www.cybertec-postgresql.com