List:Commits« Previous MessageNext Message »
From:horst.hunger Date:February 22 2012 11:27am
Subject:bzr push into mysql-trunk-wl5824 branch (horst.hunger:3817 to 3818) WL#5824
View as plain text  
 3818 horst.hunger@stripped	2012-02-22
      wl#5824: Added more tests.

    added:
      mysql-test/suite/memcached/r/memcached_index_1.result
      mysql-test/suite/memcached/r/memcached_index_2.result
      mysql-test/suite/memcached/r/memcached_view.result
      mysql-test/suite/memcached/t/memcached_index_1-master.opt
      mysql-test/suite/memcached/t/memcached_index_1.test
      mysql-test/suite/memcached/t/memcached_index_2-master.opt
      mysql-test/suite/memcached/t/memcached_index_2.test
      mysql-test/suite/memcached/t/memcached_mdl_4-master.opt
      mysql-test/suite/memcached/t/memcached_mdl_4.test
      mysql-test/suite/memcached/t/memcached_view-master.opt
      mysql-test/suite/memcached/t/memcached_view.test
    modified:
      mysql-test/collections/default.push
      mysql-test/suite/memcached/t/memcached_mdl.test
 3817 horst.hunger@stripped	2012-02-21
      WL#5824: Memecached test as experimental.

    modified:
      mysql-test/collections/default.experimental
=== modified file 'mysql-test/collections/default.push'
--- a/mysql-test/collections/default.push	2012-02-21 10:40:07 +0000
+++ b/mysql-test/collections/default.push	2012-02-22 11:26:10 +0000
@@ -2,4 +2,4 @@ perl mysql-test-run.pl --timer --force -
 perl mysql-test-run.pl --timer --force --parallel=auto --comment=main_ps_row --vardir=var-main-ps_row --suite=main --ps-protocol --mysqld=--binlog-format=row --experimental=collections/default.experimental --skip-ndb --skip-test-list=collections/disabled-per-push.list
 perl mysql-test-run.pl --timer --force --parallel=auto --comment=main_embedded --vardir=var-main_emebbed  --suite=main --embedded --experimental=collections/default.experimental --skip-ndb
 perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_4k_size --vardir=var-innodb-4k --experimental=collections/default.experimental --skip-ndb --suite=innodb --mysqld=--innodb-page-size=4k
-perl mysql-test-run.pl --timer --force --parallel=auto --comment=memcached --vardir=var-memcached --experimental=collections/default.experimental --skip-ndb --suite=memcached --mysqld=--innodb-page-size=4k
+perl mysql-test-run.pl --timer --force --parallel=auto --comment=memcached --vardir=var-memcached--experimental=collections/default.experimental --skip-ndb --suite=memcached --mysqld=--innodb-page-size=4k

