214 lines
5.6 KiB
Plaintext
214 lines
5.6 KiB
Plaintext
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");
|
|
CALL mtr.add_suppression("Error: MySQL is freeing a thd");
|
|
--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 containers VALUES ("desc_t1", "test", "t1",
|
|
"c1", "c11,c2,c21", "c3", "c4", "c5", "it1");
|
|
|
|
USE test;
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t2;
|
|
--enable_warnings
|
|
|
|
CREATE TABLE t2 (c1 VARCHAR(32),
|
|
c2 VARCHAR(255),
|
|
c21 VARCHAR(255),
|
|
c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
|
|
ENGINE = INNODB;
|
|
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1;
|
|
--enable_warnings
|
|
|
|
CREATE TABLE t1 (c1 VARCHAR(32),
|
|
c11 VARCHAR(32),
|
|
c2 VARCHAR(1024),
|
|
c21 VARCHAR(1024),
|
|
c3 INT, c4 BIGINT UNSIGNED, c5 INT,
|
|
FOREIGN KEY ft1(c11) REFERENCES t2(c1))
|
|
|
|
ENGINE = INNODB;
|
|
|
|
CREATE UNIQUE INDEX it1 ON t1 (c1);
|
|
|
|
INSERT INTO t2 VALUES ('Dd', 'Hessen', 'M', 0, 0, 0);
|
|
INSERT INTO t2 VALUES ('Bb', 'Brandenburg', 'M', 0, 0, 0);
|
|
INSERT INTO t2 VALUES ('Cc', 'Lausitz', 'S', 0, 0 ,0);
|
|
INSERT INTO t2 VALUES ('Hh', 'Schleswig-Holstein', 'S', 0, 0, 0);
|
|
|
|
INSERT INTO t1 VALUES ('D','Dd', 'Darmstadt', 'City', 0, 0, 0);
|
|
INSERT INTO t1 VALUES ('B','Bb', 'Berlin', 'Mitte', 0, 0, 0);
|
|
INSERT INTO t1 VALUES ('C','Cc', 'Cottbus', 'West', 0, 0 ,0);
|
|
INSERT INTO t1 VALUES ('H','Hh', 'Hamburg', 'Norderstedt', 0, 0, 0);
|
|
|
|
# Tables must exist before plugin can be started!
|
|
--let $memcached_address=127.0.0.1:11220
|
|
--source ../include/load_daemon_memcached_expecting_success.inc
|
|
|
|
--sorted_result
|
|
SELECT c1,c2,c21 FROM t1;
|
|
|
|
perl;
|
|
use DBI;
|
|
use Cache::Memcached;
|
|
my $memd = new Cache::Memcached {
|
|
'servers' => [ "127.0.0.1:11220" ],
|
|
'connect_timeout' => 20,
|
|
'select_timeout' => 20
|
|
};
|
|
print "Here are 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 t1.c1,t1.c2,t1.c21,t2.c2,t2.c21 FROM t1,t2 WHERE t1.c11=t2.c1;
|
|
|
|
perl;
|
|
use DBI;
|
|
use Cache::Memcached;
|
|
my $memd = new Cache::Memcached {
|
|
'servers' => [ "127.0.0.1:11220" ],
|
|
'connect_timeout' => 20,
|
|
'select_timeout' => 20
|
|
};
|
|
print "Here are the memcached results after set:\n";
|
|
$val = $memd->set("E","Dd|Essen|Ost");
|
|
$val = $memd->get("E");
|
|
if ($val) { print "$val\n"; }
|
|
$memd->disconnect_all;
|
|
EOF
|
|
|
|
--sorted_result
|
|
SELECT t1.c1,t1.c2,t1.c21,t2.c2,t2.c21 FROM t1,t2 WHERE t1.c11=t2.c1;
|
|
|
|
perl;
|
|
use DBI;
|
|
perl;
|
|
use DBI;
|
|
use Cache::Memcached;
|
|
my $memd = new Cache::Memcached {
|
|
'servers' => [ "127.0.0.1:11220" ],
|
|
'connect_timeout' => 20,
|
|
'select_timeout' => 20
|
|
};
|
|
print "Here are the memcached results after add:\n";
|
|
$val = $memd->add("F","Dd|Frankfurt|Sachsenhause");
|
|
$val = $memd->get("F");
|
|
if ($val) { print "$val\n"; }
|
|
$memd->disconnect_all;
|
|
EOF
|
|
|
|
--sorted_result
|
|
SELECT t1.c1,t1.c2,t1.c21,t2.c2,t2.c21 FROM t1,t2 WHERE t1.c11=t2.c1;
|
|
|
|
perl;
|
|
use DBI;
|
|
use Cache::Memcached;
|
|
my $memd = new Cache::Memcached {
|
|
'servers' => [ "127.0.0.1:11220" ],
|
|
'connect_timeout' => 20,
|
|
'select_timeout' => 20
|
|
};
|
|
print "Here are the memcached results after replace:\n";
|
|
$val = $memd->replace("F","Dd,Frankfurt a. M.|Sachsenhausen");
|
|
$val = $memd->get("F");
|
|
if ($val) { print "$val\n"; }
|
|
$memd->disconnect_all;
|
|
EOF
|
|
|
|
--sorted_result
|
|
SELECT t1.c1,t1.c2,t1.c21,t2.c2,t2.c21 FROM t1,t2 WHERE t1.c11=t2.c1;
|
|
|
|
perl;
|
|
use DBI;
|
|
use Cache::Memcached;
|
|
my $memd = new Cache::Memcached {
|
|
'servers' => [ "127.0.0.1:11220" ],
|
|
'connect_timeout' => 20,
|
|
'select_timeout' => 20
|
|
};
|
|
print "Here are 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 t1.c1,t1.c2,t1.c21,t2.c2,t2.c21 FROM t1,t2 WHERE t1.c11=t2.c1;
|
|
|
|
perl;
|
|
use DBI;
|
|
use Cache::Memcached;
|
|
my $memd = new Cache::Memcached {
|
|
'servers' => [ "127.0.0.1:11220" ],
|
|
'connect_timeout' => 20,
|
|
'select_timeout' => 20
|
|
};
|
|
print "Here are the memcached results after add Frankfurt|Airport:\n";
|
|
$val = $memd->add("F","Bb|Frankfurt|Airport");
|
|
$val = $memd->get("F");
|
|
if ($val) { print "$val\n"; }
|
|
$memd->disconnect_all;
|
|
EOF
|
|
|
|
--sorted_result
|
|
SELECT t1.c1,t1.c2,t1.c21,t2.c2,t2.c21 FROM t1,t2 WHERE t1.c11=t2.c1;
|
|
|
|
# The replace must not succeed as Xx is not a valid foreign key.
|
|
perl;
|
|
use DBI;
|
|
use Cache::Memcached;
|
|
my $memd = new Cache::Memcached {
|
|
'servers' => [ "127.0.0.1:11220" ],
|
|
'connect_timeout' => 20,
|
|
'select_timeout' => 20
|
|
};
|
|
print "Here are the memcached results after replace Frankfurt a.M|Sachsenhausen.:\n";
|
|
$val = $memd->replace("F","Xx|Frankfurt a. M.|Sachsenhausen");
|
|
$val = $memd->get("F");
|
|
if ($val) { print "$val\n"; }
|
|
$memd->disconnect_all;
|
|
EOF
|
|
|
|
--sorted_result
|
|
SELECT t1.c1,t1.c2,t1.c21,t2.c2,t2.c21 FROM t1,t2 WHERE t1.c11=t2.c1;
|
|
|
|
#uninstall the plugin before dropping mapped table
|
|
UNINSTALL PLUGIN daemon_memcached;
|
|
DROP TABLE test.t1;
|
|
DROP TABLE test.t2;
|
|
DROP DATABASE innodb_memcache;
|
|
|
|
SET @@global.transaction_isolation= @transaction_isolation;
|
|
|