mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Bug#29182 - MyISAMCHK reports wrong character set
myisamchk did always show Character set: latin1_swedish_ci (8), regardless what DEFAULT CHARSET the table had. When the server created a MyISAM table, it did not copy the characterset number into the MyISAM create info structure. Added assignment of charset number to MI_CREATE_INFO. mysql-test/r/myisam.result: Bug#29182 - MyISAMCHK reports wrong character set Added test result. mysql-test/t/myisam.test: Bug#29182 - MyISAMCHK reports wrong character set Added test. storage/myisam/ha_myisam.cc: Bug#29182 - MyISAMCHK reports wrong character set Added assignment of charset number to MI_CREATE_INFO.
This commit is contained in:
@@ -2185,4 +2185,23 @@ CHECK TABLE t1 EXTENDED;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
c1 VARCHAR(10) NOT NULL,
|
||||
c2 CHAR(10) DEFAULT NULL,
|
||||
c3 VARCHAR(10) NOT NULL,
|
||||
KEY (c1),
|
||||
KEY (c2)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;
|
||||
|
||||
MyISAM file: MYSQLTEST_VARDIR/master-data/test/t1
|
||||
Record format: Packed
|
||||
Character set: utf8_general_ci (33)
|
||||
Data records: 0 Deleted blocks: 0
|
||||
Recordlength: 94
|
||||
|
||||
table description:
|
||||
Key Start Len Index Type
|
||||
1 2 30 multip. varchar
|
||||
2 33 30 multip. char NULL
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
||||
@@ -1448,5 +1448,19 @@ CHECK TABLE t1;
|
||||
CHECK TABLE t1 EXTENDED;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#29182 - MyISAMCHK reports wrong character set
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
c1 VARCHAR(10) NOT NULL,
|
||||
c2 CHAR(10) DEFAULT NULL,
|
||||
c3 VARCHAR(10) NOT NULL,
|
||||
KEY (c1),
|
||||
KEY (c2)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MYISAMCHK -d $MYSQLTEST_VARDIR/master-data/test/t1
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
|
||||
@@ -1859,6 +1859,7 @@ int ha_myisam::create(const char *name, register TABLE *table_arg,
|
||||
share->avg_row_length);
|
||||
create_info.data_file_name= ha_create_info->data_file_name;
|
||||
create_info.index_file_name= ha_create_info->index_file_name;
|
||||
create_info.language= share->table_charset->number;
|
||||
|
||||
if (ha_create_info->options & HA_LEX_CREATE_TMP_TABLE)
|
||||
create_flags|= HA_CREATE_TMP_TABLE;
|
||||
|
||||
Reference in New Issue
Block a user