config root man

Current Path : /home/usr.opt/mysql57/mysql-test/suite/memcached/t/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : /home/usr.opt/mysql57/mysql-test/suite/memcached/t/memc251_w_batch_6.test

source include/not_valgrind.inc;
source include/have_memcached_plugin.inc;
source include/not_windows.inc;
source include/have_innodb.inc;

# This is a test on max daemon_memcached_w_batch_size configure option (1048576)
# The read configure option daemon_memcached_r_batch_size is also configured
# to 1048576. This means the transaction never commits
--disable_query_log
CALL mtr.add_suppression("daemon-memcached-r-batch-size': unsigned value");
CALL mtr.add_suppression("Could not obtain server's UPN to be used as target service name");
CALL mtr.add_suppression("InnoDB: Warning: MySQL is trying to drop");
--enable_query_log

--enable_connect_log
SET @auto_commit= @@global.autocommit;
SET @@global.autocommit=0;
SET @tx_isolation= @@global.tx_isolation;
SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET @lock_wait=@@global.lock_wait_timeout;
SET @@global.lock_wait_timeout=1;
SET @innodb_lock_wait=@@global.innodb_lock_wait_timeout;
SET @@global.innodb_lock_wait_timeout=1;

# 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,c21", "c3", "c4", "c5", "PRIMARY");
COMMIT;

CREATE USER mysqltest1@localhost;
COMMIT;
connect (mysqltest1,localhost,mysqltest1,,);
connection mysqltest1;

USE test;

--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1        (c1 VARCHAR(32),
			c2 TEXT,
			c21 TEXT,
			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
ENGINE = INNODB;

INSERT INTO t1 VALUES("Z", REPEAT("a", 15000), REPEAT("b", 1000), 0, 0, 0);
COMMIT;

connection default;
# Tables must exist before plugin can be started!
INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
SELECT @@global.daemon_memcached_w_batch_size;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@global.daemon_memcached_w_batch_size=100;

connection mysqltest1;

# The following select is writing all to  memcache otherwisw memcache is empty.
--sorted_result
#SELECT c1 FROM test.t1;

SELECT SLEEP(2);

connection default;
perl;
use DBI;
use Cache::Memcached;
my $memd = new Cache::Memcached {
  'servers' => [ "127.0.0.1:11251" ],
  'connect_timeout' => 20,
  'select_timeout' => 20
};
#print "Here the memcached :\n";
$val = $memd->set("B","Berlin|Mitte");
$val = $memd->get("B");
if ($val) { print "$val\n"; }
$val = $memd->set("D","Darmstadt|City");
$val = $memd->get("D");
if ($val) { print "$val\n"; }
$val = $memd->get("Z");
if ($val) { print "$val\n"; }
$memd->disconnect_all;
EOF

--sorted_result
SELECT c1 FROM test.t1;

connection mysqltest1;
# With latest checkin, the memcached plugin will automatically commit
# transactions when the connection is closed. So we cannot test the
# timeout with the memcached connection closed. If there are new ways
# to test such, we can re-enable this
# --error ER_LOCK_WAIT_TIMEOUT
SELECT c1 FROM t1 FOR UPDATE;
COMMIT;

connection default;
perl;
use DBI;
use Cache::Memcached;
my $memd = new Cache::Memcached {
  'servers' => [ "127.0.0.1:11251" ],
  'connect_timeout' => 20,
  'select_timeout' => 20
};
print "Here the memcached results:\n";
$val = $memd->add("M","München|Perlach");
$val = $memd->get("M");
if ($val) { print "$val\n"; }
$val = $memd->add("N","Nürnberg|Nord");
$val = $memd->get("N");
if ($val) { print "$val\n"; }
$val = $memd->add("O","Oldenburg|Friesland");
$val = $memd->get("O");
if ($val) { print "$val\n"; }

#It will not be able to see values added by other session
$val = $memd->get("D");
if ($val) { print "$val\n"; }
$memd->disconnect_all;
EOF
--sorted_result
SELECT c1 FROM test.t1;

connection mysqltest1;
# With latest checkin, the memcached plugin will automatically commit
# transactions when the connection is closed. So we cannot test the
# timeout with the memcached connection closed. If there are new ways
# to test such, we can re-enable this
# --error ER_LOCK_WAIT_TIMEOUT
SELECT c1,c2,c21 FROM test.t1 FOR UPDATE;
COMMIT;

connection default;
perl;
use DBI;
use Cache::Memcached;
my $memd = new Cache::Memcached {
  'servers' => [ "127.0.0.1:11251" ],
  'connect_timeout' => 20,
  'select_timeout' => 20
};
print "Here the memcached results:\n";
$val = $memd->replace("G","Gossen|C");
if ($val) { print "$val\n"; }
$val = $memd->get("G");
if ($val) { print "$val\n"; }
$val = $memd->replace("F","Frankfurt|S");
if ($val) { print "$val\n"; }
$val = $memd->get("F");
if ($val) { print "$val\n"; }
$val = $memd->replace("E","Essen|W");
if ($val) { print "$val\n"; }
$val = $memd->get("E");
if ($val) { print "$val\n"; }
$memd->disconnect_all;
EOF
--sorted_result
SELECT c1 FROM test.t1;

connection default;
# With latest checkin, the memcached plugin will automatically commit
# transactions when the connection is closed. So we cannot test the
# timeout with the memcached connection closed. If there are new ways
# to test such, we can re-enable this
# --error ER_LOCK_WAIT_TIMEOUT
SELECT c1,c2,c21 FROM test.t1 FOR UPDATE;

DROP TABLE test.t1;

connection default;
disconnect mysqltest1;

UNINSTALL PLUGIN daemon_memcached;
DROP DATABASE innodb_memcache;
DROP USER mysqltest1@localhost;
 
SET @@global.tx_isolation= @tx_isolation;
SET  @@global.autocommit=@auto_commit;
SET @@global.lock_wait_timeout=@lock_wait;
SET @@global.innodb_lock_wait_timeout=@innodb_lock_wait;

Man Man