List:Commits« Previous MessageNext Message »
From:horst.hunger Date:March 14 2012 11:03am
Subject:bzr push into mysql-trunk-wl5824 branch (horst.hunger:3857 to 3858) WL#5824
View as plain text  
 3858 horst.hunger@stripped	2012-03-14
      WL#5824: Added test rest of the tests concerning the test plan.

    added:
      mysql-test/suite/memcached/r/memc268_w_batch_7.result
      mysql-test/suite/memcached/r/memc269_funcs_1.result
      mysql-test/suite/memcached/r/rpl_memc270_1.result
      mysql-test/suite/memcached/r/rpl_memc271_2.result
      mysql-test/suite/memcached/t/memc268_w_batch_7-master.opt
      mysql-test/suite/memcached/t/memc268_w_batch_7.test
      mysql-test/suite/memcached/t/memc269_funcs_1-master.opt
      mysql-test/suite/memcached/t/memc269_funcs_1.test
      mysql-test/suite/memcached/t/rpl_memc270_1-master.opt
      mysql-test/suite/memcached/t/rpl_memc270_1-slave.opt
      mysql-test/suite/memcached/t/rpl_memc270_1.test
      mysql-test/suite/memcached/t/rpl_memc271_2-master.opt
      mysql-test/suite/memcached/t/rpl_memc271_2-slave.opt
      mysql-test/suite/memcached/t/rpl_memc271_2.test
    modified:
      mysql-test/suite/memcached/r/memc212_2_cols.result
      mysql-test/suite/memcached/r/memc213_2_intcols.result
      mysql-test/suite/memcached/r/memc214_5_cols.result
      mysql-test/suite/memcached/t/memc212_2_cols.test
      mysql-test/suite/memcached/t/memc213_2_intcols.test
      mysql-test/suite/memcached/t/memc214_5_cols.test
 3857 Jimmy Yang	2012-03-14
      Add tests for column type modification for mapped tables.

    modified:
      mysql-test/suite/memcached/r/memc250_container.result
      mysql-test/suite/memcached/t/memc250_container.test
      plugin/innodb_memcached/innodb_memcache/src/innodb_api.c
=== modified file 'mysql-test/suite/memcached/r/memc212_2_cols.result'
--- a/mysql-test/suite/memcached/r/memc212_2_cols.result	2012-03-06 08:52:09 +0000
+++ b/mysql-test/suite/memcached/r/memc212_2_cols.result	2012-03-14 11:02:31 +0000
@@ -96,9 +96,40 @@ D	Darmstadt	City
 E	Essen	Ost
 F	NULL	Sachsenhausen
 H	Hamburg	Norderstedt
+ALTER TABLE t1 MODIFY c2 int;
+Warnings:
+Warning	1366	Incorrect integer value: 'Berlin' for column 'c2' at row 1
+Warning	1366	Incorrect integer value: 'Cottbus' for column 'c2' at row 2
+Warning	1366	Incorrect integer value: 'Darmstadt' for column 'c2' at row 3
+Warning	1366	Incorrect integer value: 'Essen' for column 'c2' at row 4
+Warning	1366	Incorrect integer value: 'Hamburg' for column 'c2' at row 6
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	0	Mitte
+C	0	West
+D	0	City
+E	0	Ost
+F	NULL	Sachsenhausen
+H	0	Norderstedt
+Here the memcached results after add Frankfurt|:
+Here the memcached results after add |Airport:
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	0	Mitte
+C	0	West
+D	0	City
+E	0	Ost
+F	NULL	Sachsenhausen
+H	0	Norderstedt
 Here the memcached results after flush_all:
 SELECT c1,c2,c21 FROM t1;
 c1	c2	c21
+B	0	Mitte
+C	0	West
+D	0	City
+E	0	Ost
+F	NULL	Sachsenhausen
+H	0	Norderstedt
 DROP TABLE t1;
 DROP DATABASE innodb_memcache;
 SET @@global.tx_isolation= @tx_isolation;

=== modified file 'mysql-test/suite/memcached/r/memc213_2_intcols.result'
--- a/mysql-test/suite/memcached/r/memc213_2_intcols.result	2012-03-06 08:52:09 +0000
+++ b/mysql-test/suite/memcached/r/memc213_2_intcols.result	2012-03-14 11:02:31 +0000
@@ -38,6 +38,31 @@ B	2	Mitte
 C	3	West
 D	1	City
 H	4	Norderstedt
