Attempt to stabilize plan of self-join test in tidscan.sql The test that checks the expected plan for this self-join test has been known to have failed in the past due to badly timed VACUUMs causing small variations in row estimates on one of the tables, resulting in a swapped join order. Currently, failures have only been seen in v14, and seemingly due to 74388a1ac and 4496020e6 the failures have not been seen in more recent versions.
Here we shrink down the number of matching rows on one side of the join to make the alternative join order's costs more expensive relative to the cheapest join order. Previously the alternative order had the same cost. We do this in all supported versions to reduce the chances of future changes reintroducing stability issues with these queries. Reported-by: Alexander Lakhin <[email protected]> Author: David Rowley <[email protected]> Discussion: https://postgr.es/m/[email protected] Backpatch-through: 14 Branch ------ REL_19_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/c06bf14e87c0fe9cda937a5de3ec2a698b249554 Modified Files -------------- src/test/regress/expected/tidscan.out | 22 ++++++++++++++-------- src/test/regress/sql/tidscan.sql | 16 ++++++++++++---- 2 files changed, 26 insertions(+), 12 deletions(-)
