3813 horst.hunger@stripped 2012-02-21
wl#5824: Added more mdl tests.
added:
mysql-test/suite/memcached/r/memcached_mdl_1.result
mysql-test/suite/memcached/r/memcached_mdl_2.result
mysql-test/suite/memcached/r/memcached_mdl_3.result
mysql-test/suite/memcached/t/memcached_mdl_1-master.opt
mysql-test/suite/memcached/t/memcached_mdl_1.test
mysql-test/suite/memcached/t/memcached_mdl_2-master.opt
mysql-test/suite/memcached/t/memcached_mdl_2.test
mysql-test/suite/memcached/t/memcached_mdl_3-master.opt
mysql-test/suite/memcached/t/memcached_mdl_3.test
3812 Jimmy Yang 2012-02-21
Add WITH_INNODB_MEMCACHED compilation configure option
modified:
CMakeLists.txt
config.h.cmake
mysql-test/suite/sys_vars/r/innodb_api_trx_level_basic.result
plugin/innodb_memcached/CMakeLists.txt
=== added file 'mysql-test/suite/memcached/r/memcached_mdl_1.result'
--- a/mysql-test/suite/memcached/r/memcached_mdl_1.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memcached_mdl_1.result 2012-02-21 09:41:32 +0000
@@ -0,0 +1,61 @@
+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", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+CREATE USER mysqltest1@localhost;
+CREATE USER mysqltest2@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);
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+USE test;
+SELECT c1,c2,c21 FROM t1;
+c1 c2 c21
+B Berlin Mitte
+C Cottbus West
+D Darmstadt City
+H Hamburg Norderstedt
+send DROP TABLE IF EXISTS t1
+DROP TABLE IF EXISTS t1;
+Here the memcached results with D,B,H,C:
+SELECT c1,c2,c21 FROM t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+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:
+SELECT c1,c2,c21 FROM t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+reap
+DROP TABLE t2;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+DROP USER mysqltest2@localhost;
+SET @@global.tx_isolation= @tx_isolation;
=== added file 'mysql-test/suite/memcached/r/memcached_mdl_2.result'
--- a/mysql-test/suite/memcached/r/memcached_mdl_2.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memcached_mdl_2.result 2012-02-21 09:41:32 +0000
@@ -0,0 +1,73 @@
+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", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+CREATE USER mysqltest1@localhost;
+CREATE USER mysqltest2@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);
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+USE test;
+SELECT c1,c2,c21 FROM t1;
+c1 c2 c21
+B Berlin Mitte
+C Cottbus West
+D Darmstadt City
+H Hamburg Norderstedt
+DROP TABLE IF EXISTS t1;
+Here the memcached results with D,B,H,C:
+SELECT c1,c2,c21 FROM t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+Here the memcached results after set:
+SELECT c1,c2,c21 FROM t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+LOCK TABLES t2 WRITE;
+Here the memcached results after add:
+SELECT c1,c2,c21 FROM t1;
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+Here the memcached results after replace:
+SELECT c1,c2,c21 FROM t1;
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+Here the memcached results after delete:
+SELECT c1,c2,c21 FROM t1;
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+Here the memcached results after add Frankfurt|:
+Here the memcached results after add |Airport:
+SELECT c1,c2,c21 FROM t1;
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+UNLOCK TABLES;
+Here the memcached results after replace Frankfurt a.M.:
+Here the memcached results after replace Sachsenhausen:
+SELECT c1,c2,c21 FROM t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+DROP TABLE t1;
+ERROR 42S02: Unknown table 'test.t1'
+DROP TABLE t2;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+DROP USER mysqltest2@localhost;
+SET @@global.tx_isolation= @tx_isolation;
=== added file 'mysql-test/suite/memcached/r/memcached_mdl_3.result'
--- a/mysql-test/suite/memcached/r/memcached_mdl_3.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memcached_mdl_3.result 2012-02-21 09:41:32 +0000
@@ -0,0 +1,61 @@
+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", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+CREATE USER mysqltest1@localhost;
+CREATE USER mysqltest2@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);
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+USE test;
+SELECT c1,c2,c21 FROM t1;
+c1 c2 c21
+B Berlin Mitte
+C Cottbus West
+D Darmstadt City
+H Hamburg Norderstedt
+send DROP TABLE IF EXISTS t1
+DROP TABLE IF EXISTS t1;
+Here the memcached results with D,B,H,C:
+SELECT c1,c2,c21 FROM t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+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:
+SELECT c1,c2,c21 FROM t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+reap
+DROP TABLE t2;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+DROP USER mysqltest2@localhost;
+SET @@global.tx_isolation= @tx_isolation;
=== added file 'mysql-test/suite/memcached/t/memcached_mdl_1-master.opt'
--- a/mysql-test/suite/memcached/t/memcached_mdl_1-master.opt 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_mdl_1-master.opt 2012-02-21 09:41:32 +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_1.test'
--- a/mysql-test/suite/memcached/t/memcached_mdl_1.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_mdl_1.test 2012-02-21 09:41:32 +0000
@@ -0,0 +1,194 @@
+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", "|");
+
+# describe table for memcache
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+ "c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+
+CREATE USER mysqltest1@localhost;
+CREATE USER mysqltest2@localhost;
+connect (mysqltest1,localhost,mysqltest1,,);
+connect (mysqltest2,localhost,mysqltest2,,);
+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);
+
+# 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 mysqltest2;
+USE test;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection mysqltest1;
+echo send DROP TABLE IF EXISTS t1;
+send DROP TABLE IF EXISTS 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
+
+connection mysqltest2;
+--error ER_NO_SUCH_TABLE
+SELECT c1,c2,c21 FROM 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"; }
+$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
+
+connection mysqltest2;
+--error ER_NO_SUCH_TABLE
+SELECT c1,c2,c21 FROM t1;
+
+connection mysqltest1;
+echo reap;
+reap;
+DROP TABLE t2;
+connection default;
+disconnect mysqltest1;
+disconnect mysqltest2;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+DROP USER mysqltest2@localhost;
+
+SET @@global.tx_isolation= @tx_isolation;
=== added file 'mysql-test/suite/memcached/t/memcached_mdl_2-master.opt'
--- a/mysql-test/suite/memcached/t/memcached_mdl_2-master.opt 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_mdl_2-master.opt 2012-02-21 09:41:32 +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_2.test'
--- a/mysql-test/suite/memcached/t/memcached_mdl_2.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_mdl_2.test 2012-02-21 09:41:32 +0000
@@ -0,0 +1,188 @@
+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", "|");
+
+# describe table for memcache
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+ "c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+
+CREATE USER mysqltest1@localhost;
+CREATE USER mysqltest2@localhost;
+connect (mysqltest1,localhost,mysqltest1,,);
+connect (mysqltest2,localhost,mysqltest2,,);
+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);
+
+# 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 mysqltest2;
+USE test;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection mysqltest1;
+echo send ALTER TABLE t1 DROP c21;
+send ALTER TABLE t1 DROP c21;
+
+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
+
+echo reap;
+reap;
+SHOW CREATE TABLE t1;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+DROP TABLE t1;
+DROP TABLE t2;
+connection default;
+disconnect mysqltest1;
+disconnect mysqltest2;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+DROP USER mysqltest2@localhost;
+
+SET @@global.tx_isolation= @tx_isolation;
=== added file 'mysql-test/suite/memcached/t/memcached_mdl_3-master.opt'
--- a/mysql-test/suite/memcached/t/memcached_mdl_3-master.opt 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_mdl_3-master.opt 2012-02-21 09:41:32 +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_3.test'
--- a/mysql-test/suite/memcached/t/memcached_mdl_3.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memcached_mdl_3.test 2012-02-21 09:41:32 +0000
@@ -0,0 +1,192 @@
+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", "|");
+
+# describe table for memcache
+INSERT INTO containers VALUES ("desc_t1", "test", "t1",
+ "c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+
+CREATE USER mysqltest1@localhost;
+CREATE USER mysqltest2@localhost;
+connect (mysqltest1,localhost,mysqltest1,,);
+connect (mysqltest2,localhost,mysqltest2,,);
+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);
+
+# 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 mysqltest2;
+USE test;
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+
+connection mysqltest1;
+echo send DROP TABLE IF EXISTS t1;
+send DROP TABLE IF EXISTS t1;
+
+connection mysqltest2;
+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
+
+--error ER_NO_SUCH_TABLE
+SELECT c1,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
+
+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
+
+--error ER_NO_SUCH_TABLE
+SELECT c1,c2,c21 FROM t1;
+
+connection mysqltest1;
+echo reap;
+reap;
+DROP TABLE t2;
+connection default;
+disconnect mysqltest1;
+disconnect mysqltest2;
+DROP DATABASE innodb_memcache;
+DROP USER mysqltest1@localhost;
+DROP USER mysqltest2@localhost;
+
+SET @@global.tx_isolation= @tx_isolation;
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk-wl5824 branch (horst.hunger:3812 to 3813) WL#5824 | horst.hunger | 21 Feb |