Below is the list of changes that have just been committed into a local
5.0 repository of ndbdev. When ndbdev does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2021 05/10/26 19:52:20 jmiller@stripped +3 -0
Updated test case
mysql-test/t/disabled.def
1.38 05/10/26 19:51:58 jmiller@stripped +0 -2
Enable trigger test cases
mysql-test/r/rpl_row_trig003.result
1.1 05/10/26 19:51:09 jmiller@stripped +83 -0
Updated test case
mysql-test/r/rpl_row_trig003.result
1.0 05/10/26 19:51:09 jmiller@stripped +0 -0
BitKeeper file /home/ndbdev/jmiller/mysql-5.0-wl1012/mysql-test/r/rpl_row_trig003.result
mysql-test/t/rpl_row_trig003.test
1.7 05/10/26 19:50:55 jmiller@stripped +11 -45
Updated test case
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: jmiller
# Host: ndb08.mysql.com
# Root: /home/ndbdev/jmiller/mysql-5.0-wl1012
--- New file ---
+++ mysql-test/r/rpl_row_trig003.result 05/10/26 19:51:09
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
DROP TRIGGER test.t1_bi;
DROP TRIGGER test.t2_ai;
DROP TRIGGER test.t1_bu;
DROP TRIGGER test.t2_au;
DROP TRIGGER test.t1_bd;
DROP TRIGGER test.t2_ad;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS test.t3;
CREATE TABLE test.t1 (id MEDIUMINT NOT NULL AUTO_INCREMENT, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id));
CREATE TABLE test.t2 (id MEDIUMINT NOT NULL AUTO_INCREMENT, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id));
CREATE TABLE test.t3 (id MEDIUMINT NOT NULL AUTO_INCREMENT, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id));
CREATE TRIGGER test.t1_bi BEFORE INSERT ON test.t1 FOR EACH ROW UPDATE test.t3 SET b1=1 and y=YEAR(NOW())|
CREATE TRIGGER test.t2_ai AFTER INSERT ON test.t2 FOR EACH ROW BEGIN
INSERT INTO test.t3 VALUES(NULL,0,'MySQL Replication team rocks!', 'Dark beer in prague is #1',12345.34,12.51,0,1965,NOW());
UPDATE test.t3 SET f = ROUND(f);
END|
CREATE TRIGGER test.t1_bu BEFORE UPDATE on test.t1 FOR EACH ROW BEGIN
UPDATE test.t3 SET y = '2000';
INSERT INTO test.t3 VALUES(NULL,1,'Testing MySQL databases before update ', 'Insert should work',621.43, 0105.21,0,1974,NOW());
END|
CREATE TRIGGER test.t2_au AFTER UPDATE on test.t2 FOR EACH ROW BEGIN
DECLARE done INT DEFAULT 0;
DECLARE a DECIMAL(10,4);
DECLARE b FLOAT;
DECLARE num MEDIUMINT;
DECLARE cur1 CURSOR FOR SELECT t2.id, t2.d, t2.f FROM test.t2;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN cur1;
REPEAT
FETCH cur1 INTO num, a, b;
IF NOT done THEN
UPDATE test.t3 SET total =(a*b) WHERE ID = num;
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
END|
CREATE TRIGGER test.t1_bd BEFORE DELETE on test.t1 FOR EACH ROW BEGIN
DECLARE done INT DEFAULT 0;
DECLARE a BIT(8);
DECLARE b VARCHAR(255);
DECLARE c CHAR(255);
DECLARE d DECIMAL(10,4);
DECLARE e FLOAT;
DECLARE f BIGINT UNSIGNED;
DECLARE g YEAR;
DECLARE h TIMESTAMP;
DECLARE cur1 CURSOR FOR SELECT t1.b1, t1.vc, t1.bc, t1.d, t1.f, t1.total, t1.y, t1.t FROM test.t1;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN cur1;
REPEAT
FETCH cur1 INTO a, b, c, d, e, f, g, h;
IF NOT done THEN
INSERT INTO test.t3 VALUES(NULL, a, b, c, d, e, f, g, h);
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
END|
CREATE TRIGGER test.t2_ad AFTER DELETE ON test.t2 FOR EACH ROW
DELETE FROM test.t1|
INSERT INTO test.t1 VALUES(NULL,1,'Testing MySQL databases is a cool ', 'Must make it bug free for the customer',654321.4321,15.21,0,1965,NOW());
INSERT INTO test.t2 VALUES(NULL,0,'Testing MySQL databases is a cool ', 'MySQL Customers ROCK!',654321.4321,1.24521,0,YEAR(NOW()),NOW());
UPDATE test.t1 SET b1 = 0 WHERE b1 = 1;
INSERT INTO test.t2 VALUES(NULL,1,'This is an after update test.', 'If this works, total will not be zero on the master or slave',1.4321,5.221,0,YEAR(NOW()),NOW());
UPDATE test.t2 SET b1 = 0 WHERE b1 = 1;
INSERT INTO test.t1 VALUES(NULL,1,'add some more test data test.', 'and hope for the best', 3.321,5.221,0,YEAR(NOW()),NOW());
DELETE FROM test.t1 WHERE id = 1;
DELETE FROM test.t2 WHERE id = 1;
DROP TRIGGER test.t1_bi;
DROP TRIGGER test.t2_ai;
DROP TRIGGER test.t1_bu;
DROP TRIGGER test.t2_au;
DROP TRIGGER test.t1_bd;
DROP TRIGGER test.t2_ad;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS test.t3;
--- 1.6/mysql-test/t/rpl_row_trig003.test 2005-10-04 18:26:29 +02:00
+++ 1.7/mysql-test/t/rpl_row_trig003.test 2005-10-26 19:50:55 +02:00
@@ -32,24 +32,26 @@
DROP TRIGGER test.t2_ad;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
+DROP TABLE IF EXISTS test.t3;
--enable_warnings
# test section 1
CREATE TABLE test.t1 (id MEDIUMINT NOT NULL AUTO_INCREMENT, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id));
CREATE TABLE test.t2 (id MEDIUMINT NOT NULL AUTO_INCREMENT, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id));
+CREATE TABLE test.t3 (id MEDIUMINT NOT NULL AUTO_INCREMENT, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id));
# Note Most of these cause the slave to core or do not produce desired results. Currently commenting out the ones not working until they are fixed.
delimiter |;
-CREATE TRIGGER test.t1_bi BEFORE INSERT ON test.t1 FOR EACH ROW UPDATE test.t1 SET b1=1 and y=YEAR(NOW())|
+CREATE TRIGGER test.t1_bi BEFORE INSERT ON test.t1 FOR EACH ROW UPDATE test.t3 SET b1=1 and y=YEAR(NOW())|
CREATE TRIGGER test.t2_ai AFTER INSERT ON test.t2 FOR EACH ROW BEGIN
- INSERT INTO test.t1 VALUES(NULL,0,'MySQL Replication team rocks!', 'Dark beer in prague is #1',12345.34,12.51,0,1965,NOW());
- UPDATE test.t2 SET f = ROUND(f);
+ INSERT INTO test.t3 VALUES(NULL,0,'MySQL Replication team rocks!', 'Dark beer in prague is #1',12345.34,12.51,0,1965,NOW());
+ UPDATE test.t3 SET f = ROUND(f);
END|
CREATE TRIGGER test.t1_bu BEFORE UPDATE on test.t1 FOR EACH ROW BEGIN
- UPDATE test.t2 SET y = '2000';
- INSERT INTO test.t1 VALUES(NULL,1,'Testing MySQL databases before update ', 'Insert should work',621.43, 0105.21,0,1974,NOW());
+ UPDATE test.t3 SET y = '2000';
+ INSERT INTO test.t3 VALUES(NULL,1,'Testing MySQL databases before update ', 'Insert should work',621.43, 0105.21,0,1974,NOW());
END|
CREATE TRIGGER test.t2_au AFTER UPDATE on test.t2 FOR EACH ROW BEGIN
DECLARE done INT DEFAULT 0;
@@ -64,7 +66,7 @@
REPEAT
FETCH cur1 INTO num, a, b;
IF NOT done THEN
- UPDATE test.t2 SET total =(a*b) WHERE ID = num;
+ UPDATE test.t3 SET total =(a*b) WHERE ID = num;
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
@@ -87,7 +89,7 @@
REPEAT
FETCH cur1 INTO a, b, c, d, e, f, g, h;
IF NOT done THEN
- INSERT INTO test.t2 VALUES(NULL, a, b, c, d, e, f, g, h);
+ INSERT INTO test.t3 VALUES(NULL, a, b, c, d, e, f, g, h);
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
@@ -99,47 +101,16 @@
INSERT INTO test.t1 VALUES(NULL,1,'Testing MySQL databases is a cool ', 'Must make it bug free for the customer',654321.4321,15.21,0,1965,NOW());
INSERT INTO test.t2 VALUES(NULL,0,'Testing MySQL databases is a cool ', 'MySQL Customers ROCK!',654321.4321,1.24521,0,YEAR(NOW()),NOW());
-
-#select * from test.t1;
-#select * from test.t2;
-#sleep 9;
-#select * from test.t1;
-#select * from test.t2;
-#connection master;
-
UPDATE test.t1 SET b1 = 0 WHERE b1 = 1;
+
INSERT INTO test.t2 VALUES(NULL,1,'This is an after update test.', 'If this works, total will not be zero on the master or slave',1.4321,5.221,0,YEAR(NOW()),NOW());
UPDATE test.t2 SET b1 = 0 WHERE b1 = 1;
-
-#select * from test.t1;
-#select * from test.t2;
-#connection slave;
-#sleep 9;
-#select * from test.t1;
-#select * from test.t2;
-#connection master;
-
INSERT INTO test.t1 VALUES(NULL,1,'add some more test data test.', 'and hope for the best', 3.321,5.221,0,YEAR(NOW()),NOW());
DELETE FROM test.t1 WHERE id = 1;
-#select * from test.t1;
-#select * from test.t2;
-#connection slave;
-#sleep 9;
-#select * from test.t1;
-#select * from test.t2;
-#connection master;
DELETE FROM test.t2 WHERE id = 1;
-#select * from test.t1;
-#select * from test.t2;
-#connection slave;
-#sleep 9;
-#select * from test.t1;
-#select * from test.t2;
-#connection master;
-#show binlog events;
save_master_pos;
connection slave;
@@ -167,14 +138,9 @@
DROP TRIGGER test.t2_ad;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
+DROP TABLE IF EXISTS test.t3;
--enable_warnings
exec diff ./var/tmp/trg003_master.sql ./var/tmp/trg003_slave.sql;
-
-# If test fails, dump file are left in mysql-test/var/tmp
-# For investigation.
-
--- exec rm ./var/tmp/trg003_master.sql
--- exec rm ./var/tmp/trg003_slave.sql
# End of 5.0 test case
--- 1.37/mysql-test/t/disabled.def 2005-10-25 20:55:13 +02:00
+++ 1.38/mysql-test/t/disabled.def 2005-10-26 19:51:58 +02:00
@@ -22,8 +22,6 @@
rpl_row_000002:create table from temporary Bug 12345
rpl_row_sp006_InnoDB:Bug 12586
rpl_row_func002:Bug 12510
-rpl_row_trig002:Bug 12574 CORE
-rpl_row_trig003:Bug 12574 CORE
rpl_row_view01:Bug 12687
rpl_row_NOW:Bug 12574
rpl_bit_npk:Bug 13418
| Thread |
|---|
| • bk commit into 5.0 tree (jmiller:1.2021) | Jonathan Miller | 26 Oct |