You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
3.7 KiB

  1. include/master-slave.inc
  2. [connection master]
  3. set binlog_format=mixed;
  4. RESET MASTER;
  5. connection slave;
  6. set binlog_format=mixed;
  7. RESET MASTER;
  8. connection master;
  9. connection slave;
  10. use database;
  11. connection master;
  12. #
  13. # MDEV-23691 S3 storage engine: delayed slave can drop the table
  14. #
  15. connection slave;
  16. stop slave;
  17. connection master;
  18. create /*or replace*/ table t100 (
  19. pk varchar(100)
  20. ) engine = 'innodb';
  21. insert into t100 values ('old data');
  22. alter table t100 engine=s3;
  23. drop table t100;
  24. create /*or replace*/ table t100 (
  25. pk varchar(100)
  26. ) engine= innodb;
  27. insert into t100 select 'new data' from seq_1_to_10;
  28. alter table t100 engine=s3;
  29. select count(*), 'before slave start' from t100;
  30. count(*) before slave start
  31. 10 before slave start
  32. connection slave;
  33. start slave;
  34. connection master;
  35. connection slave;
  36. connection master;
  37. flush tables;
  38. select count(*), 'after slave start' from t100;
  39. count(*) after slave start
  40. 10 after slave start
  41. show create table t100;
  42. Table Create Table
  43. t100 CREATE TABLE `t100` (
  44. `pk` varchar(100) DEFAULT NULL
  45. ) ENGINE=S3 DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
  46. connection slave;
  47. select count(*) from t100;
  48. count(*)
  49. 10
  50. connection master;
  51. drop table t100;
  52. #
  53. # Test delayed slave with inserts
  54. #
  55. connection slave;
  56. stop slave;
  57. connection master;
  58. create table t1 (a int) engine=innodb;
  59. insert into t1 values (1),(2),(3);
  60. insert into t1 select * from seq_4_to_6;
  61. alter table t1 engine=s3;
  62. connection slave;
  63. start slave;
  64. connection master;
  65. connection slave;
  66. select * from t1;
  67. a
  68. 1
  69. 2
  70. 3
  71. 4
  72. 5
  73. 6
  74. connection master;
  75. drop table t1;
  76. #
  77. # Check slave binary log
  78. #
  79. connection slave;
  80. include/show_binlog_events.inc
  81. Log_name Pos Event_type Server_id End_log_pos Info
  82. slave-bin.000001 # Gtid # # GTID #-#-#
  83. slave-bin.000001 # Query # # create database database
  84. slave-bin.000001 # Gtid # # GTID #-#-#
  85. slave-bin.000001 # Query # # use `database`; create /*or replace*/ table t100 (
  86. pk varchar(100)
  87. ) engine = 'innodb'
  88. slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
  89. slave-bin.000001 # Query # # use `database`; insert into t100 values ('old data')
  90. slave-bin.000001 # Query # # COMMIT
  91. slave-bin.000001 # Gtid # # GTID #-#-#
  92. slave-bin.000001 # Query # # use `database`; alter table t100 engine=s3
  93. slave-bin.000001 # Gtid # # GTID #-#-#
  94. slave-bin.000001 # Query # # use `database`; DROP TABLE IF EXISTS `t100` /* generated by server */
  95. slave-bin.000001 # Gtid # # GTID #-#-#
  96. slave-bin.000001 # Query # # use `database`; create /*or replace*/ table t100 (
  97. pk varchar(100)
  98. ) engine= innodb
  99. slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
  100. slave-bin.000001 # Query # # use `database`; insert into t100 select 'new data' from seq_1_to_10
  101. slave-bin.000001 # Query # # COMMIT
  102. slave-bin.000001 # Gtid # # GTID #-#-#
  103. slave-bin.000001 # Query # # use `database`; alter table t100 engine=s3
  104. slave-bin.000001 # Gtid # # GTID #-#-#
  105. slave-bin.000001 # Query # # use `database`; flush tables
  106. slave-bin.000001 # Gtid # # GTID #-#-#
  107. slave-bin.000001 # Query # # use `database`; DROP TABLE IF EXISTS `t100` /* generated by server */
  108. slave-bin.000001 # Gtid # # GTID #-#-#
  109. slave-bin.000001 # Query # # use `database`; create table t1 (a int) engine=innodb
  110. slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
  111. slave-bin.000001 # Query # # use `database`; insert into t1 values (1),(2),(3)
  112. slave-bin.000001 # Query # # COMMIT
  113. slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
  114. slave-bin.000001 # Query # # use `database`; insert into t1 select * from seq_4_to_6
  115. slave-bin.000001 # Query # # COMMIT
  116. slave-bin.000001 # Gtid # # GTID #-#-#
  117. slave-bin.000001 # Query # # use `database`; alter table t1 engine=s3
  118. slave-bin.000001 # Gtid # # GTID #-#-#
  119. slave-bin.000001 # Query # # use `database`; DROP TABLE IF EXISTS `t1` /* generated by server */
  120. connection master;
  121. #
  122. # clean up
  123. #
  124. include/rpl_end.inc