diff options
author | gshchepa/uchum@host.loc <> | 2008-05-13 00:37:45 +0500 |
---|---|---|
committer | gshchepa/uchum@host.loc <> | 2008-05-13 00:37:45 +0500 |
commit | fc93a32ec90cbb06331062218b86a654a2913a3a (patch) | |
tree | 7a72be60619a2a6c56eecb436d4e8a59d79c6a7e /mysql-test | |
parent | cc2a2173143cf013a249f8039a7bacbf5a2c6ff4 (diff) | |
parent | 1e7be565e20100b5be68fe0476b5276362b0de73 (diff) | |
download | mariadb-git-fc93a32ec90cbb06331062218b86a654a2913a3a.tar.gz |
Merge host.loc:/work/bugs/5.0-bugteam-36055
into host.loc:/work/bk/5.1-bugteam
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/repair.result | 36 | ||||
-rw-r--r-- | mysql-test/std_data/bug36055.MYD | bin | 0 -> 10 bytes | |||
-rw-r--r-- | mysql-test/std_data/bug36055.MYI | bin | 0 -> 1024 bytes | |||
-rw-r--r-- | mysql-test/std_data/bug36055.frm | bin | 0 -> 8556 bytes | |||
-rw-r--r-- | mysql-test/t/repair.test | 30 |
5 files changed, 66 insertions, 0 deletions
diff --git a/mysql-test/r/repair.result b/mysql-test/r/repair.result index 8c0671ad740..dce37230d42 100644 --- a/mysql-test/r/repair.result +++ b/mysql-test/r/repair.result @@ -115,6 +115,42 @@ SET myisam_repair_threads=@@global.myisam_repair_threads; SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size; DROP TABLE t1; End of 4.1 tests +# Test with a saved table from 4.1 +SHOW TABLE STATUS LIKE 't1'; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 MyISAM 9 Fixed 2 5 10 21474836479 1024 0 NULL # # NULL latin1_swedish_ci NULL +SELECT * FROM t1; +id +1 +2 +# Run CHECK TABLE, it should indicate table need a REPAIR TABLE +CHECK TABLE t1 FOR UPGRADE; +Table Op Msg_type Msg_text +test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" to fix it! +# REPAIR old table USE_FRM should fail +REPAIR TABLE t1 USE_FRM; +Table Op Msg_type Msg_text +t1 repair error Failed reparing incompatible .FRM file +# Run REPAIR TABLE to upgrade .frm file +REPAIR TABLE t1; +Table Op Msg_type Msg_text +test.t1 repair status OK +SHOW TABLE STATUS LIKE 't1'; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 MyISAM 10 Fixed 2 7 14 1970324836974591 1024 0 NULL # # NULL latin1_swedish_ci NULL +SELECT * FROM t1; +id +1 +2 +REPAIR TABLE t1 USE_FRM; +Table Op Msg_type Msg_text +test.t1 repair warning Number of rows changed from 0 to 2 +test.t1 repair status OK +SELECT * FROM t1; +id +1 +2 +DROP TABLE t1; DROP TABLE IF EXISTS tt1; CREATE TEMPORARY TABLE tt1 (c1 INT); REPAIR TABLE tt1 USE_FRM; diff --git a/mysql-test/std_data/bug36055.MYD b/mysql-test/std_data/bug36055.MYD Binary files differnew file mode 100644 index 00000000000..4932a077113 --- /dev/null +++ b/mysql-test/std_data/bug36055.MYD diff --git a/mysql-test/std_data/bug36055.MYI b/mysql-test/std_data/bug36055.MYI Binary files differnew file mode 100644 index 00000000000..531c505c102 --- /dev/null +++ b/mysql-test/std_data/bug36055.MYI diff --git a/mysql-test/std_data/bug36055.frm b/mysql-test/std_data/bug36055.frm Binary files differnew file mode 100644 index 00000000000..11c9cb31dad --- /dev/null +++ b/mysql-test/std_data/bug36055.frm diff --git a/mysql-test/t/repair.test b/mysql-test/t/repair.test index b433b8720b9..94a9fda6757 100644 --- a/mysql-test/t/repair.test +++ b/mysql-test/t/repair.test @@ -113,6 +113,36 @@ SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size; DROP TABLE t1; --echo End of 4.1 tests + +# +# BUG#36055 - mysql_upgrade doesn't really 'upgrade' tables +# + +--echo # Test with a saved table from 4.1 +--copy_file std_data/bug36055.frm $MYSQLTEST_VARDIR/master-data/test/t1.frm +--copy_file std_data/bug36055.MYD $MYSQLTEST_VARDIR/master-data/test/t1.MYD +--copy_file std_data/bug36055.MYI $MYSQLTEST_VARDIR/master-data/test/t1.MYI + +--replace_column 12 # 13 # +SHOW TABLE STATUS LIKE 't1'; +SELECT * FROM t1; + +--echo # Run CHECK TABLE, it should indicate table need a REPAIR TABLE +CHECK TABLE t1 FOR UPGRADE; + +--echo # REPAIR old table USE_FRM should fail +REPAIR TABLE t1 USE_FRM; + +--echo # Run REPAIR TABLE to upgrade .frm file +REPAIR TABLE t1; +--replace_column 12 # 13 # +SHOW TABLE STATUS LIKE 't1'; +SELECT * FROM t1; + +REPAIR TABLE t1 USE_FRM; +SELECT * FROM t1; + +DROP TABLE t1; # End of 5.0 tests # |