1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- SELECT getdatabaseencoding() <> 'UTF8' AS skip_test \gset
- \if :skip_test
- \quit
- \endif
- SELECT U&'\0061\0308bc' <> U&'\00E4bc' COLLATE "C" AS sanity_check;
- sanity_check
- --------------
- t
- (1 row)
- SELECT normalize('');
- normalize
- -----------
-
- (1 row)
- SELECT normalize(U&'\0061\0308\24D1c') = U&'\00E4\24D1c' COLLATE "C" AS test_default;
- test_default
- --------------
- t
- (1 row)
- SELECT normalize(U&'\0061\0308\24D1c', NFC) = U&'\00E4\24D1c' COLLATE "C" AS test_nfc;
- test_nfc
- ----------
- t
- (1 row)
- SELECT normalize(U&'\00E4bc', NFC) = U&'\00E4bc' COLLATE "C" AS test_nfc_idem;
- test_nfc_idem
- ---------------
- t
- (1 row)
- SELECT normalize(U&'\00E4\24D1c', NFD) = U&'\0061\0308\24D1c' COLLATE "C" AS test_nfd;
- test_nfd
- ----------
- t
- (1 row)
- SELECT normalize(U&'\0061\0308\24D1c', NFKC) = U&'\00E4bc' COLLATE "C" AS test_nfkc;
- test_nfkc
- -----------
- t
- (1 row)
- SELECT normalize(U&'\00E4\24D1c', NFKD) = U&'\0061\0308bc' COLLATE "C" AS test_nfkd;
- test_nfkd
- -----------
- t
- (1 row)
- SELECT "normalize"('abc', 'def'); -- run-time error
- ERROR: invalid normalization form: def
- SELECT U&'\00E4\24D1c' IS NORMALIZED AS test_default;
- test_default
- --------------
- t
- (1 row)
- SELECT U&'\00E4\24D1c' IS NFC NORMALIZED AS test_nfc;
- test_nfc
- ----------
- t
- (1 row)
- SELECT num, val,
- val IS NFC NORMALIZED AS NFC,
- val IS NFD NORMALIZED AS NFD,
- val IS NFKC NORMALIZED AS NFKC,
- val IS NFKD NORMALIZED AS NFKD
- FROM
- (VALUES (1, U&'\00E4bc'),
- (2, U&'\0061\0308bc'),
- (3, U&'\00E4\24D1c'),
- (4, U&'\0061\0308\24D1c'),
- (5, '')) vals (num, val)
- ORDER BY num;
- num | val | nfc | nfd | nfkc | nfkd
- -----+-----+-----+-----+------+------
- 1 | äbc | t | f | t | f
- 2 | äbc | f | t | f | t
- 3 | äⓑc | t | f | f | f
- 4 | äⓑc | f | t | f | f
- 5 | | t | t | t | t
- (5 rows)
- SELECT is_normalized('abc', 'def'); -- run-time error
- ERROR: invalid normalization form: def
|