source include/not_valgrind.inc; source include/have_memcached_plugin.inc; source include/not_windows.inc; --disable_query_log CALL mtr.add_suppression("daemon-memcached-w-batch-size': unsigned"); CALL mtr.add_suppression("Could not obtain server's UPN to be used as target service name"); CALL mtr.add_suppression("Warning: MySQL is trying to drop"); --enable_query_log --enable_connect_log SET @transaction_isolation= @@global.transaction_isolation; SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; # Create the memcached tables --disable_query_log source include/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 config_options VALUES("table_map_delimiter", "."); --echo # --echo #Bug 20400373 INNODB MEMCACHE CRASH WHEN RETRIEVING EXPIRED --echo # RECORD WITH @@ TABLE MAPPING # describe table for memcache INSERT INTO containers VALUES ("desc_t1", "test", "t1", "c1", "c2", "c3", "c4", "c5", "PRIMARY"); INSERT INTO containers VALUES ('bb','test','demo','c1','c1,c22','c3', 'c4','c5','PRIMARY'); USE test; --disable_warnings DROP TABLE IF EXISTS t1; DROP TABLE IF EXISTS demo; --enable_warnings CREATE TABLE t1 (c1 VARCHAR(32), c2 VARCHAR(1024), c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1)) ENGINE = INNODB; INSERT INTO t1 VALUES ('D', 'Darmstadt', 0, 0, 0); CREATE TABLE demo (c1 VARCHAR(32) PRIMARY KEY NOT NULL, c21 VARCHAR(1024), c22 VARCHAR(1024), c3 INT(11), c4 BIGINT(20) UNSIGNED, c5 INT(11)) ENGINE = INNODB; INSERT INTO demo VALUES('b','aa','aa',0,2,unix_timestamp()-60); # Tables must exist before plugin can be started! --let $memcached_address=127.0.0.1:11282 --source ../include/load_daemon_memcached_expecting_success.inc --sorted_result SELECT c1,c2 FROM t1; SELECT c1,c21 FROM demo; perl; use DBI; use Cache::Memcached; my $memd = new Cache::Memcached { 'servers' => [ "127.0.0.1:11282" ], 'connect_timeout' => 20, 'select_timeout' => 20 }; $val = $memd->get("@@bb"); $val = $memd->get("b"); if ($val) { print "$val\n"; } $memd->disconnect_all; EOF DROP TABLE t1; DROP TABLE demo; UNINSTALL PLUGIN daemon_memcached; DROP DATABASE innodb_memcache; SET @@global.transaction_isolation= @transaction_isolation;