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

MySQL数据库

开发平台:

Visual C++

  1. source include/master-slave.inc;
  2. # Clean up old slave's binlogs.
  3. # The slave is started with --log-slave-updates
  4. # and this test does SHOW BINLOG EVENTS on the slave's
  5. # binlog. But previous tests can influence the current test's
  6. # binlog (e.g. a temporary table in the previous test has not
  7. # been explicitly deleted, or it has but the slave hasn't had
  8. # enough time to catch it before STOP SLAVE, 
  9. # and at the beginning of the current
  10. # test the slave immediately writes DROP TEMPORARY TABLE this_old_table).
  11. # We wait for the slave to have written all he wants to the binlog
  12. # (otherwise RESET MASTER may come too early).
  13. save_master_pos;
  14. connection slave;
  15. sync_with_master;
  16. reset master;
  17. connection master;
  18. connect (con1,localhost,root,,);
  19. connect (con2,localhost,root,,);
  20. # We want to connect as an unprivileged user. But if we use user="" then this
  21. # will pick the Unix login, which will cause problems if you're running the test
  22. # as root.
  23. connect (con3,localhost,zedjzlcsjhd,,);
  24. # We are going to use SET PSEUDO_THREAD_ID in this test;
  25. # check that it requires the SUPER privilege.
  26. connection con3;
  27. SET @save_select_limit=@@session.sql_select_limit;
  28. --error 1227
  29. SET @@session.sql_select_limit=10, @@session.pseudo_thread_id=100;
  30. SELECT @@session.sql_select_limit = @save_select_limit; #shouldn't have changed
  31. # While we are here we also test that SQL_LOG_BIN can't be set
  32. --error 1227
  33. SET @@session.sql_select_limit=10, @@session.sql_log_bin=0;
  34. SELECT @@session.sql_select_limit = @save_select_limit; #shouldn't have changed
  35. # Now as root, to be sure it works
  36. connection con2;
  37. SET @@session.pseudo_thread_id=100;
  38. SET @@session.pseudo_thread_id=connection_id();
  39. SET @@session.sql_log_bin=0;
  40. SET @@session.sql_log_bin=1;
  41. connection con3;
  42. let $VERSION=`select version()`;
  43. --disable_warnings
  44. drop table if exists t1,t2;
  45. --enable_warnings
  46. create table t1(f int);
  47. create table t2(f int);
  48. insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
  49. connection con1;
  50. create temporary table t3(f int);
  51. insert into t3 select * from t1 where f<6;
  52. sleep 1;
  53. connection con2;
  54. create temporary table t3(f int);
  55. sleep 1;
  56. connection con1;
  57. insert into t2 select count(*) from t3;
  58. sleep 1;
  59. connection con2;
  60. insert into t3 select * from t1 where f>=4;
  61. sleep 1;
  62. connection con1;
  63. drop temporary table t3;
  64. sleep 1;
  65. connection con2;
  66. insert into t2 select count(*) from t3;
  67. drop temporary table t3;
  68. select * from t2;
  69. --replace_result $VERSION VERSION
  70. show binlog events;
  71. drop table t1, t2;
  72. use test;
  73. SET TIMESTAMP=1040323920;
  74. create table t1(f int);
  75. SET TIMESTAMP=1040323931;
  76. create table t2(f int);
  77. SET TIMESTAMP=1040323938;
  78. insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
  79. SET TIMESTAMP=1040323945;
  80. SET @@session.pseudo_thread_id=1;
  81. create temporary table t3(f int);
  82. SET TIMESTAMP=1040323952;
  83. SET @@session.pseudo_thread_id=1;
  84. insert into t3 select * from t1 where f<6;
  85. SET TIMESTAMP=1040324145;
  86. SET @@session.pseudo_thread_id=2;
  87. create temporary table t3(f int);
  88. SET TIMESTAMP=1040324186;
  89. SET @@session.pseudo_thread_id=1;
  90. insert into t2 select count(*) from t3;
  91. SET TIMESTAMP=1040324200;
  92. SET @@session.pseudo_thread_id=2;
  93. insert into t3 select * from t1 where f>=4;
  94. SET TIMESTAMP=1040324211;
  95. SET @@session.pseudo_thread_id=1;
  96. drop temporary table t3;
  97. SET TIMESTAMP=1040324219;
  98. SET @@session.pseudo_thread_id=2;
  99. insert into t2 select count(*) from t3;
  100. SET TIMESTAMP=1040324224;
  101. SET @@session.pseudo_thread_id=2;
  102. drop temporary table t3;
  103. select * from t2;
  104. drop table t1,t2;
  105. # Create last a temporary table that is not dropped at end to ensure that we
  106. # don't get any memory leaks for this
  107. create temporary table t3 (f int);
  108. sync_with_master;
  109. # The server will now close done
  110. # End of 4.1 tests