diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/subselect.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/subselect.out --- /tmp/cirrus-ci-build/src/test/regress/expected/subselect.out 2024-07-26 17:13:16.431440699 +0000 +++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/subselect.out 2024-07-26 17:20:10.078406092 +0000 @@ -1403,7 +1403,7 @@ -> Seq Scan on public.tenk1 b Output: b.unique1, b.unique2, b.two, b.four, b.ten, b.twenty, b.hundred, b.thousand, b.twothousand, b.fivethous, b.tenthous, b.odd, b.even, b.stringu1, b.stringu2, b.string4 SubPlan 1 - -> Index Only Scan using tenk1_unique1 on public.tenk1 a + -> Index Only Scan using idx_int4 on public.tenk1 a Output: a.unique1 (10 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/join.out --- /tmp/cirrus-ci-build/src/test/regress/expected/join.out 2024-07-26 17:13:16.379440698 +0000 +++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/join.out 2024-07-26 17:20:11.750405683 +0000 @@ -6460,7 +6460,7 @@ Aggregate -> Nested Loop -> Nested Loop - -> Index Only Scan using tenk1_unique1 on tenk1 a + -> Index Only Scan using idx_int4 on tenk1 a -> Values Scan on "*VALUES*" -> Memoize Cache Key: "*VALUES*".column1 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/aggregates.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/aggregates.out --- /tmp/cirrus-ci-build/src/test/regress/expected/aggregates.out 2024-07-26 17:13:16.335440697 +0000 +++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/aggregates.out 2024-07-26 17:20:11.726405689 +0000 @@ -1106,10 +1106,29 @@ DROP AGGREGATE my_int_max(int4); DROP OPERATOR CLASS my_int_ops USING btree CASCADE; NOTICE: drop cascades to index idx_int4 +ERROR: deadlock detected +DETAIL: Process 46825 waits for AccessExclusiveLock on relation 16418 of database 16384; blocked by process 46821. +Process 46821 waits for AccessShareLock on relation 24393 of database 16384; blocked by process 46825. +HINT: See server log for query details. DROP OPERATOR FAMILY my_family USING btree; +ERROR: cannot drop operator family my_family for access method btree because other objects depend on it +DETAIL: index idx_int4 depends on operator class my_int_ops for access method btree +HINT: Use DROP ... CASCADE to drop the dependent objects too. DROP OPERATOR @>@ (int4, int4); +ERROR: cannot drop operator @>@(integer,integer) because other objects depend on it +DETAIL: operator class my_int_ops for access method btree depends on operator @>@(integer,integer) +index idx_int4 depends on operator class my_int_ops for access method btree +HINT: Use DROP ... CASCADE to drop the dependent objects too. DROP OPERATOR @<@ (int4, int4); +ERROR: cannot drop operator @<@(integer,integer) because other objects depend on it +DETAIL: operator class my_int_ops for access method btree depends on operator @<@(integer,integer) +index idx_int4 depends on operator class my_int_ops for access method btree +HINT: Use DROP ... CASCADE to drop the dependent objects too. DROP OPERATOR @=@ (int4, int4); +ERROR: cannot drop operator @=@(integer,integer) because other objects depend on it +DETAIL: operator class my_int_ops for access method btree depends on operator @=@(integer,integer) +index idx_int4 depends on operator class my_int_ops for access method btree +HINT: Use DROP ... CASCADE to drop the dependent objects too. -- But even then, the index can't be used if we order by multiple columns. explain (costs off) select max(unique1 ORDER BY unique1, tenthous) from tenk1; diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/psql.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/psql.out --- /tmp/cirrus-ci-build/src/test/regress/expected/psql.out 2024-07-26 17:13:16.411440698 +0000 +++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/psql.out 2024-07-26 17:20:28.778401554 +0000 @@ -5080,7 +5080,8 @@ AM | Operator family | Applicable types -------+-----------------+--------------------------- btree | integer_ops | smallint, integer, bigint -(1 row) + btree | my_family | integer +(2 rows) \dAo+ btree float_ops List of operators of operator families diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/select_parallel.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/select_parallel.out --- /tmp/cirrus-ci-build/src/test/regress/expected/select_parallel.out 2024-07-26 17:13:16.423440698 +0000 +++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/select_parallel.out 2024-07-26 17:20:34.998400062 +0000 @@ -257,13 +257,13 @@ explain (costs off) select sum(sp_parallel_restricted(unique1)) from tenk1 group by(sp_parallel_restricted(unique1)); - QUERY PLAN -------------------------------------------------------------------- + QUERY PLAN +-------------------------------------------------------------- HashAggregate Group Key: sp_parallel_restricted(unique1) -> Gather Workers Planned: 4 - -> Parallel Index Only Scan using tenk1_unique1 on tenk1 + -> Parallel Index Only Scan using idx_int4 on tenk1 (5 rows) -- test prepared statement @@ -907,13 +907,13 @@ -- check parallelized int8 aggregate (bug #14897) explain (costs off) select avg(unique1::int8) from tenk1; - QUERY PLAN -------------------------------------------------------------------------- + QUERY PLAN +-------------------------------------------------------------------- Finalize Aggregate -> Gather Workers Planned: 4 -> Partial Aggregate - -> Parallel Index Only Scan using tenk1_unique1 on tenk1 + -> Parallel Index Only Scan using idx_int4 on tenk1 (5 rows) select avg(unique1::int8) from tenk1; @@ -1111,8 +1111,8 @@ explain (costs off, verbose) select count(*) from tenk1 a where (unique1, two) in (select unique1, row_number() over() from tenk1 b); - QUERY PLAN ----------------------------------------------------------------------------------------- + QUERY PLAN +------------------------------------------------------------------------------------ Aggregate Output: count(*) -> Hash Right Semi Join @@ -1122,7 +1122,7 @@ -> Gather Output: b.unique1 Workers Planned: 4 - -> Parallel Index Only Scan using tenk1_unique1 on public.tenk1 b + -> Parallel Index Only Scan using idx_int4 on public.tenk1 b Output: b.unique1 -> Hash Output: a.unique1, a.two @@ -1315,13 +1315,13 @@ EXPLAIN (COSTS OFF) SELECT 1 FROM tenk1_vw_sec WHERE (SELECT sum(f1) FROM int4_tbl WHERE f1 < unique1) < 100; - QUERY PLAN -------------------------------------------------------------------- + QUERY PLAN +-------------------------------------------------------------- Subquery Scan on tenk1_vw_sec Filter: ((SubPlan 1) < 100) -> Gather Workers Planned: 4 - -> Parallel Index Only Scan using tenk1_unique1 on tenk1 + -> Parallel Index Only Scan using idx_int4 on tenk1 SubPlan 1 -> Aggregate -> Seq Scan on int4_tbl diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/with.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/with.out --- /tmp/cirrus-ci-build/src/test/regress/expected/with.out 2024-07-26 17:13:16.447440699 +0000 +++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/with.out 2024-07-26 17:20:45.502397557 +0000 @@ -646,7 +646,7 @@ ------------------------------------------------------------ Aggregate CTE x - -> Index Only Scan using tenk1_unique1 on tenk1 b + -> Index Only Scan using idx_int4 on tenk1 b -> Hash Semi Join Hash Cond: (a.unique1 = x.unique1) -> Index Only Scan using tenk1_unique1 on tenk1 a diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/memoize.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/memoize.out --- /tmp/cirrus-ci-build/src/test/regress/expected/memoize.out 2024-07-26 17:13:16.387440698 +0000 +++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/memoize.out 2024-07-26 17:20:52.670395858 +0000 @@ -134,8 +134,8 @@ SELECT COUNT(*), AVG(t1.twenty) FROM tenk1 t1 LEFT JOIN LATERAL (SELECT t1.two+1 AS c1, t2.unique1 AS c2 FROM tenk1 t2) s ON TRUE WHERE s.c1 = s.c2 AND t1.unique1 < 1000;', false); - explain_memoize -------------------------------------------------------------------------------------------- + explain_memoize +-------------------------------------------------------------------------------------- Aggregate (actual rows=1 loops=N) -> Nested Loop (actual rows=1000 loops=N) -> Seq Scan on tenk1 t1 (actual rows=1000 loops=N) @@ -145,7 +145,7 @@ Cache Key: (t1.two + 1) Cache Mode: binary Hits: 998 Misses: 2 Evictions: Zero Overflows: 0 Memory Usage: NkB - -> Index Only Scan using tenk1_unique1 on tenk1 t2 (actual rows=1 loops=N) + -> Index Only Scan using idx_int4 on tenk1 t2 (actual rows=1 loops=N) Filter: ((t1.two + 1) = unique1) Rows Removed by Filter: 9999 Heap Fetches: N