+ALTER TABLE t1 MODIFY c2 varchar(20);
+Here the memcached results with D,B,H,C:
+Here the memcached results after set:
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	2	Mitte
+C	3	West
+D	1	City
+H	4	Norderstedt
+UNINSTALL PLUGIN daemon_memcached;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+Here the memcached results with D,B,H,C:
+1|City
+2|Mitte
+4|Norderstedt
+3|West
+Here the memcached results after set:
+5|Ost
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	2	Mitte
+C	3	West
+D	1	City
+E	5	Ost
+H	4	Norderstedt
 DROP TABLE t1;
 DROP DATABASE innodb_memcache;
 SET @@global.tx_isolation= @tx_isolation;

=== modified file 'mysql-test/suite/memcached/r/memc214_5_cols.result'
--- a/mysql-test/suite/memcached/r/memc214_5_cols.result	2012-03-06 08:52:09 +0000
+++ b/mysql-test/suite/memcached/r/memc214_5_cols.result	2012-03-14 11:02:31 +0000
@@ -77,6 +77,22 @@ C	Cottbus	West	3	cccccccccccccc	3456	201
 D	Darmstadt	City	1	dddddddddddddd	1234	2012
 E	Essen	Ost	5	eeeeeeeeeee	5678	2012
 H	Hamburg	Norderstedt	4	hhhhhhhhhh	4567	2012
+ALTER TABLE t1 MODIFY c2 CHAR(30);
+Here the memcached results with D,B,H,C:
+Darmstadt                     |City                                    |1|dddddddddddddd|1234|2012      
+Berlin                        |Mitte                                   |2|bbbbbbbbbbbbbb|2345|2012      
+Hamburg                       |Norderstedt                             |4|hhhhhhhhhh|4567|2012      
+Cottbus                       |West                                    |3|cccccccccccccc|3456|2012      
+Here the memcached results after add:
+Frankfurt                     |Airport                                 |6|fffffffffff|6789|2012      
+SELECT c1,c2,c21,c22,c23,c24,c25 FROM t1;
+c1	c2	c21	c22	c23	c24	c25
+B	Berlin	Mitte	2	bbbbbbbbbbbbbb	2345	2012
+C	Cottbus	West	3	cccccccccccccc	3456	2012
+D	Darmstadt	City	1	dddddddddddddd	1234	2012
+E	Essen	Ost	5	eeeeeeeeeee	5678	2012
+F	Frankfurt	Airport	6	fffffffffff	6789	2012
+H	Hamburg	Norderstedt	4	hhhhhhhhhh	4567	2012
 DROP TABLE t1;
 DROP DATABASE innodb_memcache;
 SET @@global.tx_isolation= @tx_isolation;

=== added file 'mysql-test/suite/memcached/r/memc268_w_batch_7.result'
--- a/mysql-test/suite/memcached/r/memc268_w_batch_7.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memc268_w_batch_7.result	2012-03-14 11:02:31 +0000
@@ -0,0 +1,74 @@
+SET @auto_commit= @@global.autocommit;
+SET @@global.autocommit=0;
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+SET @lock_wait=@@global.lock_wait_timeout;
+SET @@global.lock_wait_timeout=1;
+SET @innodb_lock_wait=@@global.innodb_lock_wait_timeout;
+SET @@global.innodb_lock_wait_timeout=1;
+UNINSTALL PLUGIN daemon_memcached;
+INSERT INTO cache_policies VALUES("cache_policy", "innodb_only",
+"innodb_only", "innodb_only", "innodb_only");
+INSERT INTO config_options VALUES("separator", "|");
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+"c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+CREATE USER mysqltest1@localhost;
+COMMIT;
+connect  mysqltest1,localhost,mysqltest1,,;
+connection mysqltest1;
+USE test;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1        (c1 VARCHAR(32),
+c2 VARCHAR(1024),
+c21 VARCHAR(1024),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+COMMIT;
+connection default;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+SELECT @@global.daemon_memcached_w_batch_size;
+@@global.daemon_memcached_w_batch_size
+1048576
+SET @@global.daemon_memcached_w_batch_size=100;
+ERROR HY000: Variable 'daemon_memcached_w_batch_size' is a read only variable
+connection mysqltest1;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+COMMIT;
+connection default;
+Berlin|Mitte
+Darmstadt|City
+SELECT c1,c2,c21 FROM test.t1;
+c1	c2	c21
+connection mysqltest1;
+SELECT c1,c2,c21 FROM t1 FOR UPDATE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ROLLBACK;
+connection default;
+Here the memcached results:
+München|Perlach
+Nürnberg|Nord
+Oldenburg|Friesland
+SELECT c1,c2,c21 FROM test.t1;
+c1	c2	c21
+connection mysqltest1;
+SELECT c1,c2,c21 FROM test.t1 FOR UPDATE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+COMMIT;
+connection default;
+Here the memcached results:
+SELECT c1,c2,c21 FROM test.t1;
+c1	c2	c21
+connection mysqltest1;
+SELECT c1,c2,c21 FROM test.t1 FOR UPDATE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DROP TABLE test.t1;
+COMMIT;
+connection default;
+disconnect mysqltest1;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+SET @@global.tx_isolation= @tx_isolation;
+SET  @@global.autocommit=@auto_commit;
+SET @@global.lock_wait_timeout=@lock_wait;
+SET @@global.innodb_lock_wait_timeout=@innodb_lock_wait;

=== added file 'mysql-test/suite/memcached/r/memc269_funcs_1.result'
--- a/mysql-test/suite/memcached/r/memc269_funcs_1.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memc269_funcs_1.result	2012-03-14 11:02:31 +0000
@@ -0,0 +1,135 @@
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+UNINSTALL PLUGIN daemon_memcached;
+INSERT INTO cache_policies VALUES("cache_policy", "innodb_only",
+"innodb_only", "innodb_only", "innodb_only");
+INSERT INTO config_options VALUES("separator", "|");
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+"c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+USE test;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1        (c1 VARCHAR(32),
+c2 VARCHAR(1024),
+c21 VARCHAR(1024),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+INSERT INTO t1 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t1 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t1 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t1 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+Here the memcached results with D,B,H,C:
+Darmstadt|City
+Berlin|Mitte
+Hamburg|Norderstedt
+Cottbus|West
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+c1	c2	c21	c22	c23
+B	Berlin	Mitte	6	BERLIN
+C	Cottbus	West	7	COTTBUS
+D	Darmstadt	City	9	DARMSTADT
+H	Hamburg	Norderstedt	7	HAMBURG
+Here the memcached results after set:
+Essen|Ost
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+c1	c2	c21	c22	c23
+B	Berlin	Mitte	6	BERLIN
+C	Cottbus	West	7	COTTBUS
+D	Darmstadt	City	9	DARMSTADT
+E	Essen	Ost	5	ESSEN
+H	Hamburg	Norderstedt	7	HAMBURG
+Here the memcached results after add:
+Frankfurt|Sachsenhause
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+c1	c2	c21	c22	c23
+B	Berlin	Mitte	6	BERLIN
+C	Cottbus	West	7	COTTBUS
+D	Darmstadt	City	9	DARMSTADT
+E	Essen	Ost	5	ESSEN
+F	Frankfurt	Sachsenhause	9	FRANKFURT
+H	Hamburg	Norderstedt	7	HAMBURG
+Here the memcached results after replace:
+Frankfurt a. M.|Sachsenhausen
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+c1	c2	c21	c22	c23
+B	Berlin	Mitte	6	BERLIN
+C	Cottbus	West	7	COTTBUS
+D	Darmstadt	City	9	DARMSTADT
+E	Essen	Ost	5	ESSEN
+F	Frankfurt a. M.	Sachsenhausen	15	FRANKFURT A. M.
+H	Hamburg	Norderstedt	7	HAMBURG
+Here the memcached results after delete:
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+c1	c2	c21	c22	c23
+B	Berlin	Mitte	6	BERLIN
+C	Cottbus	West	7	COTTBUS
+D	Darmstadt	City	9	DARMSTADT
+E	Essen	Ost	5	ESSEN
+H	Hamburg	Norderstedt	7	HAMBURG
+Here the memcached results after add Frankfurt|:
+Frankfurt|
+Here the memcached results after add |Airport:
+Frankfurt|
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+c1	c2	c21	c22	c23
+B	Berlin	Mitte	6	BERLIN
+C	Cottbus	West	7	COTTBUS
+D	Darmstadt	City	9	DARMSTADT
+E	Essen	Ost	5	ESSEN
+F	Frankfurt	NULL	9	FRANKFURT
+H	Hamburg	Norderstedt	7	HAMBURG
+Here the memcached results after replace Frankfurt a.M.:
+Frankfurt a. M.|
+Here the memcached results after replace Sachsenhausen:
+|Sachsenhausen
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+c1	c2	c21	c22	c23
+B	Berlin	Mitte	6	BERLIN
+C	Cottbus	West	7	COTTBUS
+D	Darmstadt	City	9	DARMSTADT
+E	Essen	Ost	5	ESSEN
+F	NULL	Sachsenhausen	NULL	NULL
+H	Hamburg	Norderstedt	7	HAMBURG
+ALTER TABLE t1 MODIFY c2 int;
+Warnings:
+Warning	1366	Incorrect integer value: 'Berlin' for column 'c2' at row 1
+Warning	1366	Incorrect integer value: 'Cottbus' for column 'c2' at row 2
+Warning	1366	Incorrect integer value: 'Darmstadt' for column 'c2' at row 3
+Warning	1366	Incorrect integer value: 'Essen' for column 'c2' at row 4
+Warning	1366	Incorrect integer value: 'Hamburg' for column 'c2' at row 6
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	0	Mitte
+C	0	West
+D	0	City
+E	0	Ost
+F	NULL	Sachsenhausen
+H	0	Norderstedt
+Here the memcached results after add Frankfurt|:
+Here the memcached results after add |Airport:
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+c1	c2	c21	c22	c23
+B	0	Mitte	1	0
+C	0	West	1	0
+D	0	City	1	0
+E	0	Ost	1	0
+F	NULL	Sachsenhausen	NULL	NULL
+H	0	Norderstedt	1	0
+Here the memcached results after flush_all:
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+c1	c2	c21	c22	c23
+B	0	Mitte	1	0
+C	0	West	1	0
+D	0	City	1	0
+E	0	Ost	1	0
+F	NULL	Sachsenhausen	NULL	NULL
+H	0	Norderstedt	1	0
+DROP TABLE t1;
+DROP DATABASE innodb_memcache;
+SET @@global.tx_isolation= @tx_isolation;

=== added file 'mysql-test/suite/memcached/r/rpl_memc270_1.result'
--- a/mysql-test/suite/memcached/r/rpl_memc270_1.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/rpl_memc270_1.result	2012-03-14 11:02:31 +0000
@@ -0,0 +1,199 @@
+include/master-slave.inc
+Warnings:
+Note	1756	Sending passwords in plain text without SSL/TLS is extremely insecure.
+Note	1757	Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives.
+[connection master]
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+UNINSTALL PLUGIN daemon_memcached;
+INSERT INTO cache_policies VALUES("cache_policy", "innodb_only",
+"innodb_only", "innodb_only", "innodb_only");
+INSERT INTO config_options VALUES("separator", "|");
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+"c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+USE test;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1        (c1 VARCHAR(32),
+c2 VARCHAR(1024),
+c21 VARCHAR(1024),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+INSERT INTO t1 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t1 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t1 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t1 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+Here the memcached results with D,B,H,C:
+Darmstadt|City
+Berlin|Mitte
+Hamburg|Norderstedt
+Cottbus|West
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after set:
+Essen|Ost
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after add:
+Frankfurt|Sachsenhause
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+F	Frankfurt	Sachsenhause
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after replace:
+Frankfurt a. M.|Sachsenhausen
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+F	Frankfurt a. M.	Sachsenhausen
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after delete:
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after add Frankfurt|:
+Frankfurt|
+Here the memcached results after add |Airport:
+Frankfurt|
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+F	Frankfurt	NULL
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after replace Frankfurt a.M.:
+Frankfurt a. M.|
+Here the memcached results after replace Sachsenhausen:
+|Sachsenhausen
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+F	NULL	Sachsenhausen
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+DROP TABLE t1;
+DROP DATABASE innodb_memcache;
+SET @@global.tx_isolation= @tx_isolation;
+connection slave;
+include/rpl_end.inc
+connection server_2;
+connection server_2;
+connection server_2;
+connection server_2;
+connection server_1;
+connection server_1;
+connection server_1;
+connection server_1;
+connection server_2;
+connection server_2;
+connection server_1;
+connection server_2;
+connection server_2;
+connection server_1;
+connection server_1;
+connection server_1;
+connection default;
+disconnect server_2;
+disconnect server_2_1;
+disconnect server_1;
+disconnect server_1_1;

=== added file 'mysql-test/suite/memcached/r/rpl_memc271_2.result'
--- a/mysql-test/suite/memcached/r/rpl_memc271_2.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/rpl_memc271_2.result	2012-03-14 11:02:31 +0000
@@ -0,0 +1,199 @@
+include/master-slave.inc
+Warnings:
+Note	1756	Sending passwords in plain text without SSL/TLS is extremely insecure.
+Note	1757	Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives.
+[connection master]
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+UNINSTALL PLUGIN daemon_memcached;
+INSERT INTO cache_policies VALUES("cache_policy", "innodb_only",
+"innodb_only", "innodb_only", "innodb_only");
+INSERT INTO config_options VALUES("separator", "|");
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+"c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+USE test;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1        (c1 VARCHAR(32),
+c2 VARCHAR(1024),
+c21 VARCHAR(1024),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+INSERT INTO t1 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t1 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t1 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t1 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+Here the memcached results with D,B,H,C:
+Darmstadt|City
+Berlin|Mitte
+Hamburg|Norderstedt
+Cottbus|West
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after set:
+Essen|Ost
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after add:
+Frankfurt|Sachsenhause
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+F	Frankfurt	Sachsenhause
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after replace:
+Frankfurt a. M.|Sachsenhausen
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+F	Frankfurt a. M.	Sachsenhausen
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after delete:
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after add Frankfurt|:
+Frankfurt|
+Here the memcached results after add |Airport:
+Frankfurt|
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+F	Frankfurt	NULL
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+Here the memcached results after replace Frankfurt a.M.:
+Frankfurt a. M.|
+Here the memcached results after replace Sachsenhausen:
+|Sachsenhausen
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+F	NULL	Sachsenhausen
+H	Hamburg	Norderstedt
+sync_slave_with_master;
+connection slave;
+connection slave;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection master;
+DROP TABLE t1;
+DROP DATABASE innodb_memcache;
+SET @@global.tx_isolation= @tx_isolation;
+connection slave;
+include/rpl_end.inc
+connection server_2;
+connection server_2;
+connection server_2;
+connection server_2;
+connection server_1;
+connection server_1;
+connection server_1;
+connection server_1;
+connection server_2;
+connection server_2;
+connection server_1;
+connection server_2;
+connection server_2;
+connection server_1;
+connection server_1;
+connection server_1;
+connection default;
+disconnect server_2;
+disconnect server_2_1;
+disconnect server_1;
+disconnect server_1_1;

=== modified file 'mysql-test/suite/memcached/t/memc212_2_cols.test'
--- a/mysql-test/suite/memcached/t/memc212_2_cols.test	2012-03-06 11:15:53 +0000
+++ b/mysql-test/suite/memcached/t/memc212_2_cols.test	2012-03-14 11:02:31 +0000
@@ -183,6 +183,33 @@ EOF
 --sorted_result
 SELECT c1,c2,c21 FROM t1;
 
+ALTER TABLE t1 MODIFY c2 int;
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11212" ]
+};
+print "Here the memcached results after add Frankfurt|:\n";
+$val = $memd->add("F","Frankfurt|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after add |Airport:\n";
+$val = $memd->add("F","|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
 perl;
 use DBI;
 use Cache::Memcached;

=== modified file 'mysql-test/suite/memcached/t/memc213_2_intcols.test'
--- a/mysql-test/suite/memcached/t/memc213_2_intcols.test	2012-03-06 11:15:53 +0000
+++ b/mysql-test/suite/memcached/t/memc213_2_intcols.test	2012-03-14 11:02:31 +0000
@@ -90,6 +90,64 @@ EOF
 --sorted_result
 SELECT c1,c2,c21 FROM t1;
 
+ALTER TABLE t1 MODIFY c2 varchar(20);
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11213" ]
+};
+print "Here the memcached results with D,B,H,C:\n";
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$val = $memd->get("C");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after set:\n";
+$val = $memd->set("E","5|Ost");
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+# Reload the plugin
+UNINSTALL PLUGIN daemon_memcached;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11213" ]
+};
+print "Here the memcached results with D,B,H,C:\n";
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$val = $memd->get("C");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after set:\n";
+$val = $memd->set("E","5|Ost");
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
 DROP TABLE t1;
 DROP DATABASE innodb_memcache;
  

