| 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: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) http://lists.mysql.com/internals/26978 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.


Description: 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;