=== added file 'mysql-test/suite/memcached/r/memcached_index_1.result'
--- a/mysql-test/suite/memcached/r/memcached_index_1.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memcached_index_1.result	2012-02-22 11:26:10 +0000
@@ -0,0 +1,101 @@
+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");
+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,c11", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+CREATE USER mysqltest1@localhost;
+USE test;
+CREATE TABLE t1        (c1  VARCHAR(32),
+c11 VARCHAR(32),
+c2  VARCHAR(1024),
+c21 VARCHAR(1024),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1,c11))
+ENGINE = INNODB;
+CREATE TABLE t2        (c1 VARCHAR(32),
+c2 VARCHAR(255),
+c21 VARCHAR(255),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+INSERT INTO t1 VALUES ('D','D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t1 VALUES ('B','B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t1 VALUES ('C','C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t1 VALUES ('H','H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+INSERT INTO t2 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t2 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t2 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t2 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+USE test;
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results with D,B,H,C:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results with D,B,H,C:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after set:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after add:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after replace:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after delete:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after add Frankfurt|Airport:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after replace Frankfurt a.M|Sachsenhausen.:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+DROP TABLE t1;
+DROP TABLE t2;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+SET @@global.tx_isolation= @tx_isolation;

=== added file 'mysql-test/suite/memcached/r/memcached_index_2.result'
--- a/mysql-test/suite/memcached/r/memcached_index_2.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memcached_index_2.result	2012-02-22 11:26:10 +0000
@@ -0,0 +1,142 @@
+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");
+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",
+"c11", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+CREATE USER mysqltest1@localhost;
+USE test;
+CREATE TABLE t1        (c1  VARCHAR(32),
+c11 VARCHAR(32),
+c2  VARCHAR(1024),
+c21 VARCHAR(1024),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1,c11))
+ENGINE = INNODB;
+CREATE TABLE t2        (c1 VARCHAR(32),
+c2 VARCHAR(255),
+c21 VARCHAR(255),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+INSERT INTO t1 VALUES ('D','D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t1 VALUES ('B','B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t1 VALUES ('C','C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t1 VALUES ('H','H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+INSERT INTO t2 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t2 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t2 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t2 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+USE test;
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results with D,B,H,C:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after set:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after add:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after replace:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after delete:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after add Frankfurt|Airport:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+Here the memcached results after replace Frankfurt a.M|Sachsenhausen.:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+UNINSTALL PLUGIN daemon_memcached;
+ALTER TABLE test.t1 DROP PRIMARY KEY;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+Here the memcached results after set:
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+UNINSTALL PLUGIN daemon_memcached;
+ALTER TABLE test.t1 ADD CONSTRAINT PRIMARY KEY (c11);
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+SHOW CREATE TABLE test.t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `c1` varchar(32) NOT NULL DEFAULT '',
+  `c11` varchar(32) NOT NULL DEFAULT '',
+  `c2` varchar(1024) DEFAULT NULL,
+  `c21` varchar(1024) DEFAULT NULL,
+  `c3` int(11) DEFAULT NULL,
+  `c4` bigint(20) unsigned DEFAULT NULL,
+  `c5` int(11) DEFAULT NULL,
+  PRIMARY KEY (`c11`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+Here the memcached results after set:
+Hamburg|Norderstedt
+SELECT c1,c11,c2,c21 FROM t1;
+c1	c11	c2	c21
+B	B	Berlin	Mitte
+C	C	Cottbus	West
+D	D	Darmstadt	City
+H	H	Hamburg	Norderstedt
+UNINSTALL PLUGIN daemon_memcached;
+ALTER TABLE test.t1 DROP COLUMN c1;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+Here the memcached results after add:
+Essen|Ost
+Frankfurt|Sachsenhause
+Hamburg|Norderstedt
+SELECT c11,c2,c21 FROM t1;
+c11	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+F	Frankfurt	Sachsenhause
+H	Hamburg	Norderstedt
+DROP TABLE t1;
+DROP TABLE t2;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+SET @@global.tx_isolation= @tx_isolation;

=== added file 'mysql-test/suite/memcached/r/memcached_view.result'
--- a/mysql-test/suite/memcached/r/memcached_view.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memcached_view.result	2012-02-22 11:26:10 +0000
@@ -0,0 +1,56 @@
+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");
+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_v1", "test", "v1",
+"vc1", "vc2,vc21", "vc3", "vc4", "vc5", "PRIMARY");
+CREATE USER mysqltest1@localhost;
+USE test;
+CREATE TABLE t1        (c1 VARCHAR(32),
+c2 VARCHAR(1024),
+c21 VARCHAR(1024),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+CREATE TABLE t2        (c1 VARCHAR(32),
+c2 VARCHAR(255),
+c21 VARCHAR(255),
+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);
+INSERT INTO t2 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t2 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t2 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t2 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+CREATE VIEW v1 AS SELECT t1.c1 AS vc1,t1.c2 AS vc2,t2.c21 AS vc21,
+t1.c3 AS vc3,t1.c4 AS vc4,t1.c5 AS vc5 FROM t1,t2 WHERE t1.c1=t2.c1;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+USE test;
+SELECT vc1,vc2,vc21 FROM v1;
+vc1	vc2	vc21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Norderstedt
+Here the memcached results with D,B,H,C:
+Here the memcached results after set:
+Here the memcached results after add:
+Here the memcached results after replace:
+Here the memcached results after delete:
+Here the memcached results after add Frankfurt|:
+Here the memcached results after add |Airport:
+Here the memcached results after replace Frankfurt a.M.:
+Here the memcached results after replace Sachsenhausen:
+DROP VIEW v1;
+DROP TABLE t1;
+DROP TABLE t2;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+SET @@global.tx_isolation= @tx_isolation;

=== added file 'mysql-test/suite/memcached/t/memcached_index_1-master.opt'
--- a/mysql-test/suite/memcached/t/memcached_index_1-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_index_1-master.opt	2012-02-22 11:26:10 +0000
@@ -0,0 +1,3 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR

=== added file 'mysql-test/suite/memcached/t/memcached_index_1.test'
--- a/mysql-test/suite/memcached/t/memcached_index_1.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_index_1.test	2012-02-22 11:26:10 +0000
@@ -0,0 +1,209 @@
+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");
+
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+
+source include/have_innodb.inc;
+
+# 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", "|");
+
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+			       "c1,c11", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+
+CREATE USER mysqltest1@localhost;
+connect (mysqltest1,localhost,mysqltest1,,);
+connection mysqltest1;
+USE test;
+
+CREATE TABLE t1        (c1  VARCHAR(32),
+                        c11 VARCHAR(32),
+			c2  VARCHAR(1024),
+			c21 VARCHAR(1024),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1,c11))
+ENGINE = INNODB;
+
+CREATE TABLE t2        (c1 VARCHAR(32),
+			c2 VARCHAR(255),
+			c21 VARCHAR(255),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+
+INSERT INTO t1 VALUES ('D','D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t1 VALUES ('B','B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t1 VALUES ('C','C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t1 VALUES ('H','H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+
+INSERT INTO t2 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t2 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t2 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t2 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+
+# Tables must exist before plugin can be started!
+connection default;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+connection mysqltest1;
+USE test;
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results with D,B,H,C:\n";
+$val = $memd->get("D|D");
+if ($val) { print "$val\n"; }
+$val = $memd->get("B|B");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H|H");
+if ($val) { print "$val\n"; }
+$val = $memd->get("C|C");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results after set:\n";
+$val = $memd->set("E|E","Essen|Ost");
+$val = $memd->get("E|E");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results after add:\n";
+$val = $memd->add("F|F","Frankfurt|Sachsenhause");
+$val = $memd->get("F|F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results after replace:\n";
+$val = $memd->replace("F|F","Frankfurt a. M.|Sachsenhausen");
+$val = $memd->get("F|F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results after delete:\n";
+$val = $memd->delete("F|F");
+$val = $memd->get("F|F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results after add Frankfurt|Airport:\n";
+$val = $memd->add("F|F","Frankfurt|Airport");
+$val = $memd->get("F|F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results after replace Frankfurt a.M|Sachsenhausen.:\n";
+$val = $memd->replace("F|F","Frankfurt a. M.|Sachsenhausen");
+$val = $memd->get("F|F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+DROP TABLE t1;
+DROP TABLE t2;
+connection default;
+disconnect mysqltest1;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+ 
+SET @@global.tx_isolation= @tx_isolation;

=== added file 'mysql-test/suite/memcached/t/memcached_index_2-master.opt'
--- a/mysql-test/suite/memcached/t/memcached_index_2-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_index_2-master.opt	2012-02-22 11:26:10 +0000
@@ -0,0 +1,3 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR

=== added file 'mysql-test/suite/memcached/t/memcached_index_2.test'
--- a/mysql-test/suite/memcached/t/memcached_index_2.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_index_2.test	2012-02-22 11:26:10 +0000
@@ -0,0 +1,271 @@
+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");
+
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+
+source include/have_innodb.inc;
+
+# 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", "|");
+
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+			       "c11", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+
+CREATE USER mysqltest1@localhost;
+connect (mysqltest1,localhost,mysqltest1,,);
+connection mysqltest1;
+USE test;
+
+CREATE TABLE t1        (c1  VARCHAR(32),
+                        c11 VARCHAR(32),
+			c2  VARCHAR(1024),
+			c21 VARCHAR(1024),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1,c11))
+ENGINE = INNODB;
+
+CREATE TABLE t2        (c1 VARCHAR(32),
+			c2 VARCHAR(255),
+			c21 VARCHAR(255),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+
+INSERT INTO t1 VALUES ('D','D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t1 VALUES ('B','B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t1 VALUES ('C','C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t1 VALUES ('H','H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+
+INSERT INTO t2 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t2 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t2 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t2 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+
+# Tables must exist before plugin can be started!
+connection default;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+connection mysqltest1;
+USE test;
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results after add Frankfurt|Airport:\n";
+$val = $memd->add("F","Frankfurt|Airport");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results after replace Frankfurt a.M|Sachsenhausen.:\n";
+$val = $memd->replace("F","Frankfurt a. M.|Sachsenhausen");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+connection default;
+# Stop plugin befor innodb_memcached configuration
+UNINSTALL PLUGIN daemon_memcached;
+ALTER TABLE test.t1 DROP PRIMARY KEY;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+connection mysqltest1;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results after set:\n";
+$val = $memd->set("E","Essen|Ost");
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+connection default;
+# Stop plugin befor innodb_memcached configuration
+UNINSTALL PLUGIN daemon_memcached;
+ALTER TABLE test.t1 ADD CONSTRAINT PRIMARY KEY (c11);
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+SHOW CREATE TABLE test.t1;
+
+connection mysqltest1;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results after set:\n";
+$val = $memd->set("E","Essen|Ost");
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+$val = $memd->add("F","Frankfurt|Sachsenhause");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c11,c2,c21 FROM t1;
+
+connection default;
+# Stop plugin befor innodb_memcached configuration
+UNINSTALL PLUGIN daemon_memcached;
+ALTER TABLE test.t1 DROP COLUMN c1;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+connection mysqltest1;
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+print "Here the memcached results after add:\n";
+$val = $memd->set("E","Essen|Ost");
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+$val = $memd->add("F","Frankfurt|Sachsenhause");
+$val = $memd->get("F");
+if ($val) { print "$val\n"; }
+$val = $memd->get("H");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c11,c2,c21 FROM t1;
+
+DROP TABLE t1;
+DROP TABLE t2;
+connection default;
+disconnect mysqltest1;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+ 
+SET @@global.tx_isolation= @tx_isolation;

=== modified file 'mysql-test/suite/memcached/t/memcached_mdl.test'
--- a/mysql-test/suite/memcached/t/memcached_mdl.test	2012-02-21 02:41:07 +0000
+++ b/mysql-test/suite/memcached/t/memcached_mdl.test	2012-02-22 11:26:10 +0000
@@ -64,9 +64,13 @@ USE test;
 SELECT c1,c2,c21 FROM t1;
 
 connection mysqltest1;
-send DROP TABLE IF EXISTS t1;
+#echo send DROP TABLE IF EXISTS t1;
+#send DROP TABLE IF EXISTS t1;
+#echo send ALTER TABLE t1 MODIFY c21 varchar(512);
+#send ALTER TABLE t1 MODIFY c21 varchar(512);
+echo send ALTER TABLE t1 DROP c21;
+send ALTER TABLE t1 DROP c21;
 
-connection mysqltest2;
 perl;
 use DBI;
 use Cache::Memcached;
@@ -86,14 +90,9 @@ $memd->disconnect_all;
 EOF
 
 # The following select is writing all to  memcache otherwisw memcache is empty.
---sorted_result
---error 1146
-SELECT c1,c2,c21 FROM t1;
-
-connection mysqltest1;
-reap;
+#--sorted_result
+#SELECT c1,c2,c21 FROM t1;
 
-connection mysqltest2;
 perl;
 use DBI;
 use Cache::Memcached;
@@ -108,12 +107,15 @@ $memd->disconnect_all;
 EOF
 
 # The following select is writing all to  memcache otherwisw memcache is empty.
---sorted_result
---error 1146
-SELECT c1,c2,c21 FROM t1;
+#--sorted_result
+#SELECT c1,c2,c21 FROM t1;
 
-connection mysqltest1;
-LOCK TABLES t2 WRITE;
+#connection mysqltest1;
+#echo reap;
+#reap;
+#SHOW CREATE TABLE t1;
+#echo send ALTER TABLE t1 MODIFY c2 varchar(512);
+#send ALTER TABLE t1 MODIFY c2 varchar(512);
 
 perl;
 use DBI;
@@ -129,9 +131,8 @@ $memd->disconnect_all;
 EOF
 
 # The following select is writing all to  memcache otherwisw memcache is empty.
---sorted_result
---error 1100
-SELECT c1,c2,c21 FROM t1;
+#--sorted_result
+#SELECT c1,c2,c21 FROM t1;
 
 perl;
 use DBI;
@@ -147,9 +148,8 @@ $memd->disconnect_all;
 EOF
 
 # The following select is writing all to  memcache otherwisw memcache is empty.
---sorted_result
---error 1100
-SELECT c1,c2,c21 FROM t1;
+#--sorted_result
+#SELECT c1,c2,c21 FROM t1;
 
 perl;
 use DBI;
@@ -165,9 +165,8 @@ $memd->disconnect_all;
 EOF
 
 # The following select is writing all to  memcache otherwisw memcache is empty.
---sorted_result
---error 1100
-SELECT c1,c2,c21 FROM t1;
+#--sorted_result
+#SELECT c1,c2,c21 FROM t1;
 
 perl;
 use DBI;
@@ -187,12 +186,8 @@ $memd->disconnect_all;
 EOF
 
 # The following select is writing all to  memcache otherwisw memcache is empty.
---sorted_result
---error 1100
-SELECT c1,c2,c21 FROM t1;
-
-connection mysqltest1;
-UNLOCK TABLES;
+#--sorted_result
+#SELECT c1,c2,c21 FROM t1;
 
 perl;
 use DBI;
@@ -212,12 +207,14 @@ $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 reap;
+reap;
+SHOW CREATE TABLE t1;
 --sorted_result
---error 1146
 SELECT c1,c2,c21 FROM t1;
-
-connection mysqltest1;
---error 1051
 DROP TABLE t1;
 DROP TABLE t2;
 connection default;

=== added file 'mysql-test/suite/memcached/t/memcached_mdl_4-master.opt'
--- a/mysql-test/suite/memcached/t/memcached_mdl_4-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_mdl_4-master.opt	2012-02-22 11:26:10 +0000
@@ -0,0 +1,3 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR

=== added file 'mysql-test/suite/memcached/t/memcached_mdl_4.test'
--- a/mysql-test/suite/memcached/t/memcached_mdl_4.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_mdl_4.test	2012-02-22 11:26:10 +0000
@@ -0,0 +1,178 @@
+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");
+
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+
+source include/have_innodb.inc;
+
+# 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", "|");
+
+INSERT INTO containers VALUES ("desc_v1", "test", "v1",
+			       "vc1", "vc2,vc21", "vc3", "vc4", "vc5", "PRIMARY");
+
+CREATE USER mysqltest1@localhost;
+connect (mysqltest1,localhost,mysqltest1,,);
+connection mysqltest1;
+USE test;
+
+CREATE TABLE t1        (c1 VARCHAR(32),
+			c2 VARCHAR(1024),
+			c21 VARCHAR(1024),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+
+CREATE TABLE t2        (c1 VARCHAR(32),
+			c2 VARCHAR(255),
+			c21 VARCHAR(255),
+			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);
+
+INSERT INTO t2 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t2 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t2 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t2 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+
+CREATE VIEW v1 AS SELECT t1.c1 AS vc1,t1.c2 AS vc2,t2.c21 AS vc21,
+                  t1.c3 AS vc3,t1.c4 AS vc4,t1.c5 AS vc5 FROM t1,t2 WHERE t1.c1=t2.c1;
+
+# Tables must exist before plugin can be started!
+connection default;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+connection mysqltest1;
+USE test;
+--sorted_result
+SELECT vc1,vc2,vc21 FROM v1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+DROP VIEW v1;
+DROP TABLE t1;
+DROP TABLE t2;
+connection default;
+disconnect mysqltest1;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+ 
+SET @@global.tx_isolation= @tx_isolation;

=== added file 'mysql-test/suite/memcached/t/memcached_view-master.opt'
--- a/mysql-test/suite/memcached/t/memcached_view-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_view-master.opt	2012-02-22 11:26:10 +0000
@@ -0,0 +1,3 @@
+$DAEMON_MEMCACHED_OPT
+$DAEMON_MEMCACHED_LOAD
+--daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR

=== added file 'mysql-test/suite/memcached/t/memcached_view.test'
--- a/mysql-test/suite/memcached/t/memcached_view.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_view.test	2012-02-22 11:26:10 +0000
@@ -0,0 +1,178 @@
+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");
+
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+
+source include/have_innodb.inc;
+
+# 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", "|");
+
+INSERT INTO containers VALUES ("desc_v1", "test", "v1",
+			       "vc1", "vc2,vc21", "vc3", "vc4", "vc5", "PRIMARY");
+
+CREATE USER mysqltest1@localhost;
+connect (mysqltest1,localhost,mysqltest1,,);
+connection mysqltest1;
+USE test;
+
+CREATE TABLE t1        (c1 VARCHAR(32),
+			c2 VARCHAR(1024),
+			c21 VARCHAR(1024),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+
+CREATE TABLE t2        (c1 VARCHAR(32),
+			c2 VARCHAR(255),
+			c21 VARCHAR(255),
+			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);
+
+INSERT INTO t2 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
+INSERT INTO t2 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
+INSERT INTO t2 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
+INSERT INTO t2 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
+
+CREATE VIEW v1 AS SELECT t1.c1 AS vc1,t1.c2 AS vc2,t2.c21 AS vc21,
+                  t1.c3 AS vc3,t1.c4 AS vc4,t1.c5 AS vc5 FROM t1,t2 WHERE t1.c1=t2.c1;
+
+# Tables must exist before plugin can be started!
+connection default;
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+# The following select is writing all to  memcache otherwisw memcache is empty.
+connection mysqltest1;
+USE test;
+--sorted_result
+SELECT vc1,vc2,vc21 FROM v1;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11211" ]
+};
+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
+
+DROP VIEW v1;
+DROP TABLE t1;
+DROP TABLE t2;
+connection default;
+disconnect mysqltest1;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+ 
+SET @@global.tx_isolation= @tx_isolation;

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk-wl5824 branch (horst.hunger:3817 to 3818) WL#5824horst.hunger24 Feb