225 lines
6.1 KiB
Plaintext
225 lines
6.1 KiB
Plaintext
SET @transaction_isolation= @@global.transaction_isolation;
|
|
SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
|
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", "c2", "c3", "c4", "c5", "PRIMARY");
|
|
USE test;
|
|
DROP TABLE IF EXISTS t1;
|
|
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);
|
|
INSERT INTO t1 VALUES ('B', 'Berlin', 0, 0, 0);
|
|
INSERT INTO t1 VALUES ('C', 'Cottbus', 0, 0 ,0);
|
|
INSERT INTO t1 VALUES ('H', 'Hamburg', 0, 0, 0);
|
|
INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
|
|
SELECT c1,c2 FROM t1;
|
|
c1 c2
|
|
B Berlin
|
|
C Cottbus
|
|
D Darmstadt
|
|
H Hamburg
|
|
# Add E|Essen:
|
|
Ok.
|
|
# Add E|Essen:
|
|
Error: E|Essen is still existing.
|
|
SELECT c1,c2 FROM t1;
|
|
c1 c2
|
|
B Berlin
|
|
C Cottbus
|
|
D Darmstadt
|
|
E Essen
|
|
H Hamburg
|
|
# Here are the memcached results with E:
|
|
Essen
|
|
SELECT c1,c2 FROM t1;
|
|
c1 c2
|
|
B Berlin
|
|
C Cottbus
|
|
D Darmstadt
|
|
E Essen
|
|
H Hamburg
|
|
# Here are the memcached results with E,H:
|
|
Essen
|
|
Hamburg
|
|
UNINSTALL PLUGIN daemon_memcached;
|
|
use innodb_memcache;
|
|
DELETE FROM containers;
|
|
INSERT INTO containers VALUES ("desc_t2", "test", "t2",
|
|
"c1", "c2", "c3", "c4", "c5", "PRIMARY");
|
|
USE test;
|
|
DROP TABLE IF EXISTS t1;
|
|
CREATE TABLE t2 (c1 VARCHAR(32),
|
|
c2 VARCHAR(1024),
|
|
c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
|
|
ENGINE = INNODB;
|
|
INSERT INTO t2 VALUES ('D', 't2_Darmstadt', 0, 0, 0);
|
|
INSERT INTO t2 VALUES ('B', 't2_Berlin', 0, 0, 0);
|
|
INSERT INTO t2 VALUES ('C', 't2_Cottbus', 0, 0 ,0);
|
|
INSERT INTO t2 VALUES ('H', 't2_Hamburg', 0, 0, 0);
|
|
INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
|
|
SELECT c1,c2 FROM t2;
|
|
c1 c2
|
|
B t2_Berlin
|
|
C t2_Cottbus
|
|
D t2_Darmstadt
|
|
H t2_Hamburg
|
|
# Add E|Essen:
|
|
Ok.
|
|
# Add E|Essen:
|
|
Error: E|Essen is still existing.
|
|
SELECT c1,c2 FROM t2;
|
|
c1 c2
|
|
B t2_Berlin
|
|
C t2_Cottbus
|
|
D t2_Darmstadt
|
|
E Essen
|
|
H t2_Hamburg
|
|
# Here are the memcached results with E:
|
|
Essen
|
|
SELECT c1,c2 FROM t2;
|
|
c1 c2
|
|
B t2_Berlin
|
|
C t2_Cottbus
|
|
D t2_Darmstadt
|
|
E Essen
|
|
H t2_Hamburg
|
|
# Here are the memcached results with E,H:
|
|
Essen
|
|
t2_Hamburg
|
|
UNINSTALL PLUGIN daemon_memcached;
|
|
use innodb_memcache;
|
|
DELETE FROM containers;
|
|
INSERT INTO containers VALUES ("desc_t2", NULL, "t2",
|
|
"c1", "c2", "c3", "c4", "c5", "PRIMARY");
|
|
ERROR 23000: Column 'db_schema' cannot be null
|
|
INSERT INTO containers VALUES ("desc_t2", "test", "t2",
|
|
NULL, "c2", "c3", "c4", "c5", "PRIMARY");
|
|
ERROR 23000: Column 'key_columns' cannot be null
|
|
DELETE FROM containers;
|
|
INSERT INTO containers VALUES ("desc_t2", "junk", "t2",
|
|
"c1", "c2", "c3", "c4", "c5", "PRIMARY");
|
|
INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
|
|
# This will fail, since memcached not initialized
|
|
UNINSTALL PLUGIN daemon_memcached;
|
|
DELETE FROM containers;
|
|
INSERT INTO containers VALUES ("desc_t2", "test", "t2",
|
|
"c1", "c2", "c3", "c4", "c5", "PRIMARY");
|
|
USE test;
|
|
DROP TABLE IF EXISTS t2;
|
|
CREATE TABLE t2 (c1 int,
|
|
c2 VARCHAR(1024),
|
|
c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
|
|
ENGINE = INNODB;
|
|
INSERT INTO t2 VALUES (3, 't2_Hamburg', 0, 0, 0);
|
|
INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
|
|
# This will succeed, since memcached supports int as key
|
|
t2_Hamburg
|
|
use test;
|
|
DROP TABLE IF EXISTS t2;
|
|
CREATE TABLE t2 (c1 CHAR(10),
|
|
c2 VARCHAR(1024),
|
|
c3 INT, c4 INT, c5 INT, primary key(c1));
|
|
INSERT INTO t2 VALUES ('H', 't2_Hamburg', 0, 0, 0);
|
|
UNINSTALL PLUGIN daemon_memcached;
|
|
INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
|
|
# This will fail, since memcached not initialized
|
|
t2_Hamburg
|
|
UNINSTALL PLUGIN daemon_memcached;
|
|
use innodb_memcache;
|
|
DELETE FROM containers;
|
|
INSERT INTO containers VALUES ("desc_t2", "test", "t2",
|
|
"c1", "c2", "c3", "c4", "c5", "PRIMARY");
|
|
USE test;
|
|
DROP TABLE IF EXISTS t2;
|
|
CREATE TABLE t2 (c1 VARCHAR(32),
|
|
c2 VARCHAR(1024),
|
|
c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
|
|
ENGINE = INNODB;
|
|
INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
|
|
SELECT c1,c2 FROM t2;
|
|
c1 c2
|
|
# Add E|Essen:
|
|
Ok.
|
|
SELECT MAX(c4) INTO @baseline_cas_value FROM t2;
|
|
SELECT c1, c2, c4-@baseline_cas_value as relative_cas FROM t2;
|
|
c1 c2 relative_cas
|
|
E Essen 0
|
|
# Add G|Gossen:
|
|
Ok.
|
|
Ok.
|
|
SELECT c1, c2, c4-@baseline_cas_value as relative_cas FROM t2;
|
|
c1 c2 relative_cas
|
|
E Essen 0
|
|
G Gossen 1
|
|
H Hamburg 2
|
|
SELECT c1,c2,c3,c4-@baseline_cas_value as relative_cas,c5 FROM test.t2;
|
|
c1 c2 c3 relative_cas c5
|
|
E Essen 0 0 0
|
|
G Gossen 0 1 0
|
|
H Hamburg 0 2 0
|
|
# Add B|Berlin expires in 1 seconds:
|
|
Ok.
|
|
select sleep(3);
|
|
sleep(3)
|
|
0
|
|
# Should not find B|Berlin, since it is expired
|
|
# Add C|Cottbus, expires 100 seconds:
|
|
Ok.
|
|
# Should be able to find C|Cottbus, assume it does not take 100s to get here
|
|
Cottbus
|
|
# Add J|Jilin
|
|
Ok.
|
|
# Should not find J|Jilin, it should be expired
|
|
UNINSTALL PLUGIN daemon_memcached;
|
|
use innodb_memcache;
|
|
DELETE FROM containers;
|
|
INSERT INTO containers VALUES ("desc_t2", "test", "t2",
|
|
"c1", "c2", "c3", "c4", "c5", "PRIMARY");
|
|
USE test;
|
|
DROP TABLE IF EXISTS t2;
|
|
CREATE TABLE t2 (c1 VARCHAR(32),
|
|
c2 VARCHAR(1024),
|
|
c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
|
|
ENGINE = INNODB;
|
|
INSERT INTO t2 VALUES ('D', 't2_Darmstadt', 0, 0, 0);
|
|
INSERT INTO t2 VALUES ('B', 't2_Berlin', 0, 0, 0);
|
|
INSERT INTO t2 VALUES ('C', 't2_Cottbus', 0, 0 ,0);
|
|
INSERT INTO t2 VALUES ('H', 't2_Hamburg', 0, 0, 0);
|
|
INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
|
|
SELECT c1,c2 FROM t2;
|
|
c1 c2
|
|
B t2_Berlin
|
|
C t2_Cottbus
|
|
D t2_Darmstadt
|
|
H t2_Hamburg
|
|
# Add E|Essen:
|
|
Ok.
|
|
connection default;
|
|
c1 c2
|
|
# Add E|Essen:
|
|
Error: E|Essen is still existing.
|
|
c1 c2
|
|
# Here are the memcached results with E:
|
|
c1 c2
|
|
# Here are the memcached results with E,H:
|
|
alter table test.t2 change c2 c_new int;
|
|
show create table test.t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`c1` varchar(32) NOT NULL,
|
|
`c_new` int(11) DEFAULT NULL,
|
|
`c3` int(11) DEFAULT NULL,
|
|
`c4` bigint(20) unsigned DEFAULT NULL,
|
|
`c5` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`c1`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
|
|
DROP TABLE t2;
|
|
UNINSTALL PLUGIN daemon_memcached;
|
|
DROP DATABASE innodb_memcache;
|
|
SET @@global.transaction_isolation= @transaction_isolation;
|