diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/collate.icu.utf8.out /tmp/cirrus-ci-build/src/test/regress/results/collate.icu.utf8.out --- /tmp/cirrus-ci-build/src/test/regress/expected/collate.icu.utf8.out 2026-04-09 03:10:08.680842234 +0000 +++ /tmp/cirrus-ci-build/src/test/regress/results/collate.icu.utf8.out 2026-04-09 03:15:21.918595069 +0000 @@ -2753,15 +2753,18 @@ FROM eager_agg_t1 t1 JOIN eager_agg_t2 t2 ON t1.val = t2.val COLLATE "C" GROUP BY t1.id; - QUERY PLAN --------------------------------------------------------- - HashAggregate + QUERY PLAN +------------------------------------------------------------ + GroupAggregate Group Key: t1.id - -> Nested Loop - Join Filter: ((t1.val)::text = (t2.val)::text) - -> Seq Scan on eager_agg_t2 t2 - -> Seq Scan on eager_agg_t1 t1 -(6 rows) + -> Sort + Sort Key: t1.id + -> Hash Join + Hash Cond: ((t1.val)::text = (t2.val)::text) + -> Seq Scan on eager_agg_t1 t1 + -> Hash + -> Seq Scan on eager_agg_t2 t2 +(9 rows) -- Ensure it returns 1 row with count = 50 SELECT t1.id, count(t1.val) @@ -2780,15 +2783,18 @@ FROM eager_agg_t1 t1 JOIN eager_agg_t2 t2 ON t1.val = t2.val COLLATE "C" GROUP BY t1.id, t1.val; - QUERY PLAN --------------------------------------------------------- - HashAggregate + QUERY PLAN +------------------------------------------------------------ + GroupAggregate Group Key: t1.id, t1.val - -> Nested Loop - Join Filter: ((t1.val)::text = (t2.val)::text) - -> Seq Scan on eager_agg_t2 t2 - -> Seq Scan on eager_agg_t1 t1 -(6 rows) + -> Sort + Sort Key: t1.id, t1.val COLLATE case_insensitive + -> Hash Join + Hash Cond: ((t1.val)::text = (t2.val)::text) + -> Seq Scan on eager_agg_t1 t1 + -> Hash + -> Seq Scan on eager_agg_t2 t2 +(9 rows) -- Ensure it returns 1 row with count = 50 SELECT t1.id, t1.val, count(t1.val)