List:Commits« Previous MessageNext Message »
From:horst.hunger Date:March 12 2012 5:26pm
Subject:bzr push into mysql-trunk-wl5824 branch (horst.hunger:3853 to 3854) WL#5824
View as plain text  
 3854 horst.hunger@stripped	2012-03-12
      wl#5824: Test of batch options.

    added:
      mysql-test/suite/memcached/r/memc265_r_batch_5.result
      mysql-test/suite/memcached/r/memc266_w_batch_4.result
      mysql-test/suite/memcached/r/memc267_w_batch_5.result
      mysql-test/suite/memcached/t/memc265_r_batch_5-master.opt
      mysql-test/suite/memcached/t/memc265_r_batch_5.test
      mysql-test/suite/memcached/t/memc266_w_batch_4-master.opt
      mysql-test/suite/memcached/t/memc266_w_batch_4.test
      mysql-test/suite/memcached/t/memc267_w_batch_5-master.opt
      mysql-test/suite/memcached/t/memc267_w_batch_5.test
    modified:
      mysql-test/suite/memcached/r/memc263_r_batch_4.result
      mysql-test/suite/memcached/t/memc263_r_batch_4.test
 3853 horst.hunger@stripped	2012-03-12
      wl5824: Typo in default.release.in

    modified:
      mysql-test/collections/default.release.in
=== modified file 'mysql-test/suite/memcached/r/memc263_r_batch_4.result'
--- a/mysql-test/suite/memcached/r/memc263_r_batch_4.result	2012-03-12 10:58:11 +0000
+++ b/mysql-test/suite/memcached/r/memc263_r_batch_4.result	2012-03-12 17:25:21 +0000
@@ -1,13 +1,12 @@
 SET @auto_commit= @@global.autocommit;
 SET @innodb_lock_wait_timeout_old=@@global.innodb_lock_wait_timeout;
+SET @@global.innodb_lock_wait_timeout=1;
 SET @lock_wait_timeout_old=@@global.lock_wait_timeout;
+SET @@global.lock_wait_timeout=1;
 SET @@global.autocommit=0;
 SET @tx_isolation= @@global.tx_isolation;
 SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 SET @wait= @@global.wait_timeout;
-SET @@global.wait_timeout=1;
-SET @@global.lock_wait_timeout=1;
-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");
@@ -62,24 +61,51 @@ B	Berlin	Mitte
 C	Cottbus	West
 D	Darmstadt	City
 H	Hamburg	Norderstedt
+ROLLBACK;
 connection default;
 Here the memcached results:
+Cottbus|West
+Darmstadt|City
 SELECT c1,c2,c21 FROM test.t1;
 c1	c2	c21
 B	Berlin	Mitte
 C	Cottbus	West
 D	Darmstadt	City
 H	Hamburg	Norderstedt
-connection default;
+connection mysqltest1;
 SELECT c1,c2,c21 FROM test.t1 FOR UPDATE;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+ROLLBACK;
+connection default;
+Here the memcached results:
+Darmstadt|City
+Hamburg|Norderstedt
+Darmstadt|City
+Hamburg|Norderstedt
+SELECT c1,c2,c21 FROM test.t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection mysqltest1;
+SELECT c1,c2,c21 FROM t1 FOR UPDATE;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
 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.wait_timeout=@wait;
 SET @@global.innodb_lock_wait_timeout=@innodb_lock_wait_timeout_old;
 SET @@global.lock_wait_timeout=@lock_wait_timeout_old;

