Fix Bug #21328 mysqld issues warnings on ALTER CSV table to MyISAM
This commit is contained in:
parent
b534ca4bc0
commit
b44bb83a27
@ -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;
|
||||
|
@ -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` (
|
||||
|
@ -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;
|
||||
|
@ -542,14 +542,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…
x
Reference in New Issue
Block a user