=== modified file 'mysql-test/suite/memcached/t/memc214_5_cols.test'
--- a/mysql-test/suite/memcached/t/memc214_5_cols.test	2012-03-06 11:15:53 +0000
+++ b/mysql-test/suite/memcached/t/memc214_5_cols.test	2012-03-14 11:02:31 +0000
@@ -147,6 +147,34 @@ EOF
 --sorted_result
 SELECT c1,c2,c21,c22,c23,c24,c25 FROM t1;
 
+ALTER TABLE t1 MODIFY c2 CHAR(30);
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11214" ]
+};
+print "Here the memcached results with D,B,H,C:\n";
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$val = $memd->get("C");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after add:\n";
+$val = $memd->add("F","Frankfurt|Airport|6|fffffffffff|6789|2012");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21,c22,c23,c24,c25 FROM t1;
+
 DROP TABLE t1;
 DROP DATABASE innodb_memcache;
  

=== added file 'mysql-test/suite/memcached/t/memc268_w_batch_7-master.opt'
--- a/mysql-test/suite/memcached/t/memc268_w_batch_7-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc268_w_batch_7-master.opt	2012-03-14 11:02:31 +0000
@@ -0,0 +1,6 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--loose-daemon_memcached_r_batch_size=2M
+--loose-daemon_memcached_w_batch_size=1M
+--loose-daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR
+--loose-daemon_memcached_option="-p11268"

