Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Fix random regression failure in test case "collate.icu.utf8"
authorMichael Paquier <michael@paquier.xyz>
Wed, 14 Aug 2019 04:38:16 +0000 (13:38 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 14 Aug 2019 04:38:16 +0000 (13:38 +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 f9f49e4e8694c2cacd76524a170fb6a0162b321f..de07bd35a0f32344b8956cfc623868e2a1946a64 100644 (file)
@@ -1644,14 +1644,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 24f945504b5c6235693a39c66cc741e6dae7d185..27c7d92f4dd819963cb32beed58bd492e0785021 100644 (file)
@@ -595,8 +595,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);