-- can't use any char, since this will not make valid UTF8
-- for the haystack we use number as-is, for needle we just add dependency from number to go to vectorVector code
selectcountSubstringsCaseInsensitiveUTF8(upperUTF8(concat(char(number),'я')),lowerUTF8(concat(substringUTF8(char(number),2),'Я')))fromnumbers(100)wherenumber=0x41;-- A
selectcountSubstringsCaseInsensitiveUTF8(concat(toString(number),'ЯЯЯ111'),concat(substringUTF8(char(number),2),'я'))fromnumbers(100)wherenumber=0x41;-- A
selectcountSubstringsCaseInsensitiveUTF8(concat(toString(number),'яяя111яя1'),concat(substringUTF8(char(number),2),'Я'))fromnumbers(100)wherenumber=0x41;-- A
select'intersect',countSubstringsCaseInsensitiveUTF8(concat(toString(number),'яяяяяяяя'),concat(substringUTF8(char(number),2),'Яя'))fromnumbers(100)wherenumber=0x41formatCSV;-- A
select'';
select'CountSubstringsImpl::constantVector';
selectcountSubstringsCaseInsensitiveUTF8('ЯЯb',concat(substringUTF8(char(number),2),'я'))fromnumbers(100)wherenumber=0x41;-- A
selectcountSubstringsCaseInsensitiveUTF8('ЯbЯЯ',concat(substringUTF8(char(number),2),'я'))fromnumbers(100)wherenumber=0x41;-- A
selectcountSubstringsCaseInsensitiveUTF8('ЯbЯЯЯЯ',concat(substringUTF8(char(number),2),'я'))fromnumbers(100)wherenumber=0x41;-- A
select'intersect',countSubstringsCaseInsensitiveUTF8('ЯЯЯЯЯЯЯЯ',concat(substringUTF8(char(number),2),'Яя'))fromnumbers(100)wherenumber=0x41formatCSV;-- A
select'';
select'CountSubstringsImpl::vectorConstant';
selectcountSubstringsCaseInsensitiveUTF8(concat(char(number),'я'),'Я')fromnumbers(100)wherenumber=0x41;-- A
selectcountSubstringsCaseInsensitiveUTF8(concat(char(number),'б'),'Я')fromnumbers(100)wherenumber=0x41;-- A
select'intersect',countSubstringsCaseInsensitiveUTF8(concat(char(number),repeat('я',8)),'яЯ')fromnumbers(100)wherenumber=0x41formatCSV;-- A