polardbxengine/mysql-test/suite/memcached/t/memc243_view.test

205 lines
5.4 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");
--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_v1", "test", "v1",
"vc1", "vc2,vc21", "vc3", "vc4", "vc5", "PRIMARY");
CREATE USER mysqltest1@localhost;
connect (mysqltest1,localhost,mysqltest1,,);
connection mysqltest1;
USE test;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (c1 VARCHAR(32),
c2 VARCHAR(1024),
c21 VARCHAR(1024),
c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
ENGINE = INNODB;
--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;
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);
CREATE VIEW v1 AS SELECT t1.c1 AS vc1,t1.c2 AS vc2,t2.c21 AS vc21,
t1.c3 AS vc3,t1.c4 AS vc4,t1.c5 AS vc5 FROM t1,t2 WHERE t1.c1=t2.c1;
# Tables must exist before plugin can be started!
# Unfortunately views are currently not supported in containers.db_table column.
connection default;
--let $memcached_address=127.0.0.1:11243
--source ../include/load_daemon_memcached_expecting_error.inc
connection mysqltest1;
USE test;
--sorted_result
SELECT vc1,vc2,vc21 FROM v1;
perl;
use DBI;
use Cache::Memcached;
my $memd = new Cache::Memcached {
'servers' => [ "127.0.0.1:11243" ],
'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
perl;
use DBI;
use Cache::Memcached;
my $memd = new Cache::Memcached {
'servers' => [ "127.0.0.1:11243" ],
'connect_timeout' => 20,
'select_timeout' => 20
};
print "Here are 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:11243" ],
'connect_timeout' => 20,
'select_timeout' => 20
};
print "Here are 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:11243" ],
'connect_timeout' => 20,
'select_timeout' => 20
};
print "Here are 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:11243" ],
'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
perl;
use DBI;
use Cache::Memcached;
my $memd = new Cache::Memcached {
'servers' => [ "127.0.0.1:11243" ],
'connect_timeout' => 20,
'select_timeout' => 20
};
print "Here are the memcached results after add Frankfurt|:\n";
$val = $memd->add("F","Frankfurt|");
$val = $memd->get("F");
if ($val) { print "$val\n"; }
print "Here are 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:11243" ],
'connect_timeout' => 20,
'select_timeout' => 20
};
print "Here are 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 are 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
DROP VIEW v1;
DROP TABLE t1;
DROP TABLE t2;
connection default;
disconnect mysqltest1;
UNINSTALL PLUGIN daemon_memcached;
DROP DATABASE innodb_memcache;
DROP USER mysqltest1@localhost;
SET @@global.transaction_isolation= @transaction_isolation;