~ubuntu-branches/ubuntu/natty/mysql-5.1/natty

« back to all changes in this revision

Viewing changes to mysql-test/suite/rpl/t/rpl_stop_slave.test

Tags: 5.1.54-1ubuntu1
* Synchronize from Debian Experimental:
* Merge from debian unstable:
  + debian/control:
     * Update maintainer according to spec.
     * Move section from "misc" to "database".
     * Added libmysqlclient16-dev an empty transitional package. 
     * Added mysql-client-core-5.1 package.
     * Suggest mailx for mysql-server-5.1
     * Add mysql-testsuite package so you can run the testsuite seperately.
  + debian/additions/my.cnf:
    * Remove language options. Error message files are located in a different directory in Mysql
      5.0. Setting the language option to use /usr/share/mysql/english breaks Mysql 5.0. Both 5.0
      and 5.1 use a different value that works. (LP: #316974)
  + Add apparmor profile:
    + debian/apparmor-profile: apparmor-profile
    + debian/rules, debian/mysql-server-5.1.files: install apparmor profile
    + debian/mysql-server-5.1.dirs: add etc/apparmor.d/fore-complain
    + debian/mysql-server-5.1.postrm: remove symlink in force-complain/ on purge.
    + debian/mysql-server-5.1.README.Debian: add apparmor documentation.
    + debian/additions/my.cnf: Add warning about apparmor. (LP: #201799)
    + debian/mysql-server-5.1.postinst: reload apparmor profiles
  * Convert the package from sysvinit to upstart:
    + debian/mysql-server-5.1.mysql.upstart: Add upstart script.
    + debian/mysql-server-5.1.mysql.init: Dropped, unused now with upstart.
    + debian/additions/mysqld_safe_syslog.cnf: Dropped, unused now with upstart.
    + debian/additons/my.cnf: Remove pid declaration and setup error logging to /var/log/mysql since
      we're not piping anything around logger anymore.
    + debian/rules, debian/mysql-server-5.1.logcheck.ignore.{paranoid,worstation},
      debian/mysql-server-5.1.logcheck.ignore.server: : Remove references to mysqld_safe
    + debian/patches/38_scripts_mysqld_safe.sh_signals.dpatch: Dropped
  * Added -fno-strict-aliasing to CFLAGS to get around mysql testsuite build failures.
  * Add Apport hook (LP: #354188):
    + debian/mysql-server-5.1.py: apport package hook
    + debian/rules: Make it installable
  * debian/mysql-server-5.1.mysql-server.logrotate: Check to see if mysql is running before
    running logrotate. (LP: #513135)
  * Make the testsuite installable. (LP: #530752)
    + debian/mysql-server-5.1.files, debian/rules: install apport package hook
  * debian/mysql-server-5.1.preinst: Set mysql user's home directory
    to /nonexistent to protect against having the /var/lib/mysql
    user-writeable. If an attacker can trick mysqld into creating
    dot files in the home directory, he could do .rhost-like attacks
    on the system. (LP: #293258)
  * debian/control: mysql-client-5.1 should depend on mysql-core-client-5.1.
    (LP: #590952)
  * debian/mysql-server.5.1.postinst: Specify the mysql user when installing 
    the mysql databases. (LP: #591875)
  * Installing mysql_config_pic in /usr/bin so users of libmysqld-pic
    can extract the appropriate compile flags. (LP: #605021) 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
source include/master-slave.inc;
 
2
source include/have_innodb.inc;
 
3
source include/have_debug.inc;
 
4
source include/have_debug_sync.inc;
 
5
source include/have_binlog_format_mixed_or_statement.inc;
 
6
 
 
7
--echo
 
8
--echo # BUG#56118 STOP SLAVE does not wait till trx with CREATE TMP TABLE ends
 
9
--echo #
 
10
--echo # If a temporary table is created or dropped, the transaction should be
 
11
--echo # regarded similarly that a non-transactional table is modified. So 
 
12
--echo # STOP SLAVE should wait until the transaction has finished.
 
13
 
 
14
CREATE TABLE t1(c1 INT) ENGINE=InnoDB;
 
15
CREATE TABLE t2(c1 INT) ENGINE=InnoDB;
 
16
 
 
17
sync_slave_with_master;
 
18
SET DEBUG_SYNC= 'RESET';
 
19
source include/stop_slave.inc;
 
20
 
 
21
--echo
 
22
--echo # Suspend the INSERT statement in current transaction on SQL thread.
 
23
--echo # It guarantees that SQL thread is applying the transaction when
 
24
--echo # STOP SLAVE command launchs.
 
25
let $debug_save= `SELECT @@GLOBAL.debug`;
 
26
SET GLOBAL debug= 'd,after_mysql_insert';
 
27
source include/start_slave.inc;
 
28
 
 
29
--echo
 
30
--echo # CREATE TEMPORARY TABLE with InnoDB engine
 
31
--echo # -----------------------------------------
 
32
let $tmp_table_stm= CREATE TEMPORARY TABLE tt1(c1 INT) ENGINE = InnoDB;
 
33
source extra/rpl_tests/rpl_stop_slave.test;
 
34
 
 
35
--echo
 
36
--echo # CREATE TEMPORARY TABLE with MyISAM engine
 
37
--echo # -----------------------------------------
 
38
let $tmp_table_stm= CREATE TEMPORARY TABLE tt1(c1 INT) ENGINE = MyISAM;
 
39
source extra/rpl_tests/rpl_stop_slave.test;
 
40
 
 
41
--echo
 
42
--echo # CREATE TEMPORARY TABLE ... SELECT with InnoDB engine
 
43
--echo # ----------------------------------------------------
 
44
let $tmp_table_stm= CREATE TEMPORARY TABLE tt1(c1 INT) ENGINE = InnoDB
 
45
                    SELECT c1 FROM t2;
 
46
source extra/rpl_tests/rpl_stop_slave.test;
 
47
 
 
48
--echo
 
49
--echo # CREATE TEMPORARY TABLE ... SELECT with MyISAM engine
 
50
--echo # ----------------------------------------------------
 
51
let $tmp_table_stm= CREATE TEMPORARY TABLE tt1(c1 INT) ENGINE = MyISAM
 
52
                    SELECT 1 AS c1;
 
53
source extra/rpl_tests/rpl_stop_slave.test;
 
54
 
 
55
--echo # Test end
 
56
SET GLOBAL debug= '$debug_save';
 
57
 
 
58
connection master;
 
59
DROP TABLE t1, t2;
 
60
source include/master-slave-end.inc;