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

MySQL数据库

开发平台:

Visual C++

  1. # TODO: Only run this if we have privilege to do flush table
  2. #
  3. # Test of flush table
  4. #
  5. --disable_warnings
  6. drop table if exists t1,t2;
  7. --enable_warnings
  8. create table t1 (a int not null auto_increment primary key);
  9. insert into t1 values(0);
  10. lock table t1 read;
  11. flush table t1;
  12. check table t1;
  13. drop table t1;
  14. #
  15. # In the following test FLUSH TABLES produces a deadlock
  16. # (hang forever) if the fix for BUG #3565 is missing.
  17. # And it shows that handler tables are re-opened after flush (BUG #4286).
  18. #
  19. create table t1(table_id char(20) primary key);
  20. create table t2(table_id char(20) primary key);
  21. insert into t1 values ('test.t1');
  22. insert into t1 values ('');
  23. insert into t2 values ('test.t2');
  24. insert into t2 values ('');
  25. handler t1 open as a1;
  26. handler t1 open as a2;
  27. handler t2 open;
  28. handler a1 read first limit 9;
  29. handler a2 read first limit 9;
  30. handler t2 read first limit 9;
  31. flush tables;
  32. handler a1 read first limit 9;
  33. handler a2 read first limit 9;
  34. handler t2 read first limit 9;
  35. #
  36. --error 1066
  37. handler t1 open as a1;
  38. --error 1066
  39. handler t1 open as a2;
  40. --error 1066
  41. handler t2 open;
  42. handler a1 read first limit 9;
  43. handler a2 read first limit 9;
  44. handler t2 read first limit 9;
  45. flush table t1;
  46. handler a1 read first limit 9;
  47. handler a2 read first limit 9;
  48. handler t2 read first limit 9;
  49. flush table t2;
  50. handler t2 close;
  51. drop table t1;
  52. drop table t2;
  53. #
  54. # The fix for BUG #4286 cannot restore the position after a flush.
  55. #
  56. create table t1(table_id char(20) primary key);
  57. insert into t1 values ('Record-01');
  58. insert into t1 values ('Record-02');
  59. insert into t1 values ('Record-03');
  60. insert into t1 values ('Record-04');
  61. insert into t1 values ('Record-05');
  62. handler t1 open;
  63. handler t1 read first limit 1;
  64. handler t1 read next limit 1;
  65. handler t1 read next limit 1;
  66. flush table t1;
  67. handler t1 read next limit 1;
  68. handler t1 read next limit 1;
  69. handler t1 close;
  70. drop table t1;
  71. # End of 4.1 tests