Bug #2023 Lost connection when using UPDATE REPLACE() on invalid enum value
Submitted: 5 Dec 2003 10:43 Modified: 12 Dec 2003 11:22
Reporter: Michael Winston
Status: Closed
Category:Client Severity:S2 (Serious)
Version:4.0.16 OS:max os x 10.x
Assigned to: Bugs System Target Version:

[5 Dec 2003 10:43] Michael Winston
Description:
I manage to get:
ERROR 2013: Lost connection to MySQL server during query
when I try to do an update on an ENUM column that contains an invalid value.  The update
*must* 
contain the REPLACE function.

I'm unable to provide a backtrace because of my limited access to the server. Sorry!

How to repeat:
#create a table with an enum column
CREATE  TABLE  `test` ( `id` INT NOT  NULL  AUTO_INCREMENT ,`stuff` ENUM(  '0',  '1'  ) 
NOT 
NULL , PRIMARY  KEY (  `id`  ) );
# insert an illegal value into the enum
INSERT INTO `test` SET stuff = 'foobar';
#update using the replace string function
UPDATE test SET stuff = REPLACE(stuff, 'x','y');
Result:
ERROR 2013: Lost connection to MySQL server during query
[5 Dec 2003 11:00] Dean Ellis
Verified in 4.0.17/Linux.

Using REPLACE() on an ENUM column which is set to an empty string crashes mysqld.

Thank you.
[12 Dec 2003 10:39] Victor Vagin
bk commit - 4.0 tree (vva:1.1641)
[12 Dec 2003 11:22] Victor Vagin
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

Additional info:

Fix will be in 4.0.17