]> granicus.if.org Git - postgresql/commit
Fix random regression failure in test case "temp"
authorMichael Paquier <michael@paquier.xyz>
Tue, 13 Aug 2019 01:55:58 +0000 (10:55 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 13 Aug 2019 01:55:58 +0000 (10:55 +0900)
commit4c0b9cf9e073ca2dc95a75fe983d90fd518864fb
treea8c9eff33f3cd92e9015f2d71893e6dbc882049e
parenta05fa2c0e77535470b6ee1029671eb41c612f4ef
Fix random regression failure in test case "temp"

This test case could fail because of an incorrect result ordering when
looking up at pg_class entries.  This commit adds an ORDER BY to the
culprit query.  The cause of the failure was likely caused by a plan
switch.  By default, the planner would likely choose an index-only scan
or an index scan, but even a small change in the startup cost could have
caused a bitmap heap scan to be chosen, causing the failure.

While on it, switch some filtering quals to a regular expression as per
an idea of Tom Lane.  As previously shaped, the quals would have
selected any relations whose name begins with "temp".  And that could
cause failures if another test running in parallel began to use similar
relation names.

Per report from buildfarm member anole, though the failure was very
rare.  This test has been introduced by 319a810, so backpatch down to
v10.

Discussion: https://postgr.es/m/20190807132422.GC15695@paquier.xyz
Backpatch-through: 10
src/test/regress/expected/temp.out
src/test/regress/sql/temp.sql