mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-07 11:06:51 +02:00
f413941f41
Check whether the datctype is C to determine whether t_isspace() and related functions use isspace() or iswspace(). Previously, t_isspace() checked whether the database default collation was C; which is incorrect when the default collation uses the ICU provider. Discussion: https://postgr.es/m/79e4354d9eccfdb00483146a6b9f6295202e7890.camel@j-davis.com Reviewed-by: Peter Eisentraut Backpatch-through: 15
144 lines
2.0 KiB
Plaintext
144 lines
2.0 KiB
Plaintext
CREATE EXTENSION unaccent;
|
||
-- must have a UTF8 database
|
||
SELECT getdatabaseencoding();
|
||
getdatabaseencoding
|
||
---------------------
|
||
UTF8
|
||
(1 row)
|
||
|
||
SET client_encoding TO 'UTF8';
|
||
SELECT unaccent('foobar');
|
||
unaccent
|
||
----------
|
||
foobar
|
||
(1 row)
|
||
|
||
SELECT unaccent('ёлка');
|
||
unaccent
|
||
----------
|
||
елка
|
||
(1 row)
|
||
|
||
SELECT unaccent('ЁЖИК');
|
||
unaccent
|
||
----------
|
||
ЕЖИК
|
||
(1 row)
|
||
|
||
SELECT unaccent('˃˖˗˜');
|
||
unaccent
|
||
----------
|
||
>+-~
|
||
(1 row)
|
||
|
||
SELECT unaccent('À'); -- Remove combining diacritical 0x0300
|
||
unaccent
|
||
----------
|
||
A
|
||
(1 row)
|
||
|
||
SELECT unaccent('℃℉'); -- degree signs
|
||
unaccent
|
||
----------
|
||
°C°F
|
||
(1 row)
|
||
|
||
SELECT unaccent('℗'); -- sound recording copyright
|
||
unaccent
|
||
----------
|
||
(P)
|
||
(1 row)
|
||
|
||
SELECT unaccent('unaccent', 'foobar');
|
||
unaccent
|
||
----------
|
||
foobar
|
||
(1 row)
|
||
|
||
SELECT unaccent('unaccent', 'ёлка');
|
||
unaccent
|
||
----------
|
||
елка
|
||
(1 row)
|
||
|
||
SELECT unaccent('unaccent', 'ЁЖИК');
|
||
unaccent
|
||
----------
|
||
ЕЖИК
|
||
(1 row)
|
||
|
||
SELECT unaccent('unaccent', '˃˖˗˜');
|
||
unaccent
|
||
----------
|
||
>+-~
|
||
(1 row)
|
||
|
||
SELECT unaccent('unaccent', 'À');
|
||
unaccent
|
||
----------
|
||
A
|
||
(1 row)
|
||
|
||
SELECT unaccent('unaccent', '℃℉');
|
||
unaccent
|
||
----------
|
||
°C°F
|
||
(1 row)
|
||
|
||
SELECT unaccent('unaccent', '℗');
|
||
unaccent
|
||
----------
|
||
(P)
|
||
(1 row)
|
||
|
||
SELECT ts_lexize('unaccent', 'foobar');
|
||
ts_lexize
|
||
-----------
|
||
|
||
(1 row)
|
||
|
||
SELECT ts_lexize('unaccent', 'ёлка');
|
||
ts_lexize
|
||
-----------
|
||
{елка}
|
||
(1 row)
|
||
|
||
SELECT ts_lexize('unaccent', 'ЁЖИК');
|
||
ts_lexize
|
||
-----------
|
||
{ЕЖИК}
|
||
(1 row)
|
||
|
||
SELECT ts_lexize('unaccent', '˃˖˗˜');
|
||
ts_lexize
|
||
-----------
|
||
{>+-~}
|
||
(1 row)
|
||
|
||
SELECT ts_lexize('unaccent', 'À');
|
||
ts_lexize
|
||
-----------
|
||
{A}
|
||
(1 row)
|
||
|
||
SELECT ts_lexize('unaccent', '℃℉');
|
||
ts_lexize
|
||
-----------
|
||
{°C°F}
|
||
(1 row)
|
||
|
||
SELECT ts_lexize('unaccent', '℗');
|
||
ts_lexize
|
||
-----------
|
||
{(P)}
|
||
(1 row)
|
||
|
||
-- Controversial case. Black-Letter Capital H (U+210C) is translated by
|
||
-- Latin-ASCII.xml as 'x', but it should be 'H'.
|
||
SELECT unaccent('ℌ');
|
||
unaccent
|
||
----------
|
||
x
|
||
(1 row)
|
||
|