1let $MYSQLD_DATADIR= `select @@datadir`; 2 3--echo # 4--echo # Start of 10.1 tests 5--echo # 6 7--echo # 8--echo # MDEV-19675 Wrong charset is chosen when opening a pre-4.1 table 9--echo # 10 11--echo # Test with a saved table from 3.23 12 13SELECT @@character_set_database; 14SET @@character_set_database="latin1"; 15--copy_file std_data/host_old.frm $MYSQLD_DATADIR/test/t1.frm 16--copy_file std_data/host_old.MYD $MYSQLD_DATADIR/test/t1.MYD 17--copy_file std_data/host_old.MYI $MYSQLD_DATADIR/test/t1.MYI 18 19--error ER_GET_ERRNO 20SELECT COUNT(*) FROM t1; 21CHECK TABLE t1; 22REPAIR TABLE t1; 23REPAIR TABLE t1 USE_FRM; 24SELECT COUNT(*) FROM t1; 25CHECK TABLE t1; 26SHOW CREATE TABLE t1; 27DROP TABLE t1; 28SET @@character_set_database=DEFAULT; 29 30 31--echo # Now do the same, but doing 'ALTER DATABASE' to create the db.opt file, 32--echo # instead of setting variables directly. 33 34--echo # Emulate a pre-4.1 database without db.opt 35--mkdir $MYSQLD_DATADIR/db1 36SHOW CREATE DATABASE db1; 37USE db1; 38SELECT @@character_set_database, 'taken from defaults' AS comment; 39USE test; 40ALTER DATABASE db1 DEFAULT CHARACTER SET latin1; 41USE db1; 42SELECT @@character_set_database, 'taken from db.opt' AS comment; 43 44--copy_file std_data/host_old.frm $MYSQLD_DATADIR/db1/t1.frm 45--copy_file std_data/host_old.MYD $MYSQLD_DATADIR/db1/t1.MYD 46--copy_file std_data/host_old.MYI $MYSQLD_DATADIR/db1/t1.MYI 47 48--error ER_GET_ERRNO 49SELECT COUNT(*) FROM t1; 50REPAIR TABLE t1 USE_FRM; 51SELECT COUNT(*) FROM t1; 52CHECK TABLE t1; 53SHOW CREATE TABLE t1; 54DROP TABLE t1; 55 56DROP DATABASE db1; 57USE test; 58 59--echo # 60--echo # End of 10.1 tests 61--echo # 62