=== added file 'mysql-test/suite/memcached/t/memc268_w_batch_7.test'
--- a/mysql-test/suite/memcached/t/memc268_w_batch_7.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc268_w_batch_7.test	2012-03-14 11:02:31 +0000
@@ -0,0 +1,159 @@
+--disable_query_log
+CALL mtr.add_suppression("daemon-memcached-r-batch-size': unsigned value");
+CALL mtr.add_suppression("Could not obtain server's UPN to be used as target service name");
+CALL mtr.add_suppression("InnoDB: Warning: MySQL is trying to drop");
+--enable_query_log
+
+source include/not_windows.inc;
+source include/have_innodb.inc;
+
+--enable_connect_log
+SET @auto_commit= @@global.autocommit;
+SET @@global.autocommit=0;
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+SET @lock_wait=@@global.lock_wait_timeout;
+SET @@global.lock_wait_timeout=1;
+SET @innodb_lock_wait=@@global.innodb_lock_wait_timeout;
+SET @@global.innodb_lock_wait_timeout=1;
+
+# Stop plugin befor innodb_memcached configuration
+UNINSTALL PLUGIN daemon_memcached;
+
+# Create the memcached tables
+--disable_query_log
+source suite/memcached/inc/memcache_config.inc;
+--enable_query_log
+
+INSERT INTO cache_policies VALUES("cache_policy", "innodb_only",
+				  "innodb_only", "innodb_only", "innodb_only");
+
+INSERT INTO config_options VALUES("separator", "|");
+
+# describe table for memcache
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+			       "c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+
+CREATE USER mysqltest1@localhost;
+COMMIT;
+connect (mysqltest1,localhost,mysqltest1,,);
+connection mysqltest1;
+
+USE test;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TABLE t1        (c1 VARCHAR(32),
+			c2 VARCHAR(1024),
+			c21 VARCHAR(1024),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+
+COMMIT;
+
+connection default;
+# Tables must exist before plugin can be started!
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+SELECT @@global.daemon_memcached_w_batch_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@global.daemon_memcached_w_batch_size=100;
+
+connection mysqltest1;
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+COMMIT;
+
+connection default;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11268" ]
+};
+#print "Here the memcached :\n";
+$val = $memd->set("B","Berlin|Mitte");
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->set("D","Darmstadt|City");
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+--sorted_result
+SELECT c1,c2,c21 FROM test.t1;
+
+connection mysqltest1;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT c1,c2,c21 FROM t1 FOR UPDATE;
+ROLLBACK;
+
+connection default;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11268" ]
+};
+print "Here the memcached results:\n";
+$val = $memd->add("M","München|Perlach");
+$val = $memd->get("M");
+if ($val) { print "$val\n"; }
+$val = $memd->add("N","Nürnberg|Nord");
+$val = $memd->get("N");
+if ($val) { print "$val\n"; }
+$val = $memd->add("O","Oldenburg|Friesland");
+$val = $memd->get("O");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+--sorted_result
+SELECT c1,c2,c21 FROM test.t1;
+
+connection mysqltest1;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT c1,c2,c21 FROM test.t1 FOR UPDATE;
+COMMIT;
+
+connection default;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11268" ]
+};
+print "Here the memcached results:\n";
+$val = $memd->replace("G","Gossen|C");
+if ($val) { print "$val\n"; }
+$val = $memd->get("G");
+if ($val) { print "$val\n"; }
+$val = $memd->replace("F","Frankfurt|S");
+if ($val) { print "$val\n"; }
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$val = $memd->replace("E","Essen|W");
+if ($val) { print "$val\n"; }
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+--sorted_result
+SELECT c1,c2,c21 FROM test.t1;
+
+connection mysqltest1;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT c1,c2,c21 FROM test.t1 FOR UPDATE;
+DROP TABLE test.t1;
+COMMIT;
+
+connection default;
+disconnect mysqltest1;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+ 
+SET @@global.tx_isolation= @tx_isolation;
+SET  @@global.autocommit=@auto_commit;
+SET @@global.lock_wait_timeout=@lock_wait;
+SET @@global.innodb_lock_wait_timeout=@innodb_lock_wait;

