SET @transaction_isolation= @@global.transaction_isolation; SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; ####################################################### # Test case with expected configuration 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"); USE test; DROP TABLE IF EXISTS t1; 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)) ENGINE = INNODB; DROP TABLE IF EXISTS t2; 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'; 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 are the memcached results with D,B,H,C: D|Darmstadt|City B|Berlin|Mitte H|Hamburg|Norderstedt C|Cottbus|West Here are the memcached results after set: Essen|Ost| Here are the memcached results after add: Frankfurt|Sachsenhause| Here are the memcached results after replace: Frankfurt a. M.|Sachsenhausen| Here are the memcached results after delete: Here are the memcached results after add Frankfurt|Airport: Frankfurt|Airport| Here are the memcached results after replace Frankfurt a.M|Sachsenhausen.: 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt ####################################################### # Test case with not existing table in container UNINSTALL PLUGIN daemon_memcached; DROP DATABASE innodb_memcache; 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", "t9", "c1", "c11,c2,c21", "c3", "c4", "c5", "PRIMARY"); 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt Here are the memcached results with D,B,H,C: Here are the memcached results after set: Here are the memcached results after add: Here are the memcached results after replace: Here are the memcached results after delete: Here are the memcached results after add Frankfurt|Airport: Here are 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt ####################################################### # Test case with not existing database in container UNINSTALL PLUGIN daemon_memcached; DROP DATABASE innodb_memcache; 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", "unknown", "t1", "c1", "c11,c2,c21", "c3", "c4", "c5", "PRIMARY"); 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt Here are the memcached results with D,B,H,C: Here are the memcached results after set: Here are the memcached results after add: Here are the memcached results after replace: Here are the memcached results after delete: Here are the memcached results after add Frankfurt|Airport: Here are 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt ####################################################### # Test case with not existing key column in container UNINSTALL PLUGIN daemon_memcached; DROP DATABASE innodb_memcache; 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", "unknown", "c11,c2,c21", "c3", "c4", "c5", "PRIMARY"); 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt Here are the memcached results with D,B,H,C: Here are the memcached results after set: Here are the memcached results after add: Here are the memcached results after replace: Here are the memcached results after delete: Here are the memcached results after add Frankfurt|Airport: Here are 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt ####################################################### # Test case with not existing value columns in container UNINSTALL PLUGIN daemon_memcached; DROP DATABASE innodb_memcache; 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", "unknown", "c3", "c4", "c5", "PRIMARY"); 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt Here are the memcached results with D,B,H,C: Here are the memcached results after set: Here are the memcached results after add: Here are the memcached results after replace: Here are the memcached results after delete: Here are the memcached results after add Frankfurt|Airport: Here are 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt ####################################################### # Test case with NULL value columns in container UNINSTALL PLUGIN daemon_memcached; DROP DATABASE innodb_memcache; 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", NULL, "c3", "c4", "c5", "PRIMARY"); 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt Here are the memcached results with D,B,H,C: Here are the memcached results after set: Here are the memcached results after add: Here are the memcached results after replace: Here are the memcached results after delete: Here are the memcached results after add Frankfurt|Airport: Here are 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt ####################################################### # Test case with not existing non-mandatory column in container UNINSTALL PLUGIN daemon_memcached; DROP DATABASE innodb_memcache; 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", "unknown", "unknown", "unknown", "PRIMARY"); INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so'; USE test; DELETE FROM t1 WHERE c1 IN ('E','F'); 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 are the memcached results with D,B,H,C: D|Darmstadt|City B|Berlin|Mitte H|Hamburg|Norderstedt C|Cottbus|West Here are the memcached results after set: Essen|Ost| Here are the memcached results after add: Frankfurt|Sachsenhause| Here are the memcached results after replace: Frankfurt a. M.|Sachsenhausen| Here are the memcached results after delete: Here are the memcached results after add Frankfurt|Airport: Frankfurt|Airport| Here are the memcached results after replace Frankfurt a.M|Sachsenhausen.: 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 E Essen Ost NULL F Frankfurt a. M. Sachsenhausen NULL H H Hamburg Norderstedt ####################################################### # Test case map to a partitioned table UNINSTALL PLUGIN daemon_memcached; DROP DATABASE innodb_memcache; 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"); USE test; DROP TABLE IF EXISTS t1; 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)) ENGINE = INNODB PARTITION BY KEY (c1); INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so'; USE test; DELETE FROM t1 WHERE c1 IN ('E','F'); SELECT c1,c11,c2,c21 FROM t1; c1 c11 c2 c21 Here are the memcached results with D,B,H,C: Here are the memcached results after set: Here are the memcached results after add: Here are the memcached results after replace: Here are the memcached results after delete: Here are the memcached results after add Frankfurt|Airport: Here are the memcached results after replace Frankfurt a.M|Sachsenhausen.: SELECT c1,c11,c2,c21 FROM t1; c1 c11 c2 c21 USE test; DROP TABLE t1; DROP TABLE t2; UNINSTALL PLUGIN daemon_memcached; DROP DATABASE innodb_memcache; SET @@global.transaction_isolation= @transaction_isolation;