=== added file 'mysql-test/suite/memcached/r/memc265_r_batch_5.result'
--- a/mysql-test/suite/memcached/r/memc265_r_batch_5.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memc265_r_batch_5.result	2012-03-12 17:25:21 +0000
@@ -0,0 +1,122 @@
+SET @auto_commit= @@global.autocommit;
+SET @innodb_lock_wait_timeout_old=@@global.innodb_lock_wait_timeout;
+SET @@global.innodb_lock_wait_timeout=1;
+SET @lock_wait_timeout_old=@@global.lock_wait_timeout;
+SET @@global.lock_wait_timeout=1;
+SET @@global.autocommit=0;
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+SET @wait= @@global.wait_timeout;
+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;
+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);
+COMMIT;
+connection default;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+SELECT @@global.daemon_memcached_r_batch_size;
+@@global.daemon_memcached_r_batch_size
+6
+SET @@global.daemon_memcached_r_batch_size=100;
+ERROR HY000: Variable 'daemon_memcached_r_batch_size' is a read only variable
+connection mysqltest1;
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+COMMIT;
+connection default;
+Here the memcached results:
+Berlin|Mitte
+Berlin|Mitte
+Berlin|Mitte
+Cottbus|West
+Berlin|Mitte
+Cottbus|West
+SELECT c1,c2,c21 FROM test.t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection mysqltest1;
+SELECT c1,c2,c21 FROM t1 FOR UPDATE;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+ROLLBACK;
+connection default;
+Here the memcached results:
+Berlin|Mitte
+Berlin|Mitte
+Berlin|Mitte
+Cottbus|West
+Berlin|Mitte
+Cottbus|West
+Darmstadt|City
+Darmstadt|City
+Darmstadt|City
+Darmstadt|City
+Darmstadt|City
+Darmstadt|City
+SELECT c1,c2,c21 FROM test.t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection mysqltest1;
+SELECT c1,c2,c21 FROM test.t1 FOR UPDATE;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+ROLLBACK;
+connection default;
+Here the memcached results:
+Darmstadt|City
+Hamburg|Norderstedt
+Darmstadt|City
+Hamburg|Norderstedt
+Darmstadt|City
+SELECT c1,c2,c21 FROM test.t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+connection mysqltest1;
+SELECT c1,c2,c21 FROM 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.innodb_lock_wait_timeout=@innodb_lock_wait_timeout_old;
+SET @@global.lock_wait_timeout=@lock_wait_timeout_old;

=== added file 'mysql-test/suite/memcached/r/memc266_w_batch_4.result'
--- a/mysql-test/suite/memcached/r/memc266_w_batch_4.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memc266_w_batch_4.result	2012-03-12 17:25:21 +0000
@@ -0,0 +1,128 @@
+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
+4
+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;
+1
+1
+1
+1
+SELECT c1,c2,c21 FROM test.t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	Süd
+D	Darmstadt	City
+H	Hamburg	Altona
+connection mysqltest1;
+SELECT c1,c2,c21 FROM t1 FOR UPDATE;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	Süd
+D	Darmstadt	City
+H	Hamburg	Altona
+ROLLBACK;
+connection default;
+Here the memcached results:
+1
+1
+1
+1
+1
+1
+1
+1
+SELECT c1,c2,c21 FROM test.t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	Süd
+D	Darmstadt	City
+E	Essen	West
+F	Frankfurt	Sachsenhausen
+G	Gossen	City
+H	Hamburg	Altona
+M	München	Perlach
+N	Nürnberg	Nord
+O	Oldenburg	Friesland
+P	Paderborn	City
+S	Stuttgart	Schwaben
+connection mysqltest1;
+SELECT c1,c2,c21 FROM test.t1 FOR UPDATE;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	Süd
+D	Darmstadt	City
+E	Essen	West
+F	Frankfurt	Sachsenhausen
+G	Gossen	City
+H	Hamburg	Altona
+M	München	Perlach
+N	Nürnberg	Nord
+O	Oldenburg	Friesland
+P	Paderborn	City
+S	Stuttgart	Schwaben
+COMMIT;
+connection default;
+Here the memcached results:
+1
+1
+1
+SELECT c1,c2,c21 FROM test.t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	Süd
+D	Darmstadt	City
+E	Essen	West
+F	Frankfurt	Sachsenhausen
+G	Gossen	City
+H	Hamburg	Altona
+M	München	Perlach
+N	Nürnberg	Nord
+O	Oldenburg	Friesland
+P	Paderborn	City
+S	Stuttgart	Schwaben
+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/memc267_w_batch_5.result'
--- a/mysql-test/suite/memcached/r/memc267_w_batch_5.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memc267_w_batch_5.result	2012-03-12 17:25:21 +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
+4
+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;

