Bug #33190 | Falcon: DeferredIndex and IndexKey may sort slightly differently | ||
---|---|---|---|
Submitted: | 12 Dec 2007 23:50 | Modified: | 15 May 2009 14:15 |
Reporter: | Kevin Lewis | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S3 (Non-critical) |
Version: | 6.0.4 team | OS: | Any |
Assigned to: | Lars-Erik Bjørk | CPU Architecture: | Any |
Tags: | F_INDEX |
[12 Dec 2007 23:50]
Kevin Lewis
[18 Dec 2007 19:24]
MySQL Verification Team
Thank you for the bug report. Repeatable on main tree source but not on team tree source: c:\dbs>6.0t\bin\mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 6.0.5-alpha-team-tree-nt Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database db5; Query OK, 1 row affected (0.02 sec) mysql> use db5 Database changed mysql> create table hoo (s3 char(5) character set ucs2) engine=falcon; Query OK, 0 rows affected (0.48 sec) mysql> insert into hoo (s3) values ('a!'),(null); Query OK, 2 rows affected (0.01 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> create index k on hoo(s3(1)); Query OK, 2 rows affected (0.17 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> alter table hoo modify column s3 varbinary(20); Query OK, 2 rows affected (0.13 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> show create table hoo\G *************************** 1. row *************************** Table: hoo Create Table: CREATE TABLE `hoo` ( `s3` varbinary(20) DEFAULT NULL, KEY `k` (`s3`(1)) ) ENGINE=Falcon DEFAULT CHARSET=latin1 1 row in set (0.16 sec) mysql> -------------------------------------------------------------------- c:\dbs>6.0\bin\mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 6.0.5-alpha-nt Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database db5; Query OK, 1 row affected (0.02 sec) mysql> use db5 Database changed mysql> create table hoo (s3 char(5) character set ucs2) engine=falcon; Query OK, 0 rows affected (0.38 sec) mysql> insert into hoo (s3) values ('a!'),(null); Query OK, 2 rows affected (0.14 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> create index k on hoo(s3(1)); Query OK, 2 rows affected (0.34 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> alter table hoo modify column s3 varbinary(20); ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> mysql> CALL STACK > ntdll.dll!7c901230() mysqld.exe!Error::error() + 0x49 C++ mysqld.exe!Error::assertionFailed() + 0x14 C++ mysqld.exe!IndexRootPage::indexMerge() + 0x6ff C++
[26 Jun 2008 22:09]
Kevin Lewis
Lars-Erik, Another character-set related bug. This one is more involved but worth looking into.
[9 Feb 2009 17:49]
Kevin Lewis
This bug is similar to Bug#34478 in that the core problem is that DeferredIndex is not sorting key values exactly like Index Key values are sorted with regard to 0x00 characters. Lars-Erik, looks like I intended to assign this to you back in June, but only got the comment added.
[11 Feb 2009 20:26]
Lars-Erik Bjørk
This is fixed by the patch to bug#34478. The assert is uncommented, and the debug message is removed.
[17 Apr 2009 9:29]
Lars-Erik Bjørk
Pushed into 6.0.11
[15 May 2009 14:15]
MC Brown
A note has been added to the 6.0.11 changelog: Searching for 0x00 in Falcon tables using the VARBINARY column type would fail to return the correct rows. In addition, a crash could be encountered when modifying a column to the VARBINARY type.