From: <di...@us...> - 2012-04-13 09:09:14
|
Revision: 54376 http://firebird.svn.sourceforge.net/firebird/?rev=54376&view=rev Author: dimitr Date: 2012-04-13 09:09:08 +0000 (Fri, 13 Apr 2012) Log Message: ----------- Additional fix for CORE-3807. Otherwise, _utf8 'A' is considered equal to _win1251 'ABCD' etc. The original code didn't check for charsets/collations but IMHO this was wrong. Modified Paths: -------------- firebird/branches/B2_5_Release/src/dsql/pass1.cpp Modified: firebird/branches/B2_5_Release/src/dsql/pass1.cpp =================================================================== --- firebird/branches/B2_5_Release/src/dsql/pass1.cpp 2012-04-13 09:08:35 UTC (rev 54375) +++ firebird/branches/B2_5_Release/src/dsql/pass1.cpp 2012-04-13 09:09:08 UTC (rev 54376) @@ -3406,12 +3406,9 @@ return true; case nod_constant: - if (node1->nod_desc.dsc_dtype != node2->nod_desc.dsc_dtype || - node1->nod_desc.dsc_length != node2->nod_desc.dsc_length || - node1->nod_desc.dsc_scale != node2->nod_desc.dsc_scale) - { + if (!DSC_EQUIV(&node1->nod_desc, &node2->nod_desc, true)) return false; - } + { // scope for the local vars const USHORT len = (node1->nod_desc.dsc_dtype == dtype_text) ? ((dsql_str*) node1->nod_arg[0])->str_length : node1->nod_desc.dsc_length; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |