mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug#18436 (RBR: Replication to partition engine triggers assertion on slave):
Switching to using index_read() instead of index_read_idx() since a range of rows need to be retrieved. mysql-test/r/rpl_row_basic_8partition.result: Result change mysql-test/t/rpl_row_basic_8partition.test: Enabling section for testing PARTITION BY KEY(). sql/log_event.cc: Using index_read() instead of index_read_idx() since a range of records are read using index_next(). mysql-test/extra/rpl_tests/rpl_partition.test: New BitKeeper file ``mysql-test/extra/rpl_tests/rpl_partition.test''
This commit is contained in:
@ -436,3 +436,217 @@ COUNT(*)
|
||||
4
|
||||
DELETE FROM t1;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
**** Partition by KEY ****
|
||||
CREATE TABLE t1 (id MEDIUMINT NOT NULL, 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 DATE,PRIMARY KEY(id))
|
||||
PARTITION BY KEY()
|
||||
PARTITIONS 4;
|
||||
--- On master ---
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`id` mediumint(9) NOT NULL,
|
||||
`b1` bit(8) DEFAULT NULL,
|
||||
`vc` varchar(255) DEFAULT NULL,
|
||||
`bc` char(255) DEFAULT NULL,
|
||||
`d` decimal(10,4) DEFAULT '0.0000',
|
||||
`f` float DEFAULT '0',
|
||||
`total` bigint(20) unsigned DEFAULT NULL,
|
||||
`y` year(4) DEFAULT NULL,
|
||||
`t` date DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
|
||||
--- On slave ---
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`id` mediumint(9) NOT NULL,
|
||||
`b1` bit(8) DEFAULT NULL,
|
||||
`vc` varchar(255) DEFAULT NULL,
|
||||
`bc` char(255) DEFAULT NULL,
|
||||
`d` decimal(10,4) DEFAULT '0.0000',
|
||||
`f` float DEFAULT '0',
|
||||
`total` bigint(20) unsigned DEFAULT NULL,
|
||||
`y` year(4) DEFAULT NULL,
|
||||
`t` date DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
|
||||
"--- Insert into t1 --" as "";
|
||||
--- Select from t1 on master ---
|
||||
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
|
||||
id hex(b1) vc bc d f total y t
|
||||
2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
|
||||
4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
|
||||
42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
|
||||
142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
|
||||
412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
|
||||
--- Select from t1 on slave ---
|
||||
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
|
||||
id hex(b1) vc bc d f total y t
|
||||
2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
|
||||
4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
|
||||
42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
|
||||
142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
|
||||
412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
|
||||
--- Update t1 on master --
|
||||
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
|
||||
--- Check the update on master ---
|
||||
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
|
||||
id hex(b1) vc bc d f total y t
|
||||
412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
|
||||
--- Check Update on slave ---
|
||||
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
|
||||
id hex(b1) vc bc d f total y t
|
||||
412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
|
||||
--- Remove a record from t1 on master ---
|
||||
DELETE FROM t1 WHERE id = 42;
|
||||
--- Show current count on master for t1 ---
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
4
|
||||
--- Show current count on slave for t1 ---
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
4
|
||||
DELETE FROM t1;
|
||||
ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
|
||||
--- On master ---
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`id` mediumint(9) NOT NULL,
|
||||
`b1` bit(8) DEFAULT NULL,
|
||||
`vc` varchar(255) DEFAULT NULL,
|
||||
`bc` char(255) DEFAULT NULL,
|
||||
`d` decimal(10,4) DEFAULT '0.0000',
|
||||
`f` float DEFAULT '0',
|
||||
`total` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
`y` year(4) DEFAULT NULL,
|
||||
`t` date DEFAULT NULL,
|
||||
PRIMARY KEY (`id`,`total`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
|
||||
--- On slave ---
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`id` mediumint(9) NOT NULL,
|
||||
`b1` bit(8) DEFAULT NULL,
|
||||
`vc` varchar(255) DEFAULT NULL,
|
||||
`bc` char(255) DEFAULT NULL,
|
||||
`d` decimal(10,4) DEFAULT '0.0000',
|
||||
`f` float DEFAULT '0',
|
||||
`total` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
`y` year(4) DEFAULT NULL,
|
||||
`t` date DEFAULT NULL,
|
||||
PRIMARY KEY (`id`,`total`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
|
||||
"--- Insert into t1 --" as "";
|
||||
--- Select from t1 on master ---
|
||||
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
|
||||
id hex(b1) vc bc d f total y t
|
||||
2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
|
||||
4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
|
||||
42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
|
||||
142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
|
||||
412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
|
||||
--- Select from t1 on slave ---
|
||||
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
|
||||
id hex(b1) vc bc d f total y t
|
||||
2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
|
||||
4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
|
||||
42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
|
||||
142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
|
||||
412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
|
||||
--- Update t1 on master --
|
||||
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
|
||||
--- Check the update on master ---
|
||||
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
|
||||
id hex(b1) vc bc d f total y t
|
||||
412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
|
||||
--- Check Update on slave ---
|
||||
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
|
||||
id hex(b1) vc bc d f total y t
|
||||
412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
|
||||
--- Remove a record from t1 on master ---
|
||||
DELETE FROM t1 WHERE id = 42;
|
||||
--- Show current count on master for t1 ---
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
4
|
||||
--- Show current count on slave for t1 ---
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
4
|
||||
DELETE FROM t1;
|
||||
ALTER TABLE t1 MODIFY vc TEXT;
|
||||
--- On master ---
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`id` mediumint(9) NOT NULL,
|
||||
`b1` bit(8) DEFAULT NULL,
|
||||
`vc` text,
|
||||
`bc` char(255) DEFAULT NULL,
|
||||
`d` decimal(10,4) DEFAULT '0.0000',
|
||||
`f` float DEFAULT '0',
|
||||
`total` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
`y` year(4) DEFAULT NULL,
|
||||
`t` date DEFAULT NULL,
|
||||
PRIMARY KEY (`id`,`total`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
|
||||
--- On slave ---
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`id` mediumint(9) NOT NULL,
|
||||
`b1` bit(8) DEFAULT NULL,
|
||||
`vc` text,
|
||||
`bc` char(255) DEFAULT NULL,
|
||||
`d` decimal(10,4) DEFAULT '0.0000',
|
||||
`f` float DEFAULT '0',
|
||||
`total` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
`y` year(4) DEFAULT NULL,
|
||||
`t` date DEFAULT NULL,
|
||||
PRIMARY KEY (`id`,`total`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
|
||||
"--- Insert into t1 --" as "";
|
||||
--- Select from t1 on master ---
|
||||
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
|
||||
id hex(b1) vc bc d f total y t
|
||||
2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
|
||||
4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
|
||||
42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
|
||||
142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
|
||||
412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
|
||||
--- Select from t1 on slave ---
|
||||
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
|
||||
id hex(b1) vc bc d f total y t
|
||||
2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
|
||||
4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
|
||||
42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
|
||||
142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
|
||||
412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
|
||||
--- Update t1 on master --
|
||||
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
|
||||
--- Check the update on master ---
|
||||
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
|
||||
id hex(b1) vc bc d f total y t
|
||||
412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
|
||||
--- Check Update on slave ---
|
||||
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
|
||||
id hex(b1) vc bc d f total y t
|
||||
412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
|
||||
--- Remove a record from t1 on master ---
|
||||
DELETE FROM t1 WHERE id = 42;
|
||||
--- Show current count on master for t1 ---
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
4
|
||||
--- Show current count on slave for t1 ---
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
4
|
||||
DELETE FROM t1;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
|
Reference in New Issue
Block a user