=== added file 'mysql-test/suite/memcached/t/memc269_funcs_1-master.opt'
--- a/mysql-test/suite/memcached/t/memc269_funcs_1-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc269_funcs_1-master.opt	2012-03-14 11:02:31 +0000
@@ -0,0 +1,4 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--loose-daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR
+--loose-daemon_memcached_option="-p11269"

=== added file 'mysql-test/suite/memcached/t/memc269_funcs_1.test'
--- a/mysql-test/suite/memcached/t/memc269_funcs_1.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc269_funcs_1.test	2012-03-14 11:02:31 +0000
@@ -0,0 +1,233 @@
+--disable_query_log
+CALL mtr.add_suppression("daemon-memcached-w-batch-size': unsigned");
+CALL mtr.add_suppression("Could not obtain server's UPN to be used as target service name");
+CALL mtr.add_suppression("InnoDB: Warning: MySQL is trying to drop");
+--enable_query_log
+
+source include/not_windows.inc;
+source include/have_innodb.inc;
+
+--enable_connect_log
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+
+# Stop plugin befor innodb_memcached configuration
+UNINSTALL PLUGIN daemon_memcached;
+
+# Create the memcached tables
+--disable_query_log
+source suite/memcached/inc/memcache_config.inc;
+--enable_query_log
+
+INSERT INTO cache_policies VALUES("cache_policy", "innodb_only",
+				  "innodb_only", "innodb_only", "innodb_only");
+
+INSERT INTO config_options VALUES("separator", "|");
+
+# describe table for memcache
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+			       "c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+
+USE test;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TABLE t1        (c1 VARCHAR(32),
+			c2 VARCHAR(1024),
+			c21 VARCHAR(1024),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+
+INSERT INTO t1 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t1 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t1 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t1 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+
+# Tables must exist before plugin can be started!
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11269" ]
+};
+print "Here the memcached results with D,B,H,C:\n";
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$val = $memd->get("C");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11269" ]
+};
+print "Here the memcached results after set:\n";
+$val = $memd->set("E","Essen|Ost");
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11269" ]
+};
+print "Here the memcached results after add:\n";
+$val = $memd->add("F","Frankfurt|Sachsenhause");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11269" ]
+};
+print "Here the memcached results after replace:\n";
+$val = $memd->replace("F","Frankfurt a. M.|Sachsenhausen");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11269" ]
+};
+print "Here the memcached results after delete:\n";
+$val = $memd->delete("F");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11269" ]
+};
+print "Here the memcached results after add Frankfurt|:\n";
+$val = $memd->add("F","Frankfurt|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after add |Airport:\n";
+$val = $memd->add("F","|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11269" ]
+};
+print "Here the memcached results after replace Frankfurt a.M.:\n";
+$val = $memd->replace("F","Frankfurt a. M.|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after replace Sachsenhausen:\n";
+$val = $memd->replace("F","|Sachsenhausen");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+
+ALTER TABLE t1 MODIFY c2 int;
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11269" ]
+};
+print "Here the memcached results after add Frankfurt|:\n";
+$val = $memd->add("F","Frankfurt|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after add |Airport:\n";
+$val = $memd->add("F","|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11269" ]
+};
+print "Here the memcached results after flush_all:\n";
+$memd->flush_all;
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21,length(c2) as c22,upper(c2) as c23 FROM t1;
+
+DROP TABLE t1;
+DROP DATABASE innodb_memcache;
+ 
+SET @@global.tx_isolation= @tx_isolation;

