mariadb/mysql-test/t/mysqlcheck.test
unknown 32f5920676 Fix test case for Bug #25347 so that it actually tests the code fix,
and so that it works correctly on Windows.


mysql-test/r/mysqlcheck.result:
  Flush tables before monkeying around with underlying MyISAM data files
mysql-test/t/mysqlcheck.test:
  Fix the test case for bug #25347 so that it actually does test the behavior.
  Also, this makes it work on Windows by ensuring that mysqld doesn't hold the
  underlying MyISAM files open while we try to corrupt them on disk.
  
  Flush tables before monkeying around with underlying MyISAM data files;
  --use-frm, so that mysqlcheck will succeed.
2008-01-27 14:28:50 -07:00

61 lines
1.8 KiB
Text

# Clean up after previous tests
#
--disable_warnings
DROP TABLE IF EXISTS t1, `t``1`, `t 1`;
drop view if exists v1;
drop database if exists client_test_db;
--enable_warnings
# Embedded server doesn't support external clients
--source include/not_embedded.inc
#
# Bug #13783 mysqlcheck tries to optimize and analyze information_schema
#
--replace_result 'Table is already up to date' OK
--exec $MYSQL_CHECK --all-databases --analyze --optimize
--replace_result 'Table is already up to date' OK
--exec $MYSQL_CHECK --analyze --optimize --databases test information_schema mysql
--exec $MYSQL_CHECK --analyze --optimize information_schema schemata
#
# Bug #16502: mysqlcheck tries to check views
#
create table t1 (a int);
create view v1 as select * from t1;
--replace_result 'Table is already up to date' OK
--exec $MYSQL_CHECK --analyze --optimize --databases test
--replace_result 'Table is already up to date' OK
--exec $MYSQL_CHECK --all-in-1 --analyze --optimize --databases test
drop view v1;
drop table t1;
#
# Bug #30654: mysqlcheck fails during upgrade of tables whose names include backticks
#
create table `t``1`(a int);
create table `t 1`(a int);
--replace_result 'Table is already up to date' OK
--exec $MYSQL_CHECK --databases test
drop table `t``1`, `t 1`;
#
# Bug#25347: mysqlcheck -A -r doesn't repair table marked as crashed
#
create database d_bug25347;
use d_bug25347;
create table t_bug25347 (a int);
create view v_bug25347 as select * from t_bug25347;
flush tables;
--echo removing and creating
--remove_file $MYSQLTEST_VARDIR/master-data/d_bug25347/t_bug25347.MYI
--write_file $MYSQLTEST_VARDIR/master-data/d_bug25347/t_bug25347.MYI
EOF
--exec $MYSQL_CHECK --repair --databases --use-frm d_bug25347
drop view v_bug25347;
drop table t_bug25347;
drop database d_bug25347;
use test;
--echo End of 5.0 tests