postgresql/src/interfaces/ecpg/test/sql
Michael Paquier 7e61e4cc7c Make two-phase tests of ECPG and main suite more concurrent-proof
The ECPG and main 2PC tests have been using rather-generic names for the
prepared transactions they generate.  This commit switches the 2PC
transactions to use more complex GIDs, reducing the risk of naming
conflicts.

The main 2PC tests also include scans of pg_prepared_xacts that do not
apply filters on the GID of the prepared transactions, making it
possible to fail the test when any 2PC transaction runs concurrently.
The CI has been able to see such failures with an installcheck
running the ECPG and the main regression test suites in parallel.  The
queries on pg_prepared_xacts gain quals to only look after the GIDs
generated locally.

The race is very hard to reproduce, so no backbatch is done for now.

Reported-by: Richard Guo
Discussion: https://postgr.es/m/CAMbWs4-mWCGbbE_bne5=AfqjYGDaUZmjCw2+soLjrdNA0xUDFw@mail.gmail.com
2024-04-29 21:10:41 +09:00
..
.gitignore Further cleanup for recent JSON-related commits. 2024-04-04 13:21:25 -04:00
Makefile Fix assorted bugs in ecpg's macro mechanism. 2024-04-16 12:31:42 -04:00
array.pgc Fix format truncation issue from ECPG test 2019-08-02 09:51:12 +09:00
binary.pgc Make some ecpg test cases more robust against unexpected errors that happen 2019-01-30 10:39:32 +01:00
bytea.pgc Fix ecpg crash with bytea and cursor variables. 2020-06-30 18:34:41 +02:00
code100.pgc Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
copystdout.pgc Updated parser file to the one generated by the latest version of parse.[awk|pl] from the latest version of gram.y 2008-11-13 11:54:39 +00:00
createtableas.pgc Sync ECPG's CREATE TABLE AS statement with backend's. 2019-02-18 11:57:34 +01:00
declare.pgc Improved ECPG warning as suggested by Michael Paquier and removed test case 2021-08-17 15:01:09 +02:00
define.pgc Fix assorted bugs in ecpg's macro mechanism. 2024-04-16 12:31:42 -04:00
define_prelim.pgc Fix assorted bugs in ecpg's macro mechanism. 2024-04-16 12:31:42 -04:00
desc.pgc Always use the same way to addres a descriptor in ecpg's regression tests. 2014-01-13 10:41:53 +01:00
describe.pgc Remove unnecessary parentheses in return statements 2017-09-05 14:52:55 -04:00
dynalloc.pgc Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
dynalloc2.pgc Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
dyntest.pgc Avoid premature de-doubling of quote marks in ECPG strings. 2020-10-22 18:29:46 -04:00
execute.pgc Add documentation and tests for quote marks in ECPG literal queries. 2020-10-22 18:29:46 -04:00
fetch.pgc Make some ecpg test cases more robust against unexpected errors that happen 2019-01-30 10:39:32 +01:00
func.pgc More variables gcc moans about 2009-05-20 16:39:56 +00:00
indicators.pgc More variables gcc moans about 2009-05-20 16:39:56 +00:00
insupd.pgc Fix whitespace issues found by git diff --check, add gitattributes 2013-11-10 14:48:29 -05:00
meson.build Fix assorted bugs in ecpg's macro mechanism. 2024-04-16 12:31:42 -04:00
oldexec.pgc Remove unnecessary parentheses in return statements 2017-09-05 14:52:55 -04:00
parser.pgc Fix whitespace issues found by git diff --check, add gitattributes 2013-11-10 14:48:29 -05:00
prepareas.pgc Implement PREPARE AS statement for ECPG. 2019-05-22 04:58:29 +02:00
quote.pgc Make some ecpg test cases more robust against unexpected errors that happen 2019-01-30 10:39:32 +01:00
show.pgc More variables gcc moans about 2009-05-20 16:39:56 +00:00
sqlda.pgc Remove HAVE_LONG_LONG_INT 2019-11-07 13:30:04 +01:00
sqljson.pgc Add more SQL/JSON constructor functions 2023-07-26 17:08:33 +09:00
sqljson_jsontable.pgc JSON_TABLE: Add support for NESTED paths and columns 2024-04-08 16:14:13 +09:00
twophase.pgc Make two-phase tests of ECPG and main suite more concurrent-proof 2024-04-29 21:10:41 +09:00