1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
source include/not_valgrind.inc;
source include/have_memcached_plugin.inc;
source include/not_windows.inc;
#call mtr.add_suppression("InnoDB MEMCACHED: cannot map memcached to table contains virtual columns.");
--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", "|");
# describe table for memcache
INSERT INTO containers VALUES ("desc_t1", "test", "t1",
"c1", "c2", "0" ,"0", "0", "PRIMARY");
USE test;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1(
c1 VARCHAR(30) PRIMARY KEY,
c2 INT,
c3 INT GENERATED ALWAYS AS (c2 + c2) VIRTUAL
) ENGINE=INNODB;
INSERT INTO t1(c1, c2) VALUES("Wayne", 1);
INSERT INTO t1(c1, c2) VALUES("Stark", 2);
# Tables must exist before plugin can be started!
# Unfortunately virtual columns are not yet supported.
--let $memcached_address=127.0.0.1:11295
--source ../include/load_daemon_memcached_expecting_error.inc
show variables like 'daemon_memcached_option';
--sorted_result
SELECT c1,c2 FROM t1;
perl;
use DBI;
use Cache::Memcached;
my $memd = new Cache::Memcached {
'servers' => [ "127.0.0.1:11295" ],
'connect_timeout' => 20,
'select_timeout' => 20
};
$val = $memd->get("Stark");
if ($val) { print "VALUE is $val\n"; } else { print "NO_RESULT\n";}
$memd->disconnect_all;
EOF
--sorted_result
SELECT c1,c2 FROM t1;
perl;
use DBI;
use Cache::Memcached;
my $memd = new Cache::Memcached {
'servers' => [ "127.0.0.1:11295" ],
'connect_timeout' => 20,
'select_timeout' => 20
};
print "Set Mycroft|3:\n";
if (!$memd->set("Mycroft","3")) {
print "Error: Mycroft|3 cannot be inserted.\n";
}
$memd->disconnect_all;
EOF
--sorted_result
SELECT c1,c2 FROM t1;
drop table t1;
# Stop plugin before innodb_memcached configuration
UNINSTALL PLUGIN daemon_memcached;
DROP DATABASE innodb_memcache;
SET @@global.transaction_isolation= @transaction_isolation;
|