rpl_optimize.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:1k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. # Test for BUG#1858 "OPTIMIZE TABLE done by a client
  2. # thread stops the slave SQL thread".
  3. # You can replace OPTIMIZE by REPAIR.
  4. source include/master-slave.inc;
  5. create table t1 (a int not null auto_increment primary key, b int, key(b));
  6. INSERT INTO t1 (a) VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
  7. INSERT INTO t1 (a) SELECT null FROM t1;
  8. INSERT INTO t1 (a) SELECT null FROM t1;
  9. INSERT INTO t1 (a) SELECT null FROM t1;
  10. INSERT INTO t1 (a) SELECT null FROM t1;
  11. INSERT INTO t1 (a) SELECT null FROM t1;
  12. INSERT INTO t1 (a) SELECT null FROM t1;
  13. INSERT INTO t1 (a) SELECT null FROM t1;
  14. INSERT INTO t1 (a) SELECT null FROM t1;
  15. INSERT INTO t1 (a) SELECT null FROM t1;
  16. INSERT INTO t1 (a) SELECT null FROM t1;
  17. INSERT INTO t1 (a) SELECT null FROM t1;
  18. INSERT INTO t1 (a) SELECT null FROM t1;
  19. INSERT INTO t1 (a) SELECT null FROM t1;
  20. save_master_pos;
  21. # a few updates to force OPTIMIZE to do something
  22. update t1 set b=(a/2*rand());
  23. delete from t1 order by b limit 10000;
  24. connection slave;
  25. sync_with_master;
  26. optimize table t1;
  27. connection master;
  28. save_master_pos;
  29. connection slave;
  30. # Bug was that when the INSERT terminated on slave,
  31. # the slave SQL thread got killed by OPTIMIZE.
  32. sync_with_master; # won't work if slave SQL thread stopped
  33. connection master; # cleanup
  34. drop table t1;
  35. connection slave;
  36. sync_with_master;
  37. # If the machine is so fast that slave syncs before OPTIMIZE
  38. # starts, this test wil demonstrate nothing but will pass.
  39. # End of 4.1 tests