Loading mysql-test/r/csv.result +8 −0 Original line number Diff line number Diff line Loading @@ -5223,3 +5223,11 @@ check table bug22080_3; Table Op Msg_type Msg_text test.bug22080_3 check error Corrupt drop tables bug22080_1,bug22080_2,bug22080_3; CREATE TABLE `bug21328` ( `col1` int(11) DEFAULT NULL, `col2` int(11) DEFAULT NULL, `col3` int(11) DEFAULT NULL ) ENGINE=CSV; insert into bug21328 values (1,NULL,NULL); alter table bug21328 engine=myisam; drop table bug21328; mysql-test/r/log_tables.result +0 −3 Original line number Diff line number Diff line Loading @@ -111,9 +111,6 @@ slow_log CREATE TABLE `slow_log` ( ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log' alter table mysql.general_log engine=myisam; alter table mysql.slow_log engine=myisam; Warnings: Warning 1366 Incorrect integer value: '' for column 'last_insert_id' at row 0 Warning 1366 Incorrect integer value: '' for column 'insert_id' at row 0 show create table mysql.general_log; Table Create Table general_log CREATE TABLE `general_log` ( Loading mysql-test/t/csv.test +14 −0 Original line number Diff line number Diff line Loading @@ -1605,3 +1605,17 @@ check table bug22080_2; check table bug22080_3; drop tables bug22080_1,bug22080_2,bug22080_3; # # Bug #21328 mysqld issues warnings on ALTER CSV table to MyISAM # CREATE TABLE `bug21328` ( `col1` int(11) DEFAULT NULL, `col2` int(11) DEFAULT NULL, `col3` int(11) DEFAULT NULL ) ENGINE=CSV; insert into bug21328 values (1,NULL,NULL); alter table bug21328 engine=myisam; drop table bug21328; storage/csv/ha_tina.cc +4 −2 Original line number Diff line number Diff line Loading @@ -517,14 +517,16 @@ int ha_tina::encode_quote(byte *buf) const char *end_ptr; /* Write an empty string to the buffer in case of a NULL value. CSV does not support nulls. Write quoted 0 to the buffer. In fact, (*field)->val_str(&attribute,&attribute) would usually return 0 in this case but we write it explicitly here. Basically this is a safety check, as no one ensures that the field content is cleaned up every time we use Field::set_null() in the code. */ if ((*field)->is_null()) { buffer.append(STRING_WITH_LEN("\"\",")); buffer.append(STRING_WITH_LEN("\"0\",")); continue; } else Loading Loading
mysql-test/r/csv.result +8 −0 Original line number Diff line number Diff line Loading @@ -5223,3 +5223,11 @@ check table bug22080_3; Table Op Msg_type Msg_text test.bug22080_3 check error Corrupt drop tables bug22080_1,bug22080_2,bug22080_3; CREATE TABLE `bug21328` ( `col1` int(11) DEFAULT NULL, `col2` int(11) DEFAULT NULL, `col3` int(11) DEFAULT NULL ) ENGINE=CSV; insert into bug21328 values (1,NULL,NULL); alter table bug21328 engine=myisam; drop table bug21328;
mysql-test/r/log_tables.result +0 −3 Original line number Diff line number Diff line Loading @@ -111,9 +111,6 @@ slow_log CREATE TABLE `slow_log` ( ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log' alter table mysql.general_log engine=myisam; alter table mysql.slow_log engine=myisam; Warnings: Warning 1366 Incorrect integer value: '' for column 'last_insert_id' at row 0 Warning 1366 Incorrect integer value: '' for column 'insert_id' at row 0 show create table mysql.general_log; Table Create Table general_log CREATE TABLE `general_log` ( Loading
mysql-test/t/csv.test +14 −0 Original line number Diff line number Diff line Loading @@ -1605,3 +1605,17 @@ check table bug22080_2; check table bug22080_3; drop tables bug22080_1,bug22080_2,bug22080_3; # # Bug #21328 mysqld issues warnings on ALTER CSV table to MyISAM # CREATE TABLE `bug21328` ( `col1` int(11) DEFAULT NULL, `col2` int(11) DEFAULT NULL, `col3` int(11) DEFAULT NULL ) ENGINE=CSV; insert into bug21328 values (1,NULL,NULL); alter table bug21328 engine=myisam; drop table bug21328;
storage/csv/ha_tina.cc +4 −2 Original line number Diff line number Diff line Loading @@ -517,14 +517,16 @@ int ha_tina::encode_quote(byte *buf) const char *end_ptr; /* Write an empty string to the buffer in case of a NULL value. CSV does not support nulls. Write quoted 0 to the buffer. In fact, (*field)->val_str(&attribute,&attribute) would usually return 0 in this case but we write it explicitly here. Basically this is a safety check, as no one ensures that the field content is cleaned up every time we use Field::set_null() in the code. */ if ((*field)->is_null()) { buffer.append(STRING_WITH_LEN("\"\",")); buffer.append(STRING_WITH_LEN("\"0\",")); continue; } else Loading