=== modified file 'mysql-test/suite/memcached/t/memc263_r_batch_4.test'
--- a/mysql-test/suite/memcached/t/memc263_r_batch_4.test	2012-03-12 10:58:11 +0000
+++ b/mysql-test/suite/memcached/t/memc263_r_batch_4.test	2012-03-12 17:25:21 +0000
@@ -10,14 +10,13 @@ source include/have_innodb.inc;
 --enable_connect_log
 SET @auto_commit= @@global.autocommit;
 SET @innodb_lock_wait_timeout_old=@@global.innodb_lock_wait_timeout;
+SET @@global.innodb_lock_wait_timeout=1;
 SET @lock_wait_timeout_old=@@global.lock_wait_timeout;
+SET @@global.lock_wait_timeout=1;
 SET @@global.autocommit=0;
 SET @tx_isolation= @@global.tx_isolation;
 SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 SET @wait= @@global.wait_timeout;
-SET @@global.wait_timeout=1;
-SET @@global.lock_wait_timeout=1;
-SET @@global.innodb_lock_wait_timeout=1;
 
 # Stop plugin befor innodb_memcached configuration
 UNINSTALL PLUGIN daemon_memcached;
@@ -92,7 +91,7 @@ SELECT c1,c2,c21 FROM test.t1;
 connection mysqltest1;
 --sorted_result
 SELECT c1,c2,c21 FROM t1 FOR UPDATE;
-#ROLLBACK;
+ROLLBACK;
 
 connection default;
 perl;
@@ -102,6 +101,8 @@ my $memd = new Cache::Memcached {
   'servers' => [ "127.0.0.1:11263" ]
 };
 print "Here the memcached results:\n";
+$val = $memd->get("C");
+if ($val) { print "$val\n"; }
 $val = $memd->get("D");
 if ($val) { print "$val\n"; }
 $memd->disconnect_all;
@@ -109,10 +110,37 @@ EOF
 --sorted_result
 SELECT c1,c2,c21 FROM test.t1;
 
-connection default;
---error 1205
+connection mysqltest1;
+#--error 1205
 SELECT c1,c2,c21 FROM test.t1 FOR UPDATE;
+ROLLBACK;
+
+connection default;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11263" ]
+};
+print "Here the memcached results:\n";
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+--sorted_result
+SELECT c1,c2,c21 FROM test.t1;
+
+connection mysqltest1;
+--sorted_result
+SELECT c1,c2,c21 FROM t1 FOR UPDATE;
 DROP TABLE test.t1;
+COMMIT;
 
 connection default;
 disconnect mysqltest1;
@@ -121,6 +149,5 @@ DROP USER mysqltest1@localhost;
  
 SET @@global.tx_isolation= @tx_isolation;
 SET  @@global.autocommit=@auto_commit;
-SET @@global.wait_timeout=@wait;
 SET @@global.innodb_lock_wait_timeout=@innodb_lock_wait_timeout_old;
 SET @@global.lock_wait_timeout=@lock_wait_timeout_old;

=== added file 'mysql-test/suite/memcached/t/memc265_r_batch_5-master.opt'
--- a/mysql-test/suite/memcached/t/memc265_r_batch_5-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc265_r_batch_5-master.opt	2012-03-12 17:25:21 +0000
@@ -0,0 +1,5 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--loose-daemon_memcached_r_batch_size=6
+--loose-daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR
+--loose-daemon_memcached_option="-p11265"

