diff --strip-trailing-cr -U3 C:/cirrus/contrib/citext/expected/create_index_acl.out C:/cirrus/build/testrun/citext/regress/results/create_index_acl.out --- C:/cirrus/contrib/citext/expected/create_index_acl.out 2026-01-12 18:46:05.607836200 +0000 +++ C:/cirrus/build/testrun/citext/regress/results/create_index_acl.out 2026-01-12 18:54:01.597908500 +0000 @@ -57,21 +57,26 @@ WHERE (s.index_row_if(y)); -- Make the table nonempty. INSERT INTO s.x VALUES ('foo'), ('bar'); +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- If the INSERT runs the planner on index expressions, a search_path change -- survives. As of 2022-06, the INSERT reuses a cached plan. It does so even -- under debug_discard_caches, since each index is new-in-transaction. If -- future work changes a cache lifecycle, this RESET may become necessary. RESET search_path; +ERROR: current transaction is aborted, commands ignored until end of transaction block -- For a nonempty table, owner needs permissions throughout ii_Expressions. GRANT EXECUTE ON FUNCTION s.index_this_expr TO regress_minimal; +ERROR: current transaction is aborted, commands ignored until end of transaction block CREATE UNIQUE INDEX u2rows ON s.x USING btree ((s.index_this_expr(y, s.const())) COLLATE s.coll s.citext_pattern_ops) TABLESPACE regress_create_idx_tblspace WHERE s.index_row_if(y); +ERROR: current transaction is aborted, commands ignored until end of transaction block ALTER TABLE s.x ADD CONSTRAINT e2rows EXCLUDE USING btree ((s.index_this_expr(y, s.const())) COLLATE s.coll WITH s.=) USING INDEX TABLESPACE regress_create_idx_tblspace WHERE (s.index_row_if(y)); +ERROR: current transaction is aborted, commands ignored until end of transaction block -- Shall not find s.coll via search_path, despite the s.const->public.setter -- call having set search_path=s during expression planning. Suppress the -- message itself, which depends on the database encoding. @@ -80,7 +85,7 @@ ((s.index_this_expr(y, s.const())) COLLATE coll WITH s.=) USING INDEX TABLESPACE regress_create_idx_tblspace WHERE (s.index_row_if(y)); -ERROR: 42704 +ERROR: 25P02 \set VERBOSITY default ROLLBACK; DROP TABLESPACE regress_create_idx_tblspace; diff --strip-trailing-cr -U3 C:/cirrus/contrib/citext/expected/citext_1.out C:/cirrus/build/testrun/citext/regress/results/citext.out --- C:/cirrus/contrib/citext/expected/citext_1.out 2026-01-12 18:46:05.605873500 +0000 +++ C:/cirrus/build/testrun/citext/regress/results/citext.out 2026-01-12 18:54:02.739983900 +0000 @@ -13,17 +13,9 @@ -- Test the operators and indexing functions -- Test = and <>. SELECT 'a'::citext = 'a'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'a'::citext = 'A'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'a'::citext = 'A'::text AS f; -- text wins the discussion f --- @@ -31,61 +23,25 @@ (1 row) SELECT 'a'::citext = 'b'::citext AS f; - f ---- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'a'::citext = 'ab'::citext AS f; - f ---- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'a'::citext <> 'ab'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Test > and >= SELECT 'B'::citext > 'a'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'b'::citext > 'A'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'B'::citext > 'b'::citext AS f; - f ---- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'B'::citext >= 'b'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Test < and <= SELECT 'a'::citext < 'B'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'a'::citext <= 'B'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Test implicit casting. citext casts to text, but not vice-versa. SELECT 'a'::citext = 'a'::text AS t; t @@ -163,42 +119,18 @@ -- A couple of longer examples to ensure that we don't get any issues with bad -- conversions to char[] in the c code. Yes, I did do this. SELECT 'aardvark'::citext = 'aardvark'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'aardvark'::citext = 'aardVark'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Check the citext_cmp() function explicitly. SELECT citext_cmp('aardvark'::citext, 'aardvark'::citext) AS zero; - zero ------- - 0 -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_cmp('aardvark'::citext, 'aardVark'::citext) AS zero; - zero ------- - 0 -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_cmp('AARDVARK'::citext, 'AARDVARK'::citext) AS zero; - zero ------- - 0 -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_cmp('B'::citext, 'a'::citext) > 0 AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Check the citext_hash() and citext_hash_extended() function explicitly. SELECT v as value, citext_hash(v)::bit(32) as standard, citext_hash_extended(v, 0)::bit(32) as extended0, @@ -207,111 +139,52 @@ ('muop28x03'), ('yi3nm0d73')) x(v) WHERE citext_hash(v)::bit(32) != citext_hash_extended(v, 0)::bit(32) OR citext_hash(v)::bit(32) = citext_hash_extended(v, 1)::bit(32); - value | standard | extended0 | extended1 --------+----------+-----------+----------- -(0 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Do some tests using a table and index. CREATE TEMP TABLE try ( name citext PRIMARY KEY ); INSERT INTO try (name) VALUES ('a'), ('ab'), ('â'), ('aba'), ('b'), ('ba'), ('bab'), ('AZ'); +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name, 'a' = name AS eq_a FROM try WHERE name <> 'â'; name | eq_a ------+------ - a | t - ab | f - aba | f - b | f - ba | f - bab | f - AZ | f -(7 rows) +(0 rows) SELECT name, 'a' = name AS t FROM try where name = 'a'; - name | t -------+--- - a | t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name, 'A' = name AS "eq_A" FROM try WHERE name <> 'â'; name | eq_A ------+------ - a | t - ab | f - aba | f - b | f - ba | f - bab | f - AZ | f -(7 rows) +(0 rows) SELECT name, 'A' = name AS t FROM try where name = 'A'; - name | t -------+--- - a | t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name, 'A' = name AS t FROM try where name = 'A'; - name | t -------+--- - a | t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- expected failures on duplicate key INSERT INTO try (name) VALUES ('a'); -ERROR: duplicate key value violates unique constraint "try_pkey" -DETAIL: Key (name)=(a) already exists. +ERROR: Unicode case folding can only be performed if server encoding is UTF8 INSERT INTO try (name) VALUES ('A'); -ERROR: duplicate key value violates unique constraint "try_pkey" -DETAIL: Key (name)=(A) already exists. +ERROR: Unicode case folding can only be performed if server encoding is UTF8 INSERT INTO try (name) VALUES ('aB'); -ERROR: duplicate key value violates unique constraint "try_pkey" -DETAIL: Key (name)=(aB) already exists. +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Make sure that citext_smaller() and citext_larger() work properly. SELECT citext_smaller( 'ab'::citext, 'ac'::citext ) = 'ab' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_smaller( 'ABC'::citext, 'bbbb'::citext ) = 'ABC' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_smaller( 'aardvark'::citext, 'Aaba'::citext ) = 'Aaba' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_smaller( 'aardvark'::citext, 'AARDVARK'::citext ) = 'AARDVARK' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_larger( 'ab'::citext, 'ac'::citext ) = 'ac' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_larger( 'ABC'::citext, 'bbbb'::citext ) = 'bbbb' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_larger( 'aardvark'::citext, 'Aaba'::citext ) = 'aardvark' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Test aggregate functions and sort ordering CREATE TEMP TABLE srt ( name CITEXT @@ -322,57 +195,28 @@ ('ABC'), ('abd'); CREATE INDEX srt_name ON srt (name); +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Check the min() and max() aggregates, with and without index. set enable_seqscan = off; SELECT MIN(name) AS "ABA" FROM srt; - ABA ------ - ABA -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT MAX(name) AS abd FROM srt; - abd ------ - abd -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 reset enable_seqscan; set enable_indexscan = off; SELECT MIN(name) AS "ABA" FROM srt; - ABA ------ - ABA -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT MAX(name) AS abd FROM srt; - abd ------ - abd -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 reset enable_indexscan; -- Check sorting likewise set enable_seqscan = off; SELECT name FROM srt ORDER BY name; - name ------- - ABA - abb - ABC - abd -(4 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 reset enable_seqscan; set enable_indexscan = off; SELECT name FROM srt ORDER BY name; - name ------- - ABA - abb - ABC - abd -(4 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 reset enable_indexscan; -- Test assignment casts. SELECT LOWER(name) as aba FROM srt WHERE name = 'ABA'::text; @@ -394,110 +238,36 @@ (1 row) SELECT LOWER(name) as aba FROM srt WHERE name = 'ABA'; - aba ------ - aba -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT LOWER(name) as aba FROM srt WHERE name = 'ABA'::citext; - aba ------ - aba -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- LIKE should be case-insensitive SELECT name FROM srt WHERE name LIKE '%a%' ORDER BY name; - name ------- - ABA - abb - ABC - abd -(4 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name FROM srt WHERE name NOT LIKE '%b%' ORDER BY name; - name ------- -(0 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name FROM srt WHERE name LIKE '%A%' ORDER BY name; - name ------- - ABA - abb - ABC - abd -(4 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name FROM srt WHERE name NOT LIKE '%B%' ORDER BY name; - name ------- -(0 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- ~~ should be case-insensitive SELECT name FROM srt WHERE name ~~ '%a%' ORDER BY name; - name ------- - ABA - abb - ABC - abd -(4 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name FROM srt WHERE name !~~ '%b%' ORDER BY name; - name ------- -(0 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name FROM srt WHERE name ~~ '%A%' ORDER BY name; - name ------- - ABA - abb - ABC - abd -(4 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name FROM srt WHERE name !~~ '%B%' ORDER BY name; - name ------- -(0 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- ~ should be case-insensitive SELECT name FROM srt WHERE name ~ '^a' ORDER BY name; - name ------- - ABA - abb - ABC - abd -(4 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name FROM srt WHERE name !~ 'a$' ORDER BY name; - name ------- - abb - ABC - abd -(3 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name FROM srt WHERE name ~ '^A' ORDER BY name; - name ------- - ABA - abb - ABC - abd -(4 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT name FROM srt WHERE name !~ 'A$' ORDER BY name; - name ------- - abb - ABC - abd -(3 rows) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- SIMILAR TO should be case-insensitive. SELECT name FROM srt WHERE name SIMILAR TO '%a.*'; name @@ -513,11 +283,7 @@ -- Explicit casts. SELECT true::citext = 'true' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'true'::citext::boolean = true AS t; t --- @@ -525,17 +291,9 @@ (1 row) SELECT 4::citext = '4' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 4::int4::citext = '4' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '4'::citext::int4 = 4 AS t; t --- @@ -543,11 +301,7 @@ (1 row) SELECT 4::integer::citext = '4' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '4'::citext::integer = 4 AS t; t --- @@ -555,11 +309,7 @@ (1 row) SELECT 4::int8::citext = '4' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '4'::citext::int8 = 4 AS t; t --- @@ -567,11 +317,7 @@ (1 row) SELECT 4::bigint::citext = '4' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '4'::citext::bigint = 4 AS t; t --- @@ -579,11 +325,7 @@ (1 row) SELECT 4::int2::citext = '4' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '4'::citext::int2 = 4 AS t; t --- @@ -591,11 +333,7 @@ (1 row) SELECT 4::smallint::citext = '4' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '4'::citext::smallint = 4 AS t; t --- @@ -675,11 +413,7 @@ (1 row) SELECT 'foo'::name::citext = 'foo' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'foo'::citext::name = 'foo'::name AS t; t --- @@ -687,11 +421,7 @@ (1 row) SELECT 'f'::char::citext = 'f' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'f'::citext::char = 'f'::char AS t; t --- @@ -699,11 +429,7 @@ (1 row) SELECT 'f'::"char"::citext = 'f' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'f'::citext::"char" = 'f'::"char" AS t; t --- @@ -711,11 +437,7 @@ (1 row) SELECT '100'::money::citext = '$100.00' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '100'::citext::money = '100'::money AS t; t --- @@ -723,11 +445,7 @@ (1 row) SELECT 'a'::char::citext = 'a' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'a'::citext::char = 'a'::char AS t; t --- @@ -735,11 +453,7 @@ (1 row) SELECT 'foo'::varchar::citext = 'foo' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'foo'::citext::varchar = 'foo'::varchar AS t; t --- @@ -747,11 +461,7 @@ (1 row) SELECT 'foo'::text::citext = 'foo' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'foo'::citext::text = 'foo'::text AS t; t --- @@ -759,11 +469,7 @@ (1 row) SELECT '192.168.100.128/25'::cidr::citext = '192.168.100.128/25' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '192.168.100.128/25'::citext::cidr = '192.168.100.128/25'::cidr AS t; t --- @@ -771,11 +477,7 @@ (1 row) SELECT '192.168.100.128'::inet::citext = '192.168.100.128/32' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '192.168.100.128'::citext::inet = '192.168.100.128'::inet AS t; t --- @@ -783,11 +485,7 @@ (1 row) SELECT '08:00:2b:01:02:03'::macaddr::citext = '08:00:2b:01:02:03' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '08:00:2b:01:02:03'::citext::macaddr = '08:00:2b:01:02:03'::macaddr AS t; t --- @@ -843,11 +541,7 @@ (1 row) SELECT '04:05:06'::time::citext = '04:05:06' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '04:05:06'::citext::time = '04:05:06'::time AS t; t --- @@ -867,11 +561,7 @@ (1 row) SELECT '( 1 , 1)'::point::citext = '(1,1)' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '( 1 , 1)'::citext::point ~= '(1,1)'::point AS t; t --- @@ -879,11 +569,7 @@ (1 row) SELECT '( 1 , 1 ) , ( 2 , 2 )'::lseg::citext = '[(1,1),(2,2)]' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '( 1 , 1 ) , ( 2 , 2 )'::citext::lseg = '[(1,1),(2,2)]'::lseg AS t; t --- @@ -903,11 +589,7 @@ (1 row) SELECT '((0,0),(1,1),(2,0))'::path::citext = '((0,0),(1,1),(2,0))' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '((0,0),(1,1),(2,0))'::citext::path = '((0,0),(1,1),(2,0))'::path AS t; t --- @@ -915,11 +597,7 @@ (1 row) SELECT '((0,0),(1,1))'::polygon::citext = '((0,0),(1,1))' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT '((0,0),(1,1))'::citext::polygon ~= '((0,0),(1,1))'::polygon AS t; t --- @@ -963,11 +641,7 @@ (1 row) SELECT 'a fat cat'::tsvector::citext = '''a'' ''cat'' ''fat''' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'a fat cat'::citext::tsvector = 'a fat cat'::tsvector AS t; t --- @@ -975,11 +649,7 @@ (1 row) SELECT 'fat & rat'::tsquery::citext = '''fat'' & ''rat''' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'fat & rat'::citext::tsquery = 'fat & rat'::tsquery AS t; t --- @@ -987,11 +657,7 @@ (1 row) SELECT 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid::citext = 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::citext::uuid = 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid AS t; t --- @@ -1000,11 +666,7 @@ CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); SELECT 'sad'::mood::citext = 'sad' AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'sad'::citext::mood = 'sad'::mood AS t; t --- @@ -2256,7 +1918,7 @@ SELECT COUNT(*) = 8::bigint AS t FROM try; t --- - t + f (1 row) INSERT INTO try @@ -2271,10 +1933,11 @@ ( to_char( 125.7::float4, '999D9') ), ( to_char( 125.9::float8, '999D9') ), ( to_char( -125.8::numeric, '999D99S') ); +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT COUNT(*) = 19::bigint AS t FROM try; t --- - t + f (1 row) SELECT like_escape( name, '' ) = like_escape( name::text, '' ) AS t FROM srt; @@ -2315,22 +1978,23 @@ (0 rows) UPDATE citext_table SET name = 'Two' WHERE name = 'TWO'; +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT * FROM citext_matview m FULL JOIN citext_table t ON (t.id = m.id AND t *= m) WHERE t.id IS NULL OR m.id IS NULL; id | name | id | name ----+------+----+------ - | | 2 | Two - 2 | two | | -(2 rows) +(0 rows) REFRESH MATERIALIZED VIEW CONCURRENTLY citext_matview; +ERROR: Unicode case folding can only be performed if server encoding is UTF8 +CONTEXT: SQL statement "ANALYZE pg_temp_3.pg_temp_16650" SELECT * FROM citext_matview ORDER BY id; id | name ----+------- 1 | one - 2 | Two + 2 | two 3 | three 4 | 5 | @@ -2338,300 +2002,108 @@ -- test citext_pattern_cmp() function explicitly. SELECT citext_pattern_cmp('aardvark'::citext, 'aardvark'::citext) AS zero; - zero ------- - 0 -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_cmp('aardvark'::citext, 'aardVark'::citext) AS zero; - zero ------- - 0 -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_cmp('AARDVARK'::citext, 'AARDVARK'::citext) AS zero; - zero ------- - 0 -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_cmp('B'::citext, 'a'::citext) > 0 AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_cmp('a'::citext, 'B'::citext) < 0 AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_cmp('A'::citext, 'b'::citext) < 0 AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_cmp('ABCD'::citext, 'abc'::citext) > 0 AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_cmp('ABC'::citext, 'abcd'::citext) < 0 AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- test operator functions -- lt SELECT citext_pattern_lt('a'::citext, 'b'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_lt('A'::citext, 'b'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_lt('a'::citext, 'B'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_lt('b'::citext, 'a'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_lt('B'::citext, 'a'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_lt('b'::citext, 'A'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- le SELECT citext_pattern_le('a'::citext, 'a'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_le('a'::citext, 'A'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_le('A'::citext, 'a'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_le('A'::citext, 'A'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_le('a'::citext, 'B'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_le('A'::citext, 'b'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_le('a'::citext, 'B'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_le('b'::citext, 'a'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_le('B'::citext, 'a'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_le('b'::citext, 'A'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- gt SELECT citext_pattern_gt('a'::citext, 'b'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_gt('A'::citext, 'b'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_gt('a'::citext, 'B'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_gt('b'::citext, 'a'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_gt('B'::citext, 'a'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_gt('b'::citext, 'A'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- ge SELECT citext_pattern_ge('a'::citext, 'a'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_ge('a'::citext, 'A'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_ge('A'::citext, 'a'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_ge('A'::citext, 'A'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_ge('a'::citext, 'B'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_ge('A'::citext, 'b'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_ge('a'::citext, 'B'::citext) AS false; - false -------- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_ge('b'::citext, 'a'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_ge('B'::citext, 'a'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT citext_pattern_ge('b'::citext, 'A'::citext) AS true; - true ------- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Test ~<~ and ~<=~ SELECT 'a'::citext ~<~ 'B'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'b'::citext ~<~ 'A'::citext AS f; - f ---- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'a'::citext ~<=~ 'B'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'a'::citext ~<=~ 'A'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Test ~>~ and ~>=~ SELECT 'B'::citext ~>~ 'a'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'b'::citext ~>~ 'A'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'B'::citext ~>~ 'b'::citext AS f; - f ---- - f -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 SELECT 'B'::citext ~>=~ 'b'::citext AS t; - t ---- - t -(1 row) - +ERROR: Unicode case folding can only be performed if server encoding is UTF8 -- Test implicit casting. citext casts to text, but not vice-versa. SELECT 'B'::citext ~<~ 'a'::text AS t; -- text wins. t