mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Fix random regression failure in test case "collate.icu.utf8"
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
			
			
This commit is contained in:
		@@ -1644,14 +1644,16 @@ SELECT relname FROM pg_class WHERE 'PG_CLASS'::text = relname COLLATE case_insen
 | 
				
			|||||||
 pg_class
 | 
					 pg_class
 | 
				
			||||||
(1 row)
 | 
					(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 
 | 
					 typname 
 | 
				
			||||||
---------
 | 
					---------
 | 
				
			||||||
 int4
 | 
					 int4
 | 
				
			||||||
 int8
 | 
					 int8
 | 
				
			||||||
(2 rows)
 | 
					(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 
 | 
					 typname 
 | 
				
			||||||
---------
 | 
					---------
 | 
				
			||||||
 int4
 | 
					 int4
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 relname = 'PG_CLASS'::text COLLATE case_insensitive;
 | 
				
			||||||
SELECT relname FROM pg_class WHERE 'PG_CLASS'::text = relname 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 typname <> 'INT2'::text
 | 
				
			||||||
SELECT typname FROM pg_type WHERE typname LIKE 'int_' AND 'INT2'::text <> typname COLLATE case_insensitive;;
 | 
					  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
 | 
					-- test case adapted from subselect.sql
 | 
				
			||||||
CREATE TEMP TABLE outer_text (f1 text COLLATE case_insensitive, f2 text);
 | 
					CREATE TEMP TABLE outer_text (f1 text COLLATE case_insensitive, f2 text);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user