]> granicus.if.org Git - postgresql/commitdiff
Fix random regression failure in test case "collate.icu.utf8"
authorMichael Paquier <michael@paquier.xyz>
Wed, 14 Aug 2019 04:37:48 +0000 (13:37 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 14 Aug 2019 04:37:48 +0000 (13:37 +0900)
This is a fix similar to 2d7d67cc, where slight plan alteration can
cause a random failure of this regression test because of an incorect
tuple ordering, except that this one involves lookups of pg_type.
Similarly to the other case, add ORDER BY clauses to ensure the output
order.

The failure has been seen at least once on buildfarm member skink.

Reported-by: Thomas Munro
Discussion: https://postgr.es/m/CA+hUKGLjR9ZBvhXcr9b-NSBHPw9aRgbjyzGE+kqLsT4vwX+nkQ@mail.gmail.com
Backpatch-through: 12

src/test/regress/expected/collate.icu.utf8.out
src/test/regress/sql/collate.icu.utf8.sql

index 50d1e6e0cc74bb9c093e4d44591e3ec228a1b840..2b86ce90286ddf6436c4c6fea48bcecf0ae798a6 100644 (file)
@@ -1651,14 +1651,16 @@ SELECT relname FROM pg_class WHERE 'PG_CLASS'::text = relname COLLATE case_insen
  pg_class
 (1 row)
 
-SELECT typname FROM pg_type WHERE typname LIKE 'int_' AND typname <> 'INT2'::text COLLATE case_insensitive;
+SELECT typname FROM pg_type WHERE typname LIKE 'int_' AND typname <> 'INT2'::text
+  COLLATE case_insensitive ORDER BY typname;
  typname 
 ---------
  int4
  int8
 (2 rows)
 
-SELECT typname FROM pg_type WHERE typname LIKE 'int_' AND 'INT2'::text <> typname COLLATE case_insensitive;;
+SELECT typname FROM pg_type WHERE typname LIKE 'int_' AND 'INT2'::text <> typname
+  COLLATE case_insensitive ORDER BY typname;
  typname 
 ---------
  int4
index 5ed63601e0cf4cac50e530b13e2af9b9c39c2fa2..67de7d97949f5ecd99acc197262ce9406e8d10ca 100644 (file)
@@ -603,8 +603,10 @@ SELECT 'ὀδυσσεύς' = 'ὈΔΥΣΣΕΎΣ' COLLATE case_insensitive;
 SELECT relname FROM pg_class WHERE relname = 'PG_CLASS'::text COLLATE case_insensitive;
 SELECT relname FROM pg_class WHERE 'PG_CLASS'::text = relname COLLATE case_insensitive;
 
-SELECT typname FROM pg_type WHERE typname LIKE 'int_' AND typname <> 'INT2'::text COLLATE case_insensitive;
-SELECT typname FROM pg_type WHERE typname LIKE 'int_' AND 'INT2'::text <> typname COLLATE case_insensitive;;
+SELECT typname FROM pg_type WHERE typname LIKE 'int_' AND typname <> 'INT2'::text
+  COLLATE case_insensitive ORDER BY typname;
+SELECT typname FROM pg_type WHERE typname LIKE 'int_' AND 'INT2'::text <> typname
+  COLLATE case_insensitive ORDER BY typname;
 
 -- test case adapted from subselect.sql
 CREATE TEMP TABLE outer_text (f1 text COLLATE case_insensitive, f2 text);