Bug #11819 CREATE TABLE with a SET DEFAULT 0 and UTF8 crashes server.
Submitted: 8 Jul 2005 16:14 Modified: 17 Jul 2005 0:25
Reporter: Per-Erik Martin Email Updates:
Status: Closed Impact on me:
Category:MySQL Server Severity:S2 (Serious)
Version:5.0 OS:Any (Any)
Assigned to: Alexander Barkov CPU Architecture:Any

[8 Jul 2005 16:14] Per-Erik Martin
Creating a table with a SET or ENUM column with the DEFAULT 0 crashes if the
table's character set is utf8. This happens with both MyISAM and InnoDB, but not
if the character set is latin1.

A workaround is possible: Use DEFAULT ''  instead.

How to repeat:
create table t1 ( x set ('A', 'B') default 0 ) character set utf8;
[8 Jul 2005 16:18] MySQL Verification Team
050708 13:17:56 [Note] /share/dbs/5.0/libexec/mysqld: ready for connections.
Version: '5.0.10-beta-debug'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
[New Thread 180236 (LWP 20929)]
mysqld: item_strfunc.cc:2242: virtual String* Item_func_conv_charset::val_str(String*): Assertion `fixed == 1' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 180236 (LWP 20929)]
[13 Jul 2005 8:05] Alexander Barkov
Patch was commited into 4.1 tree:
bk commit - 4.1 tree (bar:1.2327)

Something went wrong during commit, so ChangeSet comments
were not included into the letter:

This changeset adds safe_charset_converter() into Item_num
and Item_varbinary, which can appear as DEFAULT value
in SET/ENUM declaration.
[13 Jul 2005 9:16] Alexander Barkov
See also: http://bugs.mysql.com/bug.php?id=11403
[13 Jul 2005 19:04] Konstantin Osipov
Approved on IRC.
[14 Jul 2005 18:06] Alexander Barkov
Pushed into 4.1.14 and 5.0.10
[17 Jul 2005 0:25] Paul DuBois
Noted in 4.1.14, 5.0.10 changelogs.