1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-02 09:41:40 +03:00
Files
mariadb/mysql-test/suite/rpl/r/rpl_row_colSize.result
Sven Sandberg 09c80e12c5 BUG#49978: Replication tests don't clean up replication state at the end
Major replication test framework cleanup. This does the following:
 - Ensure that all tests clean up the replication state when they
   finish, by making check-testcase check the output of SHOW SLAVE STATUS.
   This implies:
    - Slave must not be running after test finished. This is good
      because it removes the risk for sporadic errors in subsequent
      tests when a test forgets to sync correctly.
    - Slave SQL and IO errors must be cleared when test ends. This is
      good because we will notice if a test gets an unexpected error in
      the slave threads near the end.
    - We no longer have to clean up before a test starts.
 - Ensure that all tests that wait for an error in one of the slave
   threads waits for a specific error. It is no longer possible to
   source wait_for_slave_[sql|io]_to_stop.inc when there is an error
   in one of the slave threads. This is good because:
    - If a test expects an error but there is a bug that causes
      another error to happen, or if it stops the slave thread without
      an error, then we will notice.
    - When developing tests, wait_for_*_to_[start|stop].inc will fail
      immediately if there is an error in the relevant slave thread.
      Before this patch, we had to wait for the timeout.
 - Remove duplicated and repeated code for setting up unusual replication
   topologies. Now, there is a single file that is capable of setting
   up arbitrary topologies (include/rpl_init.inc, but
   include/master-slave.inc is still available for the most common
   topology). Tests can now end with include/rpl_end.inc, which will clean
   up correctly no matter what topology is used. The topology can be
   changed with include/rpl_change_topology.inc.
 - Improved debug information when tests fail. This includes:
    - debug info is printed on all servers configured by include/rpl_init.inc
    - User can set $rpl_debug=1, which makes auxiliary replication files
      print relevant debug info.
 - Improved documentation for all auxiliary replication files. Now they
   describe purpose, usage, parameters, and side effects.
 - Many small code cleanups:
    - Made have_innodb.inc output a sensible error message.
    - Moved contents of rpl000017-slave.sh into rpl000017.test
    - Added mysqltest variables that expose the current state of
      disable_warnings/enable_warnings and friends.
    - Too many to list here: see per-file comments for details.
2010-12-19 18:07:28 +01:00

271 lines
8.6 KiB
Plaintext

include/master-slave.inc
[connection master]
DROP TABLE IF EXISTS t1;
**** Testing WL#3228 changes. ****
*** Create "wider" table on slave ***
Checking MYSQL_TYPE_NEWDECIMAL fields
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a DECIMAL(5,2));
CREATE TABLE t1 (a DECIMAL(20, 10));
RESET MASTER;
INSERT INTO t1 VALUES (901251.90125);
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 10, test.t1 on slave has size 3. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a DECIMAL(27, 9));
CREATE TABLE t1 (a DECIMAL(27, 18));
RESET MASTER;
INSERT INTO t1 VALUES (901251.90125);
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 12, test.t1 on slave has size 12. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a NUMERIC(5,2));
CREATE TABLE t1 (a NUMERIC(20, 10));
RESET MASTER;
INSERT INTO t1 VALUES (901251.90125);
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 10, test.t1 on slave has size 3. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
Checking MYSQL_TYPE_FLOAT fields
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a FLOAT(20));
CREATE TABLE t1 (a FLOAT(47));
RESET MASTER;
INSERT INTO t1 VALUES (901251.90125);
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 type mismatch - received type 5, test.t1 has type 4'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
Checking MYSQL_TYPE_BIT fields
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a BIT(5));
CREATE TABLE t1 (a BIT(64));
RESET MASTER;
INSERT INTO t1 VALUES (B'10101');
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 8, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a BIT(11));
CREATE TABLE t1 (a BIT(12));
RESET MASTER;
INSERT INTO t1 VALUES (B'10101');
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 2, test.t1 on slave has size 2. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
Checking MYSQL_TYPE_SET fields
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a SET('4'));
CREATE TABLE t1 (a SET('1','2','3','4','5','6','7','8','9'));
RESET MASTER;
INSERT INTO t1 VALUES ('4');
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 2, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
Checking MYSQL_TYPE_STRING fields
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a CHAR(10));
CREATE TABLE t1 (a CHAR(20));
RESET MASTER;
INSERT INTO t1 VALUES ('This is a test.');
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 20, test.t1 on slave has size 11. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
Checking MYSQL_TYPE_ENUM fields
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a ENUM('44','54'));
CREATE TABLE t1 (a ENUM(
'01','02','03','04','05','06','07','08','09',
'11','12','13','14','15','16','17','18','19',
'21','22','23','24','25','26','27','28','29',
'31','32','33','34','35','36','37','38','39',
'41','42','43','44','45','46','47','48','49',
'51','52','53','54','55','56','57','58','59',
'61','62','63','64','65','66','67','68','69',
'71','72','73','74','75','76','77','78','79',
'81','82','83','84','85','86','87','88','89',
'91','92','93','94','95','96','97','98','99',
'101','102','103','104','105','106','107','108','109',
'111','112','113','114','115','116','117','118','119',
'121','122','123','124','125','126','127','128','129',
'131','132','133','134','135','136','137','138','139',
'141','142','143','144','145','146','147','148','149',
'151','152','153','154','155','156','157','158','159',
'161','162','163','164','165','166','167','168','169',
'171','172','173','174','175','176','177','178','179',
'181','182','183','184','185','186','187','188','189',
'191','192','193','194','195','196','197','198','199',
'201','202','203','204','205','206','207','208','209',
'211','212','213','214','215','216','217','218','219',
'221','222','223','224','225','226','227','228','229',
'231','232','233','234','235','236','237','238','239',
'241','242','243','244','245','246','247','248','249',
'251','252','253','254','255','256','257','258','259',
'261','262','263','264','265','266','267','268','269',
'271','272','273','274','275','276','277','278','279',
'281','282','283','284','285','286','287','288','289',
'291','292','293','294','295','296','297','298','299'
));
RESET MASTER;
INSERT INTO t1 VALUES ('44');
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 2, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
Checking MYSQL_TYPE_VARCHAR fields
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a VARCHAR(100));
CREATE TABLE t1 (a VARCHAR(2000));
RESET MASTER;
INSERT INTO t1 VALUES ('This is a test.');
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 2000, test.t1 on slave has size 100. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a VARCHAR(10));
CREATE TABLE t1 (a VARCHAR(200));
RESET MASTER;
INSERT INTO t1 VALUES ('This is a test.');
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 200, test.t1 on slave has size 10. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a VARCHAR(1000));
CREATE TABLE t1 (a VARCHAR(2000));
RESET MASTER;
INSERT INTO t1 VALUES ('This is a test.');
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 2000, test.t1 on slave has size 1000. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
Checking MYSQL_TYPE_BLOB fields
DROP TABLE IF EXISTS t1;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a TINYBLOB);
CREATE TABLE t1 (a LONGBLOB);
RESET MASTER;
INSERT INTO t1 VALUES ('This is a test.');
START SLAVE;
include/wait_for_slave_sql_error.inc [errno=1535]
Last_SQL_Error = 'Table definition on master and slave does not match: Column 0 size mismatch - master has size 4, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.'
SELECT COUNT(*) FROM t1;
COUNT(*)
0
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
*** Cleanup ***
DROP TABLE IF EXISTS t1;
include/rpl_end.inc