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