Readers of the mailing list! There is a serious bug in the non-latin1 character set support of Innobase. The bug causes indexes to be sorted in a wrong order, and queries to return wrong results. The bug explains why test-ATIS returned wrong results in a Russian installation. I assumed that the function my_sortncmp returns -1, 0, or 1, but actually it returns a difference of ASCII codes for characters. You can fix the bug by editing the file mysql/sql/ha_innobase.cc, function innobase_mysql_cmp, about line 920, the function should be like the following: ........snip........ extern "C" { /***************************************************************** Innobase uses this function is to compare two data fields for which the data type is such that we must use MySQL code to compare them. NOTE that the prototype of this function is in rem0cmp.c in Innobase source code! If you change this function, remember to update the prototype there! */ int innobase_mysql_cmp( /*===============*/ /* out: 1, 0, -1, if a is greater, equal, less than b, respectively */ int mysql_type, /* in: MySQL type */ unsigned char* a, /* in: data field */ unsigned int a_length, /* in: data field length, not UNIV_SQL_NULL */ unsigned char* b, /* in: data field */ unsigned int b_length) /* in: data field length, not UNIV_SQL_NULL */ { enum_field_types mysql_tp; int ret; dbug_assert(a_length != UNIV_SQL_NULL); dbug_assert(b_length != UNIV_SQL_NULL); mysql_tp = (enum_field_types) mysql_type; switch (mysql_tp) { case FIELD_TYPE_STRING: case FIELD_TYPE_VAR_STRING: ret = my_sortncmp((const char*) a, a_length, (const char*) b, b_length); if (ret < 0) { return(-1); } else if (ret > 0) { return(1); } else { return(0); } default: assert(0); } return(0); } } .......snip.......... Regards, Heikki Tuuri Innobase Oy --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php