Subject | Re: Problem with CONTAINING and COLLATE |
---|---|
Author | Dmitry Yemanov |
Post date | 2017-12-08T12:54:57Z |
08.12.2017 13:56, Mark Rotteveel wrote:
operators. So it's parsed as "A CONTAINING (B COLLATE C)". B has charset
UTF8 and collation C doesn't belong here.
Dmitry
>> Because you are sending queries in connection charset. And stringIn the Firebird grammar, COLLATE has a higher priority than comparison
>> literals in them are
>> in connection charset. Because of that your 'x' cannot have COLLATE
>> PXW_HUNDC.
>
> I don't agree with this. The string literal is in the connection
> character set, but the value should be converted to the target character
> set (of the column) for the comparison, and that target character set
> does know PXW_HUNDC.
>
> Right now, it looks like instead Firebird only tries to apply the target
> collation, and not the target character set.
operators. So it's parsed as "A CONTAINING (B COLLATE C)". B has charset
UTF8 and collation C doesn't belong here.
Dmitry