Yesterday I noticed a failure on cirrus-ci for the 'Right Semi Join' patch. The failure can be found at [1], and it looks like:
--- /tmp/cirrus-ci-build/src/test/regress/expected/prepared_xacts.out 2024-04-27 00:41:25.831297000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/regress-running/regress/results/prepared_xacts.out 2024-04-27 00:45:50.261369000 +0000 @@ -83,8 +83,9 @@ SELECT gid FROM pg_prepared_xacts; gid ------ + gxid foo3 -(1 row) +(2 rows) Upon closer look, it seems that this issue is not caused by the patch about 'Right Semi Join', because this query, which initially included two left joins, can actually be reduced to a function scan after removing these two useless left joins. It seems that no semi-joins would be involved. EXPLAIN SELECT gid FROM pg_prepared_xacts; QUERY PLAN ---------------------------------------------------------------------------- Function Scan on pg_prepared_xact p (cost=0.00..10.00 rows=1000 width=32) (1 row) Does anyone have any clue to this failure? FWIW, after another run of this test, the failure just disappears. Does it suggest that the test case is flaky? [1] https://api.cirrus-ci.com/v1/artifact/task/6220592364388352/testrun/build/testrun/regress-running/regress/regression.diffs Thanks Richard