Improve stability of test with vacuum_truncate in reloptions.sql
authorMichael Paquier <michael@paquier.xyz>
Fri, 2 Apr 2021 00:44:42 +0000 (09:44 +0900)
committerMichael Paquier <michael@paquier.xyz>
Fri, 2 Apr 2021 00:44:42 +0000 (09:44 +0900)
commitfe246d1c111d43fd60a1b0afff25ed09b7ae11eb
tree1a0b42531da4fabf7c95d7f1a1c8a08d78dc66c6
parent1ebdec8c03294e55a9fdb6e676a9e8de680231cc
Improve stability of test with vacuum_truncate in reloptions.sql

This test has been using a simple VACUUM with pg_relation_size() to
check if a relation gets physically truncated or not, but forgot the
fact that some concurrent activity, like checkpoint buffer writes, could
cause some pages to be skipped.  The second test enabling
vacuum_truncate could fail, seeing a non-empty relation.  The first test
would not have failed, but could finish by testing a behavior different
than the one aimed for.  Both tests gain a FREEZE option, to make the
vacuums more aggressive and prevent page skips.

This is similar to the issues fixed in c2dc1a7.

Author: Arseny Sher
Reviewed-by: Masahiko Sawada
Discussion: https://postgr.es/m/87tuotr2hh.fsf@ars-thinkpad
backpatch-through: 12
src/test/regress/expected/reloptions.out
src/test/regress/sql/reloptions.sql