=== added file 'mysql-test/suite/memcached/t/memc265_r_batch_5.test'
--- a/mysql-test/suite/memcached/t/memc265_r_batch_5.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc265_r_batch_5.test	2012-03-12 17:25:21 +0000
@@ -0,0 +1,183 @@
+--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 @innodb_lock_wait_timeout_old=@@global.innodb_lock_wait_timeout;
+SET @@global.innodb_lock_wait_timeout=1;
+SET @lock_wait_timeout_old=@@global.lock_wait_timeout;
+SET @@global.lock_wait_timeout=1;
+SET @@global.autocommit=0;
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+SET @wait= @@global.wait_timeout;
+
+# 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;
+
+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);
+COMMIT;
+
+connection default;
+# Tables must exist before plugin can be started!
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+SELECT @@global.daemon_memcached_r_batch_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@global.daemon_memcached_r_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:11265" ]
+};
+print "Here the memcached results:\n";
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("C");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("C");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+--sorted_result
+SELECT c1,c2,c21 FROM test.t1;
+
+connection mysqltest1;
+--sorted_result
+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:11265" ]
+};
+print "Here the memcached results:\n";
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("C");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("C");
+if ($val) { print "$val\n"; }
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+--sorted_result
+SELECT c1,c2,c21 FROM test.t1;
+
+connection mysqltest1;
+SELECT c1,c2,c21 FROM test.t1 FOR UPDATE;
+ROLLBACK;
+
+connection default;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11265" ]
+};
+print "Here the memcached results:\n";
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$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;
+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.innodb_lock_wait_timeout=@innodb_lock_wait_timeout_old;
+SET @@global.lock_wait_timeout=@lock_wait_timeout_old;
+

=== added file 'mysql-test/suite/memcached/t/memc266_w_batch_4-master.opt'
--- a/mysql-test/suite/memcached/t/memc266_w_batch_4-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc266_w_batch_4-master.opt	2012-03-12 17:25:21 +0000
@@ -0,0 +1,5 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--loose-daemon_memcached_w_batch_size=4
+--loose-daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR
+--loose-daemon_memcached_option="-p11266"

=== added file 'mysql-test/suite/memcached/t/memc266_w_batch_4.test'
--- a/mysql-test/suite/memcached/t/memc266_w_batch_4.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc266_w_batch_4.test	2012-03-12 17:25:21 +0000
@@ -0,0 +1,161 @@
+--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:11266" ]
+};
+#print "Here the memcached :\n";
+$val = $memd->set("B","Berlin|Mitte");
+if ($val) { print "$val\n"; }
+$val = $memd->set("D","Darmstadt|City");
+if ($val) { print "$val\n"; }
+$val = $memd->set("C","Cottbus|Süd");
+if ($val) { print "$val\n"; }
+$val = $memd->set("H","Hamburg|Altona");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+--sorted_result
+SELECT c1,c2,c21 FROM test.t1;
+
+connection mysqltest1;
+--sorted_result
+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:11266" ]
+};
+print "Here the memcached results:\n";
+$val = $memd->add("M","München|Perlach");
+if ($val) { print "$val\n"; }
+$val = $memd->add("N","Nürnberg|Nord");
+if ($val) { print "$val\n"; }
+$val = $memd->add("O","Oldenburg|Friesland");
+if ($val) { print "$val\n"; }
+$val = $memd->add("S","Stuttgart|Schwaben");
+if ($val) { print "$val\n"; }
+$val = $memd->add("G","Gossen|City");
+if ($val) { print "$val\n"; }
+$val = $memd->add("F","Frankfurt|Sachsenhausen");
+if ($val) { print "$val\n"; }
+$val = $memd->add("E","Essen|West");
+if ($val) { print "$val\n"; }
+$val = $memd->add("P","Paderborn|City");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+--sorted_result
+SELECT c1,c2,c21 FROM test.t1;
+
+connection mysqltest1;
+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:11266" ]
+};
+print "Here the memcached results:\n";
+$val = $memd->replace("G","Gossen|C");
+if ($val) { print "$val\n"; }
+$val = $memd->replace("F","Frankfurt|S");
+if ($val) { print "$val\n"; }
+$val = $memd->replace("E","Essen|W");
+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/memc267_w_batch_5-master.opt'
--- a/mysql-test/suite/memcached/t/memc267_w_batch_5-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc267_w_batch_5-master.opt	2012-03-12 17:25:21 +0000
@@ -0,0 +1,6 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--loose-daemon_memcached_r_batch_size=9
+--loose-daemon_memcached_w_batch_size=4
+--loose-daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR
+--loose-daemon_memcached_option="-p11267"

=== added file 'mysql-test/suite/memcached/t/memc267_w_batch_5.test'
--- a/mysql-test/suite/memcached/t/memc267_w_batch_5.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc267_w_batch_5.test	2012-03-12 17:25:21 +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:11267" ]
+};
+#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:11267" ]
+};
+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:11267" ]
+};
+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;

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