1SELECT getdatabaseencoding() <> 'UTF8' AS skip_test \gset 2\if :skip_test 3\quit 4\endif 5 6SELECT U&'\0061\0308bc' <> U&'\00E4bc' COLLATE "C" AS sanity_check; 7 8SELECT normalize(U&'\0061\0308\24D1c') = U&'\00E4\24D1c' COLLATE "C" AS test_default; 9SELECT normalize(U&'\0061\0308\24D1c', NFC) = U&'\00E4\24D1c' COLLATE "C" AS test_nfc; 10SELECT normalize(U&'\00E4bc', NFC) = U&'\00E4bc' COLLATE "C" AS test_nfc_idem; 11SELECT normalize(U&'\00E4\24D1c', NFD) = U&'\0061\0308\24D1c' COLLATE "C" AS test_nfd; 12SELECT normalize(U&'\0061\0308\24D1c', NFKC) = U&'\00E4bc' COLLATE "C" AS test_nfkc; 13SELECT normalize(U&'\00E4\24D1c', NFKD) = U&'\0061\0308bc' COLLATE "C" AS test_nfkd; 14 15SELECT "normalize"('abc', 'def'); -- run-time error 16 17SELECT U&'\00E4\24D1c' IS NORMALIZED AS test_default; 18SELECT U&'\00E4\24D1c' IS NFC NORMALIZED AS test_nfc; 19 20SELECT num, val, 21 val IS NFC NORMALIZED AS NFC, 22 val IS NFD NORMALIZED AS NFD, 23 val IS NFKC NORMALIZED AS NFKC, 24 val IS NFKD NORMALIZED AS NFKD 25FROM 26 (VALUES (1, U&'\00E4bc'), 27 (2, U&'\0061\0308bc'), 28 (3, U&'\00E4\24D1c'), 29 (4, U&'\0061\0308\24D1c')) vals (num, val) 30ORDER BY num; 31 32SELECT is_normalized('abc', 'def'); -- run-time error 33