diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/collate.windows.win1252.out C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/collate.windows.win1252.out --- C:/cirrus/src/test/regress/expected/collate.windows.win1252.out 2024-07-10 21:23:49.255853600 +0000 +++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/collate.windows.win1252.out 2024-07-10 21:29:42.226678200 +0000 @@ -21,10 +21,10 @@ ); \d collate_test1 Table "collate_tests.collate_test1" - Column | Type | Collation | Nullable | Default + Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- - a | integer | | | - b | text | en_US | not null | + a | integer | | | + b | text | en_US | not null | CREATE TABLE collate_test_fail ( a int, @@ -52,10 +52,10 @@ ); \d collate_test_like Table "collate_tests.collate_test_like" - Column | Type | Collation | Nullable | Default + Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- - a | integer | | | - b | text | en_US | not null | + a | integer | | | + b | text | en_US | not null | CREATE TABLE collate_test2 ( a int, @@ -69,27 +69,27 @@ INSERT INTO collate_test2 SELECT * FROM collate_test1; INSERT INTO collate_test3 SELECT * FROM collate_test1; SELECT * FROM collate_test1 WHERE b >= 'bbc'; - a | b + a | b ---+----- 3 | bbc (1 row) SELECT * FROM collate_test2 WHERE b >= 'bbc'; - a | b + a | b ---+----- 2 | äbc 3 | bbc (2 rows) SELECT * FROM collate_test3 WHERE b >= 'bbc'; - a | b + a | b ---+----- 2 | äbc 3 | bbc (2 rows) SELECT * FROM collate_test3 WHERE b >= 'BBC'; - a | b + a | b ---+----- 1 | abc 2 | äbc @@ -97,21 +97,21 @@ (3 rows) SELECT * FROM collate_test1 WHERE b COLLATE "C" >= 'bbc'; - a | b + a | b ---+----- 2 | äbc 3 | bbc (2 rows) SELECT * FROM collate_test1 WHERE b >= 'bbc' COLLATE "C"; - a | b + a | b ---+----- 2 | äbc 3 | bbc (2 rows) SELECT * FROM collate_test1 WHERE b COLLATE "C" >= 'bbc' COLLATE "C"; - a | b + a | b ---+----- 2 | äbc 3 | bbc @@ -130,7 +130,7 @@ ); INSERT INTO collate_test4 SELECT * FROM collate_test1; SELECT a, b FROM collate_test4 ORDER BY b; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -144,7 +144,7 @@ ); INSERT INTO collate_test5 SELECT * FROM collate_test1; SELECT a, b FROM collate_test5 ORDER BY b; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -153,7 +153,7 @@ (4 rows) SELECT a, b FROM collate_test1 ORDER BY b; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -162,7 +162,7 @@ (4 rows) SELECT a, b FROM collate_test2 ORDER BY b; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -171,7 +171,7 @@ (4 rows) SELECT a, b FROM collate_test3 ORDER BY b; - a | b + a | b ---+----- 4 | ABC 1 | abc @@ -180,7 +180,7 @@ (4 rows) SELECT a, b FROM collate_test1 ORDER BY b COLLATE "C"; - a | b + a | b ---+----- 4 | ABC 1 | abc @@ -190,7 +190,7 @@ -- star expansion SELECT * FROM collate_test1 ORDER BY b; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -199,7 +199,7 @@ (4 rows) SELECT * FROM collate_test2 ORDER BY b; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -208,7 +208,7 @@ (4 rows) SELECT * FROM collate_test3 ORDER BY b; - a | b + a | b ---+----- 4 | ABC 1 | abc @@ -218,32 +218,32 @@ -- constant expression folding SELECT 'bbc' COLLATE "en_US" > 'äbc' COLLATE "en_US" AS "true"; - true + true ------ t (1 row) SELECT 'bbc' COLLATE "sv_SE" > 'äbc' COLLATE "sv_SE" AS "false"; - false + false ------- f (1 row) -- LIKE/ILIKE SELECT * FROM collate_test1 WHERE b LIKE 'abc'; - a | b + a | b ---+----- 1 | abc (1 row) SELECT * FROM collate_test1 WHERE b LIKE 'abc%'; - a | b + a | b ---+----- 1 | abc (1 row) SELECT * FROM collate_test1 WHERE b LIKE '%bc%'; - a | b + a | b ---+----- 1 | abc 2 | äbc @@ -251,21 +251,21 @@ (3 rows) SELECT * FROM collate_test1 WHERE b ILIKE 'abc'; - a | b + a | b ---+----- 1 | abc 4 | ABC (2 rows) SELECT * FROM collate_test1 WHERE b ILIKE 'abc%'; - a | b + a | b ---+----- 1 | abc 4 | ABC (2 rows) SELECT * FROM collate_test1 WHERE b ILIKE '%bc%'; - a | b + a | b ---+----- 1 | abc 2 | äbc @@ -275,25 +275,25 @@ -- The following actually exercises the selectivity estimation for ILIKE. SELECT relname FROM pg_class WHERE relname ILIKE 'abc%'; - relname + relname --------- (0 rows) -- regular expressions SELECT * FROM collate_test1 WHERE b ~ '^abc$'; - a | b + a | b ---+----- 1 | abc (1 row) SELECT * FROM collate_test1 WHERE b ~ '^abc'; - a | b + a | b ---+----- 1 | abc (1 row) SELECT * FROM collate_test1 WHERE b ~ 'bc'; - a | b + a | b ---+----- 1 | abc 2 | äbc @@ -301,21 +301,21 @@ (3 rows) SELECT * FROM collate_test1 WHERE b ~* '^abc$'; - a | b + a | b ---+----- 1 | abc 4 | ABC (2 rows) SELECT * FROM collate_test1 WHERE b ~* '^abc'; - a | b + a | b ---+----- 1 | abc 4 | ABC (2 rows) SELECT * FROM collate_test1 WHERE b ~* 'bc'; - a | b + a | b ---+----- 1 | abc 2 | äbc @@ -341,7 +341,7 @@ b ~ '^[[:punct:]]+$' AS is_punct, b ~ '^[[:space:]]+$' AS is_space FROM collate_test6; - b | is_alpha | is_upper | is_lower | is_digit | is_alnum | is_graph | is_print | is_punct | is_space + b | is_alpha | is_upper | is_lower | is_digit | is_alnum | is_graph | is_print | is_punct | is_space -----+----------+----------+----------+----------+----------+----------+----------+----------+---------- abc | t | f | t | f | t | t | t | f | f ABC | t | t | f | f | t | t | t | f | f @@ -357,7 +357,7 @@ -- The following actually exercises the selectivity estimation for ~*. SELECT relname FROM pg_class WHERE relname ~* '^abc'; - relname + relname --------- (0 rows) @@ -366,7 +366,7 @@ CREATE VIEW collview2 AS SELECT a, b FROM collate_test1 ORDER BY b COLLATE "C"; SELECT table_name, view_definition FROM information_schema.views WHERE table_name LIKE 'collview%' ORDER BY 1; - table_name | view_definition + table_name | view_definition ------------+------------------------------------------- collview1 | SELECT a, + | b + @@ -380,7 +380,7 @@ -- collation propagation in various expression types SELECT a, coalesce(b, 'foo') FROM collate_test1 ORDER BY 2; - a | coalesce + a | coalesce ---+---------- 1 | abc 4 | ABC @@ -389,7 +389,7 @@ (4 rows) SELECT a, coalesce(b, 'foo') FROM collate_test2 ORDER BY 2; - a | coalesce + a | coalesce ---+---------- 1 | abc 4 | ABC @@ -398,7 +398,7 @@ (4 rows) SELECT a, coalesce(b, 'foo') FROM collate_test3 ORDER BY 2; - a | coalesce + a | coalesce ---+---------- 4 | ABC 1 | abc @@ -407,7 +407,7 @@ (4 rows) SELECT a, b, greatest(b, 'CCC') FROM collate_test1 ORDER BY 3; - a | b | greatest + a | b | greatest ---+-----+---------- 1 | abc | CCC 2 | äbc | CCC @@ -416,7 +416,7 @@ (4 rows) SELECT a, b, greatest(b, 'CCC') FROM collate_test2 ORDER BY 3; - a | b | greatest + a | b | greatest ---+-----+---------- 1 | abc | CCC 3 | bbc | CCC @@ -425,7 +425,7 @@ (4 rows) SELECT a, b, greatest(b, 'CCC') FROM collate_test3 ORDER BY 3; - a | b | greatest + a | b | greatest ---+-----+---------- 4 | ABC | CCC 1 | abc | abc @@ -434,34 +434,34 @@ (4 rows) SELECT a, nullif(b, 'abc') FROM collate_test1 ORDER BY 2; - a | nullif + a | nullif ---+-------- 4 | ABC 2 | äbc 3 | bbc - 1 | + 1 | (4 rows) SELECT a, nullif(b, 'abc') FROM collate_test2 ORDER BY 2; - a | nullif + a | nullif ---+-------- 4 | ABC 3 | bbc 2 | äbc - 1 | + 1 | (4 rows) SELECT a, nullif(b, 'abc') FROM collate_test3 ORDER BY 2; - a | nullif + a | nullif ---+-------- 4 | ABC 3 | bbc 2 | äbc - 1 | + 1 | (4 rows) SELECT a, CASE b WHEN 'abc' THEN 'abcd' ELSE b END FROM collate_test1 ORDER BY 2; - a | b + a | b ---+------ 4 | ABC 2 | äbc @@ -470,7 +470,7 @@ (4 rows) SELECT a, CASE b WHEN 'abc' THEN 'abcd' ELSE b END FROM collate_test2 ORDER BY 2; - a | b + a | b ---+------ 4 | ABC 1 | abcd @@ -479,7 +479,7 @@ (4 rows) SELECT a, CASE b WHEN 'abc' THEN 'abcd' ELSE b END FROM collate_test3 ORDER BY 2; - a | b + a | b ---+------ 4 | ABC 1 | abcd @@ -489,7 +489,7 @@ CREATE DOMAIN testdomain AS text; SELECT a, b::testdomain FROM collate_test1 ORDER BY 2; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -498,7 +498,7 @@ (4 rows) SELECT a, b::testdomain FROM collate_test2 ORDER BY 2; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -507,7 +507,7 @@ (4 rows) SELECT a, b::testdomain FROM collate_test3 ORDER BY 2; - a | b + a | b ---+----- 4 | ABC 1 | abc @@ -516,7 +516,7 @@ (4 rows) SELECT a, b::testdomain_sv FROM collate_test3 ORDER BY 2; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -525,43 +525,43 @@ (4 rows) SELECT min(b), max(b) FROM collate_test1; - min | max + min | max -----+----- abc | bbc (1 row) SELECT min(b), max(b) FROM collate_test2; - min | max + min | max -----+----- abc | äbc (1 row) SELECT min(b), max(b) FROM collate_test3; - min | max + min | max -----+----- ABC | äbc (1 row) SELECT array_agg(b ORDER BY b) FROM collate_test1; - array_agg + array_agg ------------------- {abc,ABC,äbc,bbc} (1 row) SELECT array_agg(b ORDER BY b) FROM collate_test2; - array_agg + array_agg ------------------- {abc,ABC,bbc,äbc} (1 row) SELECT array_agg(b ORDER BY b) FROM collate_test3; - array_agg + array_agg ------------------- {ABC,abc,bbc,äbc} (1 row) SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test1 ORDER BY 2; - a | b + a | b ---+----- 1 | abc 1 | abc @@ -574,7 +574,7 @@ (8 rows) SELECT a, b FROM collate_test2 UNION SELECT a, b FROM collate_test2 ORDER BY 2; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -583,14 +583,14 @@ (4 rows) SELECT a, b FROM collate_test3 WHERE a < 4 INTERSECT SELECT a, b FROM collate_test3 WHERE a > 1 ORDER BY 2; - a | b + a | b ---+----- 3 | bbc 2 | äbc (2 rows) SELECT a, b FROM collate_test3 EXCEPT SELECT a, b FROM collate_test3 WHERE a < 2 ORDER BY 2; - a | b + a | b ---+----- 4 | ABC 3 | bbc @@ -601,7 +601,7 @@ ERROR: could not determine which collation to use for string comparison HINT: Use the COLLATE clause to set the collation explicitly. SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test3; -- ok - a | b + a | b ---+----- 1 | abc 2 | äbc @@ -619,7 +619,7 @@ ^ HINT: You can choose the collation by applying the COLLATE clause to one or both expressions. SELECT a, b COLLATE "C" FROM collate_test1 UNION SELECT a, b FROM collate_test3 ORDER BY 2; -- ok - a | b + a | b ---+----- 4 | ABC 1 | abc @@ -656,7 +656,7 @@ LINE 1: SELECT CAST('42' AS text COLLATE "C"); ^ SELECT a, CAST(b AS varchar) FROM collate_test1 ORDER BY 2; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -665,7 +665,7 @@ (4 rows) SELECT a, CAST(b AS varchar) FROM collate_test2 ORDER BY 2; - a | b + a | b ---+----- 1 | abc 4 | ABC @@ -674,7 +674,7 @@ (4 rows) SELECT a, CAST(b AS varchar) FROM collate_test3 ORDER BY 2; - a | b + a | b ---+----- 4 | ABC 1 | abc @@ -694,7 +694,7 @@ mylt(a.b, b.b), mylt_noninline(a.b, b.b), mylt_plpgsql(a.b, b.b) FROM collate_test1 a, collate_test1 b ORDER BY a.b, b.b; - a | b | lt | mylt | mylt_noninline | mylt_plpgsql + a | b | lt | mylt | mylt_noninline | mylt_plpgsql -----+-----+----+------+----------------+-------------- abc | abc | f | f | f | f abc | ABC | t | t | t | t @@ -719,7 +719,7 @@ mylt_plpgsql(a.b, b.b COLLATE "C") FROM collate_test1 a, collate_test1 b ORDER BY a.b, b.b; - a | b | lt | mylt | mylt_noninline | mylt_plpgsql + a | b | lt | mylt | mylt_noninline | mylt_plpgsql -----+-----+----+------+----------------+-------------- abc | abc | f | f | f | f abc | ABC | f | f | f | f @@ -749,7 +749,7 @@ end $$; SELECT mylt2('a', 'B' collate "en_US") as t, mylt2('a', 'B' collate "C") as f; - t | f + t | f ---+--- t | f (1 row) @@ -764,7 +764,7 @@ end $$; SELECT mylt2('a', 'B') as f; - f + f --- f (1 row) @@ -774,14 +774,14 @@ HINT: Use the COLLATE clause to set the collation explicitly. CONTEXT: PL/pgSQL function mylt2(text,text) line 6 at RETURN SELECT mylt2('a', 'B' collate "POSIX") as f; - f + f --- f (1 row) -- polymorphism SELECT * FROM unnest((SELECT array_agg(b ORDER BY b) FROM collate_test1)) ORDER BY 1; - unnest + unnest -------- abc ABC @@ -790,7 +790,7 @@ (4 rows) SELECT * FROM unnest((SELECT array_agg(b ORDER BY b) FROM collate_test2)) ORDER BY 1; - unnest + unnest -------- abc ABC @@ -799,7 +799,7 @@ (4 rows) SELECT * FROM unnest((SELECT array_agg(b ORDER BY b) FROM collate_test3)) ORDER BY 1; - unnest + unnest -------- ABC abc @@ -810,7 +810,7 @@ CREATE FUNCTION dup (anyelement) RETURNS anyelement AS 'select $1' LANGUAGE sql; SELECT a, dup(b) FROM collate_test1 ORDER BY 2; - a | dup + a | dup ---+----- 1 | abc 4 | ABC @@ -819,7 +819,7 @@ (4 rows) SELECT a, dup(b) FROM collate_test2 ORDER BY 2; - a | dup + a | dup ---+----- 1 | abc 4 | ABC @@ -828,7 +828,7 @@ (4 rows) SELECT a, dup(b) FROM collate_test3 ORDER BY 2; - a | dup + a | dup ---+----- 4 | ABC 1 | abc @@ -848,7 +848,7 @@ LINE 1: ...ATE INDEX collate_test1_idx6 ON collate_test1 ((a COLLATE "C... ^ SELECT relname, pg_get_indexdef(oid) FROM pg_class WHERE relname LIKE 'collate_test%_idx%' ORDER BY 1; - relname | pg_get_indexdef + relname | pg_get_indexdef --------------------+------------------------------------------------------------------------------------------------------------------- collate_test1_idx1 | CREATE INDEX collate_test1_idx1 ON collate_tests.collate_test1 USING btree (b) collate_test1_idx2 | CREATE INDEX collate_test1_idx2 ON collate_tests.collate_test1 USING btree (b COLLATE "C") @@ -889,7 +889,7 @@ ERROR: collation "nonsense" for encoding "WIN1252" does not exist CREATE COLLATION test5 FROM test0; SELECT collname FROM pg_collation WHERE collname LIKE 'test%' ORDER BY 1; - collname + collname ---------- test0 test1 @@ -910,11 +910,11 @@ FROM pg_collation JOIN pg_namespace ON (collnamespace = pg_namespace.oid) WHERE collname LIKE 'test%' ORDER BY 1; - collname | nspname | obj_description + collname | nspname | obj_description ----------+---------------+----------------- test0 | collate_tests | US English - test11 | test_schema | - test5 | collate_tests | + test11 | test_schema | + test5 | collate_tests | (3 rows) DROP COLLATION test0, test_schema.test11, test5; @@ -923,7 +923,7 @@ DROP COLLATION IF EXISTS test0; NOTICE: collation "test0" does not exist, skipping SELECT collname FROM pg_collation WHERE collname LIKE 'test%'; - collname + collname ---------- (0 rows) @@ -961,15 +961,15 @@ drop cascades to index collate_dep_test4i \d collate_dep_test1 Table "collate_tests.collate_dep_test1" - Column | Type | Collation | Nullable | Default + Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- - a | integer | | | + a | integer | | | \d collate_dep_test2 Composite type "collate_tests.collate_dep_test2" - Column | Type | Collation | Nullable | Default + Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- - x | integer | | | + x | integer | | | DROP TABLE collate_dep_test1, collate_dep_test4t; DROP TYPE collate_dep_test2; @@ -977,13 +977,13 @@ create type textrange_c as range(subtype=text, collation="C"); create type textrange_en_us as range(subtype=text, collation="en_US"); select textrange_c('A','Z') @> 'b'::text; - ?column? + ?column? ---------- f (1 row) select textrange_en_us('A','Z') @> 'b'::text; - ?column? + ?column? ---------- t (1 row)