=== added file 'mysql-test/suite/memcached/t/rpl_memc270_1-master.opt'
--- a/mysql-test/suite/memcached/t/rpl_memc270_1-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/rpl_memc270_1-master.opt	2012-03-14 11:02:31 +0000
@@ -0,0 +1,7 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--loose-daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR
+--log-bin
+--binlog-format=mixed
+--loose-innodb_api_enable_binlog=1
+--loose-daemon_memcached_option="-p11271"

=== added file 'mysql-test/suite/memcached/t/rpl_memc270_1-slave.opt'
--- a/mysql-test/suite/memcached/t/rpl_memc270_1-slave.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/rpl_memc270_1-slave.opt	2012-03-14 11:02:31 +0000
@@ -0,0 +1,5 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--loose-daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR
+--loose-daemon_memcached_option="-p11271"
+--binlog-format=mixed

=== added file 'mysql-test/suite/memcached/t/rpl_memc270_1.test'
--- a/mysql-test/suite/memcached/t/rpl_memc270_1.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/rpl_memc270_1.test	2012-03-14 11:02:31 +0000
@@ -0,0 +1,251 @@
+source include/not_windows.inc;
+source include/have_innodb.inc;
+--disable_warnings
+source include/master-slave.inc;
+--enable_warnings
+
+--disable_query_log
+CALL mtr.add_suppression("daemon-memcached-w-batch-size': unsigned");
+CALL mtr.add_suppression("Could not obtain server's UPN to be used as target service name");
+CALL mtr.add_suppression("InnoDB: Warning: MySQL is trying to drop");
+--enable_query_log
+
+--enable_connect_log
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+
+# Stop plugin befor innodb_memcached configuration
+UNINSTALL PLUGIN daemon_memcached;
+
+# Create the memcached tables
+--disable_query_log
+source suite/memcached/inc/memcache_config.inc;
+--enable_query_log
+
+INSERT INTO cache_policies VALUES("cache_policy", "innodb_only",
+				  "innodb_only", "innodb_only", "innodb_only");
+
+INSERT INTO config_options VALUES("separator", "|");
+
+# describe table for memcache
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+			       "c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+
+USE test;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TABLE t1        (c1 VARCHAR(32),
+			c2 VARCHAR(1024),
+			c21 VARCHAR(1024),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+
+INSERT INTO t1 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t1 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t1 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t1 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+
+# Tables must exist before plugin can be started!
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results with D,B,H,C:\n";
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$val = $memd->get("C");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after set:\n";
+$val = $memd->set("E","Essen|Ost");
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after add:\n";
+$val = $memd->add("F","Frankfurt|Sachsenhause");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after replace:\n";
+$val = $memd->replace("F","Frankfurt a. M.|Sachsenhausen");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after delete:\n";
+$val = $memd->delete("F");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after add Frankfurt|:\n";
+$val = $memd->add("F","Frankfurt|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after add |Airport:\n";
+$val = $memd->add("F","|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after replace Frankfurt a.M.:\n";
+$val = $memd->replace("F","Frankfurt a. M.|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after replace Sachsenhausen:\n";
+$val = $memd->replace("F","|Sachsenhausen");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+DROP TABLE t1;
+DROP DATABASE innodb_memcache;
+ 
+SET @@global.tx_isolation= @tx_isolation;
+sync_slave_with_master;
+source include/rpl_end.inc;
+

=== added file 'mysql-test/suite/memcached/t/rpl_memc271_2-master.opt'
--- a/mysql-test/suite/memcached/t/rpl_memc271_2-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/rpl_memc271_2-master.opt	2012-03-14 11:02:31 +0000
@@ -0,0 +1,7 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--loose-daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR
+--log-bin
+--binlog-format=mixed
+--loose-innodb_api_enable_binlog=1
+--loose-daemon_memcached_option="-p11271"

=== added file 'mysql-test/suite/memcached/t/rpl_memc271_2-slave.opt'
--- a/mysql-test/suite/memcached/t/rpl_memc271_2-slave.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/rpl_memc271_2-slave.opt	2012-03-14 11:02:31 +0000
@@ -0,0 +1 @@
+--binlog-format=mixed

=== added file 'mysql-test/suite/memcached/t/rpl_memc271_2.test'
--- a/mysql-test/suite/memcached/t/rpl_memc271_2.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/rpl_memc271_2.test	2012-03-14 11:02:31 +0000
@@ -0,0 +1,254 @@
+source include/not_windows.inc;
+source include/have_innodb.inc;
+
+--disable_query_log
+CALL mtr.add_suppression("daemon-memcached-w-batch-size': unsigned");
+CALL mtr.add_suppression("Could not obtain server's UPN to be used as target service name");
+CALL mtr.add_suppression("InnoDB: Warning: MySQL is trying to drop");
+--enable_query_log
+
+--enable_connect_log
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+
+# Stop plugin befor innodb_memcached configuration
+UNINSTALL PLUGIN daemon_memcached;
+
+# Create the memcached tables
+--disable_query_log
+source suite/memcached/inc/memcache_config.inc;
+--enable_query_log
+
+INSERT INTO cache_policies VALUES("cache_policy", "innodb_only",
+				  "innodb_only", "innodb_only", "innodb_only");
+
+INSERT INTO config_options VALUES("separator", "|");
+
+# describe table for memcache
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+			       "c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+
+# Switch on replication
+--disable_warnings
+source include/master-slave.inc;
+--enable_warnings
+
+USE test;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TABLE t1        (c1 VARCHAR(32),
+			c2 VARCHAR(1024),
+			c21 VARCHAR(1024),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+
+INSERT INTO t1 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t1 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t1 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t1 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+
+# Tables must exist before plugin can be started!
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results with D,B,H,C:\n";
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$val = $memd->get("C");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after set:\n";
+$val = $memd->set("E","Essen|Ost");
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after add:\n";
+$val = $memd->add("F","Frankfurt|Sachsenhause");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after replace:\n";
+$val = $memd->replace("F","Frankfurt a. M.|Sachsenhausen");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after delete:\n";
+$val = $memd->delete("F");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after add Frankfurt|:\n";
+$val = $memd->add("F","Frankfurt|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after add |Airport:\n";
+$val = $memd->add("F","|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11271" ]
+};
+print "Here the memcached results after replace Frankfurt a.M.:\n";
+$val = $memd->replace("F","Frankfurt a. M.|");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after replace Sachsenhausen:\n";
+$val = $memd->replace("F","|Sachsenhausen");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+--echo sync_slave_with_master;
+sync_slave_with_master;
+
+connection slave;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection master;
+DROP TABLE t1;
+DROP DATABASE innodb_memcache;
+sync_slave_with_master;
+source include/rpl_end.inc;
+ 
+connection default;
+SET @@global.tx_isolation= @tx_isolation;
+

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk-wl5824 branch (horst.hunger:3857 to 3858) WL#5824horst.hunger14 Mar