diff --git a/src/test/regress/expected/isolation_ref2ref_foreign_keys.out b/src/test/regress/expected/isolation_ref2ref_foreign_keys.out index 4055a2f58..246d45aba 100644 --- a/src/test/regress/expected/isolation_ref2ref_foreign_keys.out +++ b/src/test/regress/expected/isolation_ref2ref_foreign_keys.out @@ -11,16 +11,24 @@ step s1-begin: BEGIN; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode |count +classid| objid|objsubid|mode |application_name |backend_type |query --------------------------------------------------------------------- -ExclusiveLock| 1 -ShareLock | 1 + 0|8429800| 4|ShareLock |isolation/isolation_ref2ref_foreign_keys|client backend| UPDATE ref_table_1 SET id = 2 WHERE id = 1; + 0|8429800| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| UPDATE ref_table_1 SET id = 2 WHERE id = 1; (2 rows) step s1-rollback: @@ -30,13 +38,21 @@ step s2-rollback: ROLLBACK; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode|count +classid|objid|objsubid|mode|application_name|backend_type|query --------------------------------------------------------------------- (0 rows) @@ -49,29 +65,45 @@ step s2-delete-table-1: DELETE FROM ref_table_1 WHERE id = 1; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode |count +classid| objid|objsubid|mode |application_name |backend_type |query --------------------------------------------------------------------- -ExclusiveLock| 1 -ShareLock | 1 + 0|8429800| 4|ShareLock |isolation/isolation_ref2ref_foreign_keys|client backend| DELETE FROM ref_table_1 WHERE id = 1; + 0|8429800| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| DELETE FROM ref_table_1 WHERE id = 1; (2 rows) step s2-rollback: ROLLBACK; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode|count +classid|objid|objsubid|mode|application_name|backend_type|query --------------------------------------------------------------------- (0 rows) @@ -84,29 +116,46 @@ step s2-update-table-2: UPDATE ref_table_2 SET id = 2 WHERE id = 1; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode |count +classid| objid|objsubid|mode |application_name |backend_type |query --------------------------------------------------------------------- -ExclusiveLock| 2 -ShareLock | 1 -(2 rows) + 0|8429800| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| UPDATE ref_table_2 SET id = 2 WHERE id = 1; + 0|8429801| 4|ShareLock |isolation/isolation_ref2ref_foreign_keys|client backend| UPDATE ref_table_2 SET id = 2 WHERE id = 1; + 0|8429801| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| UPDATE ref_table_2 SET id = 2 WHERE id = 1; +(3 rows) step s2-rollback: ROLLBACK; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode|count +classid|objid|objsubid|mode|application_name|backend_type|query --------------------------------------------------------------------- (0 rows) @@ -119,29 +168,46 @@ step s2-delete-table-2: DELETE FROM ref_table_2 WHERE id = 1; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode |count +classid| objid|objsubid|mode |application_name |backend_type |query --------------------------------------------------------------------- -ExclusiveLock| 2 -ShareLock | 1 -(2 rows) + 0|8429800| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| DELETE FROM ref_table_2 WHERE id = 1; + 0|8429801| 4|ShareLock |isolation/isolation_ref2ref_foreign_keys|client backend| DELETE FROM ref_table_2 WHERE id = 1; + 0|8429801| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| DELETE FROM ref_table_2 WHERE id = 1; +(3 rows) step s2-rollback: ROLLBACK; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode|count +classid|objid|objsubid|mode|application_name|backend_type|query --------------------------------------------------------------------- (0 rows) @@ -157,17 +223,27 @@ step s1-begin: BEGIN; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode |count +classid| objid|objsubid|mode |application_name |backend_type |query --------------------------------------------------------------------- -ExclusiveLock| 3 -ShareLock | 1 -(2 rows) + 0|8429800| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| UPDATE ref_table_3 SET id = 2 WHERE id = 1; + 0|8429801| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| UPDATE ref_table_3 SET id = 2 WHERE id = 1; + 0|8429802| 4|ShareLock |isolation/isolation_ref2ref_foreign_keys|client backend| UPDATE ref_table_3 SET id = 2 WHERE id = 1; + 0|8429802| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| UPDATE ref_table_3 SET id = 2 WHERE id = 1; +(4 rows) step s1-rollback: ROLLBACK; @@ -176,13 +252,21 @@ step s2-rollback: ROLLBACK; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode|count +classid|objid|objsubid|mode|application_name|backend_type|query --------------------------------------------------------------------- (0 rows) @@ -198,17 +282,27 @@ step s1-begin: BEGIN; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode |count +classid| objid|objsubid|mode |application_name |backend_type |query --------------------------------------------------------------------- -ExclusiveLock| 3 -ShareLock | 1 -(2 rows) + 0|8429800| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| DELETE FROM ref_table_3 WHERE id = 1; + 0|8429801| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| DELETE FROM ref_table_3 WHERE id = 1; + 0|8429802| 4|ShareLock |isolation/isolation_ref2ref_foreign_keys|client backend| DELETE FROM ref_table_3 WHERE id = 1; + 0|8429802| 5|ExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| DELETE FROM ref_table_3 WHERE id = 1; +(4 rows) step s1-rollback: ROLLBACK; @@ -217,13 +311,21 @@ step s2-rollback: ROLLBACK; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode|count +classid|objid|objsubid|mode|application_name|backend_type|query --------------------------------------------------------------------- (0 rows) @@ -236,29 +338,45 @@ step s2-insert-table-1: INSERT INTO ref_table_1 VALUES (7, 7); step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode |count +classid| objid|objsubid|mode |application_name |backend_type |query --------------------------------------------------------------------- -RowExclusiveLock| 1 -ShareLock | 1 + 0|8429800| 4|ShareLock |isolation/isolation_ref2ref_foreign_keys|client backend| INSERT INTO ref_table_1 VALUES (7, 7); + 0|8429800| 5|RowExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| INSERT INTO ref_table_1 VALUES (7, 7); (2 rows) step s2-rollback: ROLLBACK; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode|count +classid|objid|objsubid|mode|application_name|backend_type|query --------------------------------------------------------------------- (0 rows) @@ -271,29 +389,46 @@ step s2-insert-table-2: INSERT INTO ref_table_2 VALUES (7, 5); step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode |count +classid| objid|objsubid|mode |application_name |backend_type |query --------------------------------------------------------------------- -RowExclusiveLock| 2 -ShareLock | 1 -(2 rows) + 0|8429800| 5|RowExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| INSERT INTO ref_table_2 VALUES (7, 5); + 0|8429801| 4|ShareLock |isolation/isolation_ref2ref_foreign_keys|client backend| INSERT INTO ref_table_2 VALUES (7, 5); + 0|8429801| 5|RowExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| INSERT INTO ref_table_2 VALUES (7, 5); +(3 rows) step s2-rollback: ROLLBACK; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode|count +classid|objid|objsubid|mode|application_name|backend_type|query --------------------------------------------------------------------- (0 rows) @@ -306,29 +441,47 @@ step s2-insert-table-3: INSERT INTO ref_table_3 VALUES (7, 5); step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode |count +classid| objid|objsubid|mode |application_name |backend_type |query --------------------------------------------------------------------- -RowExclusiveLock| 3 -ShareLock | 1 -(2 rows) + 0|8429800| 5|RowExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| INSERT INTO ref_table_3 VALUES (7, 5); + 0|8429801| 5|RowExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| INSERT INTO ref_table_3 VALUES (7, 5); + 0|8429802| 4|ShareLock |isolation/isolation_ref2ref_foreign_keys|client backend| INSERT INTO ref_table_3 VALUES (7, 5); + 0|8429802| 5|RowExclusiveLock|isolation/isolation_ref2ref_foreign_keys|client backend| INSERT INTO ref_table_3 VALUES (7, 5); +(4 rows) step s2-rollback: ROLLBACK; step s1-view-locks: - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; -mode|count +classid|objid|objsubid|mode|application_name|backend_type|query --------------------------------------------------------------------- (0 rows) diff --git a/src/test/regress/spec/isolation_ref2ref_foreign_keys.spec b/src/test/regress/spec/isolation_ref2ref_foreign_keys.spec index 432b67e76..3b7e81673 100644 --- a/src/test/regress/spec/isolation_ref2ref_foreign_keys.spec +++ b/src/test/regress/spec/isolation_ref2ref_foreign_keys.spec @@ -1,5 +1,6 @@ setup { + ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 8429800; CREATE TABLE ref_table_1(id int PRIMARY KEY, value int); SELECT create_reference_table('ref_table_1'); @@ -73,11 +74,19 @@ step "s1-select-table-3" step "s1-view-locks" { - SELECT mode, count(*) - FROM pg_locks + SELECT classid, + objid, + objsubid, + mode, + application_name, + backend_type, + regexp_replace(query, E'[\\n\\r\\u2028]+', ' ', 'g' ) query + FROM pg_locks l + JOIN pg_stat_activity a + ON l.pid = a.pid WHERE locktype='advisory' - GROUP BY mode - ORDER BY 1, 2; + AND application_name <> 'Citus Maintenance Daemon' + ORDER BY 1, 2, 3, 4; } step "s1-rollback"