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#5824 | horst.hunger | 14 Mar |