# name: test/sql/collate/icu_collation_propagation.test # description: Test collations with string functions # group: [collate] statement ok create table tbl (a varchar, b varchar); statement ok insert into tbl values ('ö', '>>>>>ö<<<<<'), ('o', '>>>>>o<<<<<'), ('p', '>>>>>p<<<<<'); require icu # test propagation of collation through string functions query I select concat(a collate de, a) from tbl order by all; ---- oo öö pp query I select lower(a collate de) from tbl order by all; ---- o ö p query I select upper(a collate de) from tbl order by all; ---- O Ö P query I select trim(b collate de, '<>') from tbl order by all ---- o ö p query I select ltrim(b collate de, '<>') from tbl order by all ---- o<<<<< ö<<<<< p<<<<< query I select rtrim(b collate de, '<>') from tbl order by all ---- >>>>>o >>>>>ö >>>>>p query I select repeat(a collate de, 10) from tbl order by all; ---- oooooooooo öööööööööö pppppppppp query I select left(b collate de, 6) from tbl order by all; ---- >>>>>o >>>>>ö >>>>>p query I select right(b collate de, 6) from tbl order by all; ---- o<<<<< ö<<<<< p<<<<< query I select right(left(b collate de, 6), 1) from tbl order by all; ---- o ö p query I select reverse(a collate de) from tbl order by all; ---- o ö p # test application of collation query I select a from tbl where contains(b collate de, 'o') order by all ---- o query I select a from tbl where starts_with(b collate de, '>>>>>o') order by all ---- o query I select a from tbl where b collate de like '%>o<%' order by all ---- o