Bug #40994 | Regression: can't create unique index on NOT NULL column if engine is falcon | ||
---|---|---|---|
Submitted: | 24 Nov 2008 20:56 | Modified: | 13 Dec 2008 9:57 |
Reporter: | Alexey Stroganov | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S2 (Serious) |
Version: | 6.0.8-release | OS: | Any |
Assigned to: | Christopher Powers | CPU Architecture: | Any |
Tags: | F_ONLINE ALTER |
[24 Nov 2008 20:56]
Alexey Stroganov
[24 Nov 2008 20:59]
Alexey Stroganov
All works ok if column can be null: create table b (a int) engine=falcon; Query OK, 0 rows affected (0.01 sec) mysql> create unique index u on b (a); show create table b; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 +-------+--------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+--------------------------------------------------------------------------------------------------------------+ | b | CREATE TABLE `b` ( `a` int(11) DEFAULT NULL, UNIQUE KEY `u` (`a`) ) ENGINE=Falcon DEFAULT CHARSET=latin1 | +-------+--------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
[25 Nov 2008 10:44]
John Embretsen
Trying to reproduce this on current 6.0.9 bzr branch mysql-6.0-falcon-team, debug build on linux... Creating a UNIQUE index on a NOT NULL column actually crashes the server: -- Nullable column works mysql> CREATE TABLE t1 (a INT) ENGINE = Falcon; Query OK, 0 rows affected (0.04 sec) mysql> CREATE UNIQUE INDEX i1 on t1 (a); Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> CREATE TABLE t2 (a INT NOT NULL) ENGINE = Falcon; Query OK, 0 rows affected (0.02 sec) mysql> CREATE UNIQUE INDEX i1 on t2 (a); ERROR 2013 (HY000): Lost connection to MySQL server during query Anyone else see this? Note that CREATE OFFLINE UNIQUE INDEX i1 on t2 (a); works, so this seems to be related to the ONLINE ALTER ADD INDEX functionality. Stacktrace from error log is: Version: '6.0.9-alpha-debug-log' socket: '/tmp/39hgcZqSYf/master.sock' port: 9306 Source distribution mysqld: protocol.cc:467: void net_end_statement(THD*): Assertion `0' failed. /export/home/tmp/je159969/mysql/bzr-shared/jsandbox/sql/mysqld(my_print_stacktrace+0x26)[0x873b411] /export/home/tmp/je159969/mysql/bzr-shared/jsandbox/sql/mysqld(handle_segfault+0x2cd)[0x82a9bc5] [0x980420] /lib/libc.so.6(abort+0x101)[0xa75621] /lib/libc.so.6(__assert_fail+0xfb)[0xa6d15b] /export/home/tmp/je159969/mysql/bzr-shared/jsandbox/sql/mysqld(_Z17net_end_statementP3THD+0x1d2)[0x829c74e] /export/home/tmp/je159969/mysql/bzr-shared/jsandbox/sql/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x16f1)[0x82c424f] /export/home/tmp/je159969/mysql/bzr-shared/jsandbox/sql/mysqld(_Z10do_commandP3THD+0x23b)[0x82c46c3] /export/home/tmp/je159969/mysql/bzr-shared/jsandbox/sql/mysqld(handle_one_connection+0x11d)[0x82b2af1] /lib/libpthread.so.0[0xbc445b] /lib/libc.so.6(clone+0x5e)[0xb1bc4e] 081125 13:32:33 - mysqld got signal 6 ;
[1 Dec 2008 22:21]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/60338 2922 Christopher Powers 2008-12-01 Bug#40994, "Regression: can't create unique index on NOT NULL columns if engine is falcon" The MySQL server interprets unique indexes on NOT NULL columns as a primary key. Falcon online add/drop index does not yet support primary keys.
[11 Dec 2008 14:20]
Bugs System
Pushed into 6.0.9-alpha (revid:cpowers@mysql.com-20081201221834-24eysrs0mv4dpgdo) (version source revid:hky@sun.com-20081205164847-vbocpvlyf6fbxkkj) (pib:5)
[13 Dec 2008 9:57]
MC Brown
A note has been added to the 6.0.9 changelog: Unique indexes on FALCON tables can not be created when the the column is NOT NULL.