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.2015 05/10/17 22:49:23 jmiller@stripped +13 -0
Clean up rbr test and disabled.def
mysql-test/t/disabled.def
1.30 05/10/17 22:48:47 jmiller@stripped +1 -11
Updated to enable test that have been patched and/or correct bug numbers
mysql-test/t/rpl_row_trig001.test
1.7 05/10/17 22:36:33 jmiller@stripped +1 -1
Updated test case
mysql-test/t/rpl_row_func002.test
1.8 05/10/17 21:39:23 jmiller@stripped +6 -4
Updated test case
mysql-test/t/rpl_row_func001.test
1.6 05/10/17 21:01:59 jmiller@stripped +1 -1
Cleanup, turn off show table
mysql-test/r/rpl_row_func001.result
1.1 05/10/17 21:01:08 jmiller@stripped +30 -0
rpl_row_func001 now works correctly. Creating and checking in a result file for the test.
mysql-test/r/rpl_row_func001.result
1.0 05/10/17 21:01:08 jmiller@stripped +0 -0
BitKeeper file /home/ndbdev/jmiller/mysql-5.0-wl1012/mysql-test/r/rpl_row_func001.result
mysql-test/r/rpl_row_sp010.result
1.1 05/10/17 20:53:10 jmiller@stripped +0 -0
rpl_row_sp010 now works correctly. Creating and checking in a result file for the test.
mysql-test/r/rpl_row_sp010.result
1.0 05/10/17 20:53:10 jmiller@stripped +0 -0
BitKeeper file /home/ndbdev/jmiller/mysql-5.0-wl1012/mysql-test/r/rpl_row_sp010.result
mysql-test/r/rpl_row_sp009.result
1.1 05/10/17 20:48:07 jmiller@stripped +77 -0
rpl_row_sp009 now works correctly. Creating and checking in a result file for the test.
mysql-test/r/rpl_row_sp009.result
1.0 05/10/17 20:48:07 jmiller@stripped +0 -0
BitKeeper file /home/ndbdev/jmiller/mysql-5.0-wl1012/mysql-test/r/rpl_row_sp009.result
mysql-test/t/rpl_row_sp008.test
1.6 05/10/17 20:42:39 jmiller@stripped +0 -1
rpl_row_sp008 now works correctly with the patch for # 12627 and a patch on the test case.
mysql-test/r/rpl_row_sp008.result
1.1 05/10/17 20:41:56 jmiller@stripped +45 -0
rpl_row_sp008 now works correctly. Creating and checking in a result file for the test.
mysql-test/r/rpl_row_sp008.result
1.0 05/10/17 20:41:56 jmiller@stripped +0 -0
BitKeeper file /home/ndbdev/jmiller/mysql-5.0-wl1012/mysql-test/r/rpl_row_sp008.result
mysql-test/r/rpl_row_sp003.result
1.2 05/10/17 20:33:57 jmiller@stripped +49 -0
oops, update rpl_row_sp003 to have content
mysql-test/r/rpl_row_sp003.result
1.1 05/10/17 20:32:26 jmiller@stripped +0 -0
rpl_row_sp003 now works correctly. Creating and checking in a result file for the test.
mysql-test/r/rpl_row_sp003.result
1.0 05/10/17 20:32:26 jmiller@stripped +0 -0
BitKeeper file /home/ndbdev/jmiller/mysql-5.0-wl1012/mysql-test/r/rpl_row_sp003.result
mysql-test/t/rpl_row_sp003.test
1.6 05/10/17 20:31:55 jmiller@stripped +2 -0
rpl_row_sp003 now works correctly with the patch for # 12335 and a patch on the test case.
mysql-test/r/rpl_row_sp002.result
1.1 05/10/17 20:19:41 jmiller@stripped +239 -0
rpl_row_sp002 now works correctly. Creating and checking in a result files for the test.
mysql-test/r/rpl_row_sp002.result
1.0 05/10/17 20:19:41 jmiller@stripped +0 -0
BitKeeper file /home/ndbdev/jmiller/mysql-5.0-wl1012/mysql-test/r/rpl_row_sp002.result
mysql-test/t/rpl_row_relayrotate.test
1.3 05/10/17 20:04:03 jmiller@stripped +2 -1
Updated test case for rbr position in the bin log
# 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_func001.result 05/10/17 21:01:08
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 FUNCTION test.f1;
DROP TABLE IF EXISTS test.t1;
create table test.t1 (a int, PRIMARY KEY(a));
create function test.f1(i int) returns int
begin
insert into test.t1 values(i);
return 0;
end//
select test.f1(1);
test.f1(1)
0
select test.f1(2);
test.f1(2)
0
select * from test.t1;
a
1
2
select * from test.t1;
a
1
2
DROP FUNCTION test.f1;
DROP TABLE test.t1;
--- New file ---
+++ mysql-test/r/rpl_row_sp002.result 05/10/17 20:19:41
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 PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP PROCEDURE IF EXISTS test.p3;
DROP TABLE IF EXISTS test.t3;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
CREATE TABLE test.t1 (a INT AUTO_INCREMENT KEY, t CHAR(6)) ENGINE=INNODB;
CREATE TABLE test.t2 (a INT AUTO_INCREMENT KEY, f INT, FOREIGN KEY(a) REFERENCES test.t1(a) ON DELETE CASCADE) ENGINE=INNODB;
create procedure test.p1(IN i CHAR(6))
begin
INSERT INTO test.t1 (t) VALUES (i);
INSERT INTO test.t2 VALUES (NULL,LAST_INSERT_ID());
end|
create procedure test.p2(IN i INT)
begin
DELETE FROM test.t1 where a < i;
end|
< -- test 1 call p1 -- >
------------------------
SET FOREIGN_KEY_CHECKS=1;
call test.p1('texas');
call test.p1('Live');
call test.p1('next');
call test.p1('to');
call test.p1('OK');
call test.p1('MySQL');
< -- test 1 select master after p1 -- >
---------------------------------------
SELECT * FROM test.t1;
a t
1 texas
2 Live
3 next
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
1 1
2 2
3 3
4 4
5 5
6 6
< -- test 1 select slave after p1 -- >
--------------------------------------
SELECT * FROM test.t1;
a t
1 texas
2 Live
3 next
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
1 1
2 2
3 3
4 4
5 5
6 6
< -- test 1 call p2 & select master -- >
----------------------------------------
call test.p2(4);
SELECT * FROM test.t1;
a t
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
4 4
5 5
6 6
< -- test 1 select slave after p2 -- >
--------------------------------------
SELECT * FROM test.t1;
a t
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
4 4
5 5
6 6
< -- End test 1 Begin test 2 -- >
---------------------------------
SET FOREIGN_KEY_CHECKS=0;
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
CREATE TABLE test.t1 (a INT, t CHAR(6), PRIMARY KEY(a)) ENGINE=INNODB;
CREATE TABLE test.t2 (a INT, f INT, FOREIGN KEY(a) REFERENCES test.t1(a) ON UPDATE CASCADE, PRIMARY KEY(a)) ENGINE=INNODB;
CREATE PROCEDURE test.p1(IN nm INT, IN ch CHAR(6))
BEGIN
INSERT INTO test.t1 (a,t) VALUES (nm, ch);
INSERT INTO test.t2 VALUES (nm, LAST_INSERT_ID());
END|
CREATE PROCEDURE test.p2(IN i INT)
BEGIN
UPDATE test.t1 SET a = i*10 WHERE a = i;
END|
SET FOREIGN_KEY_CHECKS=1;
CALL test.p1(1,'texas');
CALL test.p1(2,'Live');
CALL test.p1(3,'next');
CALL test.p1(4,'to');
CALL test.p1(5,'OK');
CALL test.p1(6,'MySQL');
< -- test 2 select Master after p1 -- >
---------------------------------------
SELECT * FROM test.t1;
a t
1 texas
2 Live
3 next
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
1 6
2 6
3 6
4 6
5 6
6 6
< -- test 2 select Slave after p1 -- >
--------------------------------------
SELECT * FROM test.t1;
a t
1 texas
2 Live
3 next
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
1 6
2 6
3 6
4 6
5 6
6 6
< -- test 2 call p2 & select Master -- >
----------------------------------------
CALL test.p2(2);
CALL test.p2(4);
CALL test.p2(6);
SELECT * FROM test.t1;
a t
1 texas
3 next
5 OK
20 Live
40 to
60 MySQL
SELECT * FROM test.t2;
a f
1 6
3 6
5 6
20 6
40 6
60 6
< -- test 1 select Slave after p2 -- >
--------------------------------------
SELECT * FROM test.t1;
a t
1 texas
3 next
5 OK
20 Live
40 to
60 MySQL
SELECT * FROM test.t2;
a f
1 6
3 6
5 6
20 6
40 6
60 6
< -- End test 2 Begin test 3 -- >
---------------------------------
CREATE TABLE test.t3 (a INT AUTO_INCREMENT KEY, t CHAR(6))ENGINE=INNODB;
CREATE PROCEDURE test.p3(IN n INT)
begin
CASE n
WHEN 2 THEN
DELETE from test.t3;
ELSE
INSERT INTO test.t3 VALUES (NULL,'NONE');
END CASE;
end|
SET AUTOCOMMIT=0;
START TRANSACTION;
ROLLBACK;
select * from test.t3;
a t
select * from test.t3;
a t
START TRANSACTION;
COMMIT;
select * from test.t3;
a t
98 NONE
select * from test.t3;
a t
98 NONE
SET AUTOCOMMIT=1;
SET FOREIGN_KEY_CHECKS=0;
DROP PROCEDURE IF EXISTS test.p3;
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS test.t3;
--- New file ---
+++ mysql-test/r/rpl_row_sp003.result 05/10/17 20:32:26
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 PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t2;
CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=INNODB;
CREATE PROCEDURE test.p1()
BEGIN
INSERT INTO test.t1 VALUES (4);
SELECT get_lock("test", 100);
UPDATE test.t1 set a=a+4 WHERE a=4;
END|
CREATE PROCEDURE test.p2()
BEGIN
UPDATE test.t1 SET a=a+1;
END|
SELECT get_lock("test", 200);
get_lock("test", 200)
1
CALL test.p1();
CALL test.p2();
SELECT release_lock("test");
release_lock("test")
1
SELECT * FROM test.t1;
a
5
SELECT * FROM test.t1;
a
5
DROP TABLE IF EXISTS test.t1;
CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=INNODB;
CALL test.p2();
CALL test.p1();
get_lock("test", 100)
0
SELECT * FROM test.t1;
a
8
SELECT * FROM test.t1;
a
8
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t1;
--- New file ---
+++ mysql-test/r/rpl_row_sp008.result 05/10/17 20:41:56
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 PROCEDURE IF EXISTS test.p1;
DROP TABLE IF EXISTS test.t2;
CREATE TABLE test.t1 (a INT,PRIMARY KEY(a));
CREATE TABLE test.t2 (a INT,PRIMARY KEY(a));
INSERT INTO test.t1 VALUES(1),(2);
CREATE PROCEDURE test.p1()
BEGIN
SELECT SQL_CALC_FOUND_ROWS * FROM test.t1 LIMIT 1;
INSERT INTO test.t2 VALUES(FOUND_ROWS());
END|
< ---- Master selects-- >
-------------------------
CALL test.p1();
a
1
SELECT * FROM test.t2;
a
2
< ---- Slave selects-- >
------------------------
SELECT * FROM test.t2;
a
2
show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 102 Server ver: 5.0.15-rc-log, Binlog ver: 4
master-bin.000001 102 Query 1 193 use `test`; DROP TABLE IF EXISTS test.t2
master-bin.000001 193 Query 1 299 use `test`; CREATE TABLE test.t1 (a INT,PRIMARY KEY(a))
master-bin.000001 299 Query 1 405 use `test`; CREATE TABLE test.t2 (a INT,PRIMARY KEY(a))
master-bin.000001 405 Table_map 1 442 test.t1
master-bin.000001 442 Write_rows 1 479
master-bin.000001 479 Table_map 1 534 mysql.proc
master-bin.000001 534 Write_rows 1 715
master-bin.000001 715 Table_map 1 752 test.t2
master-bin.000001 752 Write_rows 1 784
DROP PROCEDURE IF EXISTS test.p1;
DROP TABLE IF EXISTS test.t1;
--- New file ---
+++ mysql-test/r/rpl_row_sp009.result 05/10/17 20:48:07
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 PROCEDURE IF EXISTS test.p1;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
CREATE TABLE test.t1 (a INT, PRIMARY KEY(a));
INSERT INTO test.t1 VALUES (1),(2),(3),(4);
CREATE TABLE test.t2 (a INT, PRIMARY KEY(a));
CREATE PROCEDURE test.p1 (arg1 CHAR(1))
BEGIN
DECLARE b, c INT;
IF arg1 = 'a' THEN
BEGIN
DECLARE cur1 CURSOR FOR SELECT A FROM test.t1 WHERE a % 2;
DECLARE continue handler for not found set b = 1;
SET b = 0;
OPEN cur1;
c1_repeat: REPEAT
FETCH cur1 INTO c;
IF (b = 1) THEN
LEAVE c1_repeat;
END IF;
INSERT INTO test.t2 VALUES (c);
UNTIL b = 1
END REPEAT;
CLOSE cur1;
END;
END IF;
IF arg1 = 'b' THEN
BEGIN
DECLARE cur2 CURSOR FOR SELECT a FROM test.t1 WHERE NOT a % 2;
DECLARE continue handler for not found set b = 1;
SET b = 0;
OPEN cur2;
c2_repeat: REPEAT
FETCH cur2 INTO c;
IF (b = 1) THEN
LEAVE c2_repeat;
END IF;
INSERT INTO test.t2 VALUES (c);
UNTIL b = 1
END REPEAT;
CLOSE cur2;
END;
END IF;
END|
CALL test.p1('a');
SELECT * FROM test.t2;
a
1
3
SELECT * FROM test.t2;
a
1
3
truncate test.t2;
call test.p1('b');
select * from test.t2;
a
2
4
SELECT * FROM test.t2;
a
2
4
truncate test.t2;
SELECT * FROM test.t2;
a
SELECT * FROM test.t2;
a
DROP PROCEDURE test.p1;
DROP TABLE test.t1;
DROP TABLE test.t2;
--- New file ---
+++ mysql-test/r/rpl_row_sp010.result 05/10/17 20:53:10
--- 1.5/mysql-test/t/rpl_row_func001.test 2005-08-31 05:23:52 +02:00
+++ 1.6/mysql-test/t/rpl_row_func001.test 2005-10-17 21:01:59 +02:00
@@ -40,7 +40,7 @@
save_master_pos;
sync_slave_with_master;
connection slave;
-show create table test.t1;
+#show create table test.t1;
select * from test.t1;
connection master;
--- 1.7/mysql-test/t/rpl_row_func002.test 2005-10-04 18:29:48 +02:00
+++ 1.8/mysql-test/t/rpl_row_func002.test 2005-10-17 21:39:23 +02:00
@@ -25,12 +25,14 @@
--error 0,1305
DROP FUNCTION test.f1;
DROP TABLE IF EXISTS test.t1;
+DROP TABLE IF EXISTS test.t2;
--enable_warnings
# Section 1 test from Peter G. This test changes uses a stored function to update rows and return the timestamp. We change the value of the time stamp on the master to see what is replicated.
CREATE TABLE test.t1 (a INT NOT NULL AUTO_INCREMENT, t TIMESTAMP, t2 TIMESTAMP, PRIMARY KEY(a));
+CREATE TABLE test.t2 (a INT NOT NULL AUTO_INCREMENT, t TIMESTAMP, t2 TIMESTAMP, PRIMARY KEY(a));
delimiter //;
create function test.f1() RETURNS TIMESTAMP
@@ -40,7 +42,7 @@
END//
delimiter ;//
-INSERT INTO test.t1 VALUES (null,f1(),CURRENT_TIMESTAMP);
+INSERT INTO test.t2 VALUES (null,f1(),CURRENT_TIMESTAMP);
#select * from test.t1;
#save_master_pos;
#sync_slave_with_master;
@@ -50,7 +52,7 @@
SET TIMESTAMP=2;
-INSERT INTO test.t1 VALUES (null,f1(),CURRENT_TIMESTAMP);
+INSERT INTO test.t2 VALUES (null,f1(),CURRENT_TIMESTAMP);
#select * from test.t1;
#save_master_pos;
#sync_slave_with_master;
@@ -60,7 +62,7 @@
#sleep 3;
SET TIMESTAMP=1;
-INSERT INTO test.t1 VALUES (null,f1(),CURRENT_TIMESTAMP);
+INSERT INTO test.t2 VALUES (null,f1(),CURRENT_TIMESTAMP);
#select * from test.t1;
#save_master_pos;
#sync_slave_with_master;
@@ -70,7 +72,7 @@
SET TIMESTAMP=333300000;
-INSERT INTO test.t1 VALUES (null,f1(),CURRENT_TIMESTAMP);
+INSERT INTO test.t2 VALUES (null,f1(),CURRENT_TIMESTAMP);
#select * from test.t1;
#save_master_pos;
#sync_slave_with_master;
--- 1.5/mysql-test/t/rpl_row_sp003.test 2005-08-31 05:20:35 +02:00
+++ 1.6/mysql-test/t/rpl_row_sp003.test 2005-10-17 20:31:55 +02:00
@@ -46,6 +46,7 @@
SELECT * FROM test.t1;
#show binlog events;
+sync_slave_with_master;
connection slave;
SELECT * FROM test.t1;
@@ -56,6 +57,7 @@
CALL test.p1();
SELECT * FROM test.t1;
+sync_slave_with_master;
connection slave;
SELECT * FROM test.t1;
connection master;
--- 1.5/mysql-test/t/rpl_row_sp008.test 2005-08-31 05:20:36 +02:00
+++ 1.6/mysql-test/t/rpl_row_sp008.test 2005-10-17 20:42:39 +02:00
@@ -39,7 +39,6 @@
--source include/show_msg.inc
CALL test.p1();
SELECT * FROM test.t2;
-;
let $message=< ---- Slave selects-- >;
--source include/show_msg.inc
--- 1.6/mysql-test/t/rpl_row_trig001.test 2005-10-04 18:22:04 +02:00
+++ 1.7/mysql-test/t/rpl_row_trig001.test 2005-10-17 22:36:33 +02:00
@@ -52,7 +52,7 @@
let $1=10;
while ($1)
{
- call test.p2();
+ call test.p2();
sleep 1;
dec $1;
}
--- 1.29/mysql-test/t/disabled.def 2005-10-03 14:07:21 +02:00
+++ 1.30/mysql-test/t/disabled.def 2005-10-17 22:48:47 +02:00
@@ -18,27 +18,17 @@
rpl_row_replicate_do:Causes wrong result on slave Bug 12421
rpl_row_ddl:TRUNCATE TABLE is not being replicated Bug 12692
rpl_row_mystery22:shows rbr slave issues Bug 12418
-rpl_row_relayrotate:Transaction Rollbacks not replicated Bug 12559
+rpl_row_relayrotate:Bug 14082
rpl_row_timezone:Timestamp incorrectly replicated Bug 12443
rpl_row_000002:create table from temporary Bug 12345
-#rpl_row_sp001:Bug 12461
-rpl_row_sp002:Bug 12554
-rpl_row_sp003:Bug 12335
rpl_row_sp005:Bug 12586
rpl_row_sp006:Bug 12586
-rpl_row_sp008:Bug 12627
-rpl_row_sp009:Bug 12168
-rpl_row_sp010:Bug 11126
rpl_row_sp011:Bug 13360
-#rpl_row_sp012:Bug 12726
-rpl_row_func001:Bug 12627
rpl_row_func002:Bug 12510
rpl_row_trig001:Bug missing table map event
rpl_row_trig002:Bug 12574 CORE
rpl_row_trig003:Bug 12574 CORE
rpl_row_view01:Bug 12687
-#rpl_row_USER:Bug 12461
-#rpl_row_UUID:Bug 12461
rpl_row_NOW:Bug 12574
rpl_sp004:Bug 12857
rpl_bit_npk:Bug 13418
--- 1.2/mysql-test/t/rpl_row_relayrotate.test 2005-08-26 02:13:49 +02:00
+++ 1.3/mysql-test/t/rpl_row_relayrotate.test 2005-10-17 20:04:03 +02:00
@@ -32,6 +32,7 @@
commit;
# This will generate a 500kB master's binlog,
# which corresponds to 30 slave's relay logs.
+#For debugging# show binlog events;
enable_query_log;
save_master_pos;
connection slave;
@@ -58,7 +59,7 @@
# We must wait for the transaction to commit before
# reading, MASTER_POS_WAIT() will do it for sure
# (the only statement with position>=3000 is COMMIT).
-select master_pos_wait('master-bin.001',3000)>=0;
+select master_pos_wait('master-bin.001',552270)>=0;
select max(a) from t1;
--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
--replace_result $MASTER_MYPORT MASTER_MYPORT
| Thread |
|---|
| • bk commit into 5.0 tree (jmiller:1.2015) | Jonathan Miller | 17 Oct |