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

MySQL数据库

开发平台:

Visual C++

  1. #
  2. # Test of rename table
  3. #
  4. # Test requires concurrent connections, which can't be tested on embedded
  5. # server
  6. -- source include/not_embedded.inc
  7. --disable_warnings
  8. drop table if exists t0,t1,t2,t3,t4;
  9. # Clear up from other tests (to ensure that SHOW TABLES below is right)
  10. drop table if exists t0,t5,t6,t7,t8,t9,t1_1,t1_2,t9_1,t9_2;
  11. --enable_warnings
  12. create table t0 SELECT 1,"table 1";
  13. create table t2 SELECT 2,"table 2";
  14. create table t3 SELECT 3,"table 3";
  15. rename table t0 to t1;
  16. rename table t3 to t4, t2 to t3, t1 to t2, t4 to t1;
  17. select * from t1;
  18. rename table t3 to t4, t2 to t3, t1 to t2, t4 to t1;
  19. rename table t3 to t4, t2 to t3, t1 to t2, t4 to t1;
  20. select * from t1;
  21. # The following should give errors
  22. --error 1050,1050
  23. rename table t1 to t2;
  24. --error 1050,1050
  25. rename table t1 to t1;
  26. --error 1050,1050
  27. rename table t3 to t4, t2 to t3, t1 to t2, t4 to t2;
  28. show tables like "t_";
  29. --error 1050,1050
  30. rename table t3 to t1, t2 to t3, t1 to t2, t4 to t1;
  31. --error 1017,1017
  32. rename table t3 to t4, t5 to t3, t1 to t2, t4 to t1;
  33. select * from t1;
  34. select * from t2;
  35. select * from t3;
  36. # This should give a warning for t4
  37. drop table if exists t1,t2,t3,t4;
  38. #
  39. # Test-case for Bug #2397 RENAME TABLES is not blocked by 
  40. #                                  FLUSH TABLES WITH READ LOCK
  41. #
  42. connect (con1,localhost,root,,);
  43. connect (con2,localhost,root,,);
  44. connection con1;
  45. CREATE TABLE t1 (a int);
  46. CREATE TABLE t3 (a int);
  47. connection con2;
  48. FLUSH TABLES WITH READ LOCK;
  49. connection con1;
  50. send RENAME TABLE t1 TO t2, t3 to t4;
  51. connection con2;
  52. sleep 1;
  53. show tables;
  54. UNLOCK TABLES;
  55. sleep 1;
  56. show tables;
  57. drop table t2, t4;
  58. # End of 4.1 tests