List:Commits« Previous MessageNext Message »
From:horst.hunger Date:May 22 2012 10:11am
Subject:bzr push into mysql-trunk-wl6218 branch (horst.hunger:3864 to 3865)
View as plain text  
 3865 horst.hunger@stripped	2012-05-22
      To reproduce delimiter bug.

    added:
      mysql-test/suite/memcached/r/memc274_5_tables_uml.result
      mysql-test/suite/memcached/t/memc274_5_tables_uml-master.opt
      mysql-test/suite/memcached/t/memc274_5_tables_uml.test
 3864 Jimmy Yang	2012-05-21
      Fix an issue discovered by Horst's testing. A mismatch of integer type
      during function calls.

    modified:
      plugin/innodb_memcached/innodb_memcache/src/innodb_engine.c
=== added file 'mysql-test/suite/memcached/r/memc274_5_tables_uml.result'
--- a/mysql-test/suite/memcached/r/memc274_5_tables_uml.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/r/memc274_5_tables_uml.result	2012-05-22 10:09:43 +0000
@@ -0,0 +1,186 @@
+SET @tx_isolation= @@global.tx_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 config_options VALUES("table_map_delimiter", "!");
+INSERT INTO containers VALUES ("desct1", "test", "t1",
+"c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+INSERT INTO containers VALUES ("desct2", "test", "t2",
+"c1", "c2", "c3", "c4", "c5", "PRIMARY");
+INSERT INTO containers VALUES ("desct3", "test", "t3",
+"c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+INSERT INTO containers VALUES ("desct4", "test", "t4",
+"c1", "c2,c21,c22", "c3", "c4", "c5", "PRIMARY");
+INSERT INTO containers VALUES ("desct5", "test", "t5",
+"c1", "c2,c21,c22,c23", "c3", "c4", "c5", "PRIMARY");
+USE test;
+DROP TABLE IF EXISTS t1,t2;
+CREATE TABLE t1        (c1 VARCHAR(32),
+c2 VARCHAR(1024),
+c21 VARCHAR(1024),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+CREATE TABLE t2        (c1 VARCHAR(32),
+c2 VARCHAR(1024),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+CREATE TABLE t3        (c1 VARCHAR(32),
+c2 VARCHAR(1024),
+c21 VARCHAR(1024),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+CREATE TABLE t4        (c1 VARCHAR(32),
+c2 VARCHAR(1024),
+c21 VARCHAR(1024),
+c22 VARCHAR(1024),
+c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+CREATE TABLE t5        (c1 VARCHAR(32),
+c2 VARCHAR(1024),
+c21 VARCHAR(1024),
+c22 VARCHAR(1024),
+c23 VARCHAR(1024),
+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', 'Außenalster', 0, 0, 0);
+INSERT INTO t2 VALUES ('D', 'Dortmund', 0, 0, 0);
+INSERT INTO t2 VALUES ('B', 'Bremen', 0, 0, 0);
+INSERT INTO t2 VALUES ('C', 'Celle', 0, 0 ,0);
+INSERT INTO t2 VALUES ('H', 'Hannover', 0, 0, 0);
+INSERT INTO t3 VALUES ('D', 'Detmold', 'City', 0, 0, 0);
+INSERT INTO t3 VALUES ('B', 'Bonn', 'Mitte', 0, 0, 0);
+INSERT INTO t3 VALUES ('A', 'Aachen', 'West', 0, 0 ,0);
+INSERT INTO t3 VALUES ('H', 'Hameln', 'Nord', 0, 0, 0);
+INSERT INTO t4 VALUES ('Z', 'Zossen', 'City', '12345', 0, 0, 0);
+INSERT INTO t4 VALUES ('B', 'Brandenburg', 'Mitte', '23456', 0, 0, 0);
+INSERT INTO t4 VALUES ('M', 'München', 'West', '34567', 0, 0 ,0);
+INSERT INTO t4 VALUES ('H', 'Husum', 'Fähre', '45678', 0, 0, 0);
+INSERT INTO t5 VALUES ('D', 'Düsseldorf', 'City', '98765', 'Hafen', 0, 0, 0);
+INSERT INTO t5 VALUES ('O', 'Oldenburg', 'Mitte', '87654', 'Bäder', 0, 0, 0);
+INSERT INTO t5 VALUES ('K', 'Köln', 'West', '76543', 'Rhein', 0, 0 ,0);
+INSERT INTO t5 VALUES ('S', 'Stuttgart', 'Nord', '65432', 'Fernsehturm', 0, 0, 0);
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Außenalster
+SELECT c1,c2 FROM t2;
+c1	c2
+B	Bremen
+C	Celle
+D	Dortmund
+H	Hannover
+SELECT c1,c2,c21 FROM t3;
+c1	c2	c21
+A	Aachen	West
+B	Bonn	Mitte
+D	Detmold	City
+H	Hameln	Nord
+SELECT c1,c2,c21,c22 FROM t4;
+c1	c2	c21	c22
+B	Brandenburg	Mitte	23456
+H	Husum	Fähre	45678
+M	München	West	34567
+Z	Zossen	City	12345
+SELECT c1,c2,c21,c22,c23 FROM t5;
+c1	c2	c21	c22	c23
+D	Düsseldorf	City	98765	Hafen
+K	Köln	West	76543	Rhein
+O	Oldenburg	Mitte	87654	Bäder
+S	Stuttgart	Nord	65432	Fernsehturm
+Here the memcached results with D,B,H,C of default:
+Darmstadt|City
+Berlin|Mitte
+Hamburg|Außenalster
+Cottbus|West
+Here the memcached results with D,B,H,C of t1:
+Here the memcached results with D,B,H,C of t2:
+Dortmund
+Hannover
+Celle
+Here the memcached results with D,B,H,A of t3:
+Here the memcached results with D,O,K,S of t5:
+Here the memcached results with Z,B,H,M of t4:
+Here the memcached results with D,B,H,C of t2:
+Dortmund
+Celle
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+H	Hamburg	Außenalster
+SELECT c1,c2 FROM t2;
+c1	c2
+B	Bremen
+C	Celle
+D	Dortmund
+H	Hannover
+SELECT c1,c2,c21 FROM t3;
+c1	c2	c21
+A	Aachen	West
+B	Bonn	Mitte
+D	Detmold	City
+H	Hameln	Nord
+SELECT c1,c2,c21,c22 FROM t4;
+c1	c2	c21	c22
+B	Brandenburg	Mitte	23456
+H	Husum	Fähre	45678
+M	München	West	34567
+Z	Zossen	City	12345
+SELECT c1,c2,c21,c22,c23 FROM t5;
+c1	c2	c21	c22	c23
+D	Düsseldorf	City	98765	Hafen
+K	Köln	West	76543	Rhein
+O	Oldenburg	Mitte	87654	Bäder
+S	Stuttgart	Nord	65432	Fernsehturm
+Here the memcached results after set in default:
+Essen|Ost
+Here the memcached results after set in t2:
+Here the memcached results after set in t5:
+Essen|Mitte|111111|Mahlzeit
+Here the memcached results after set in t3:
+Here the memcached results after set in t4:
+Here the memcached results after set in t5:
+SELECT c1,c2,c21 FROM t1;
+c1	c2	c21
+B	Berlin	Mitte
+C	Cottbus	West
+D	Darmstadt	City
+E	Essen	Ost
+H	Hamburg	Außenalster
+SELECT c1,c2 FROM t2;
+c1	c2
+B	Bremen
+C	Celle
+D	Dortmund
+H	Hannover
+SELECT c1,c2,c21 FROM t3;
+c1	c2	c21
+A	Aachen	West
+B	Bonn	Mitte
+D	Detmold	City
+H	Hameln	Nord
+SELECT c1,c2,c21,c22 FROM t4;
+c1	c2	c21	c22
+B	Brandenburg	Mitte	23456
+H	Husum	Fähre	45678
+M	München	West	34567
+Z	Zossen	City	12345
+SELECT c1,c2,c21,c22,c23 FROM t5;
+c1	c2	c21	c22	c23
+D	Düsseldorf	City	98765	Hafen
+E	Essen	Mitte	111111	Mahlzeit
+K	Köln	West	76543	Rhein
+O	Oldenburg	Mitte	87654	Bäder
+S	Stuttgart	Nord	65432	Fernsehturm
+DROP TABLE t1,t2,t3,t4,t5;
+DROP DATABASE innodb_memcache;
+UNINSTALL PLUGIN daemon_memcached;
+SET @@global.tx_isolation= @tx_isolation;

=== added file 'mysql-test/suite/memcached/t/memc274_5_tables_uml-master.opt'
--- a/mysql-test/suite/memcached/t/memc274_5_tables_uml-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc274_5_tables_uml-master.opt	2012-05-22 10:09:43 +0000
@@ -0,0 +1,3 @@
+$DAEMON_MEMCACHED_OPT
+--loose-daemon_memcached_engine_lib_path=$INNODB_ENGINE_DIR
+--loose-daemon_memcached_option="-p11274"

=== added file 'mysql-test/suite/memcached/t/memc274_5_tables_uml.test'
--- a/mysql-test/suite/memcached/t/memc274_5_tables_uml.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/memcached/t/memc274_5_tables_uml.test	2012-05-22 10:09:43 +0000
@@ -0,0 +1,266 @@
+source include/not_valgrind.inc;
+source include/not_windows.inc;
+source include/have_innodb.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("InnoDB: Warning: MySQL is trying to drop");
+--enable_query_log
+
+--enable_connect_log
+SET @tx_isolation= @@global.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+
+# Create the memcached tables
+--disable_query_log
+source suite/memcached/inc/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 config_options VALUES("table_map_delimiter", "!");
+
+# describe table for memcache
+INSERT INTO containers VALUES ("desct1", "test", "t1",
+			       "c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+INSERT INTO containers VALUES ("desct2", "test", "t2",
+			       "c1", "c2", "c3", "c4", "c5", "PRIMARY");
+INSERT INTO containers VALUES ("desct3", "test", "t3",
+			       "c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
+INSERT INTO containers VALUES ("desct4", "test", "t4",
+			       "c1", "c2,c21,c22", "c3", "c4", "c5", "PRIMARY");
+INSERT INTO containers VALUES ("desct5", "test", "t5",
+			       "c1", "c2,c21,c22,c23", "c3", "c4", "c5", "PRIMARY");
+
+USE test;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1,t2;
+--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;
+
+CREATE TABLE t2        (c1 VARCHAR(32),
+			c2 VARCHAR(1024),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+
+CREATE TABLE t3        (c1 VARCHAR(32),
+			c2 VARCHAR(1024),
+			c21 VARCHAR(1024),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+
+CREATE TABLE t4        (c1 VARCHAR(32),
+			c2 VARCHAR(1024),
+			c21 VARCHAR(1024),
+			c22 VARCHAR(1024),
+			c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
+ENGINE = INNODB;
+
+CREATE TABLE t5        (c1 VARCHAR(32),
+			c2 VARCHAR(1024),
+			c21 VARCHAR(1024),
+			c22 VARCHAR(1024),
+			c23 VARCHAR(1024),
+			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', 'Außenalster', 0, 0, 0);
+
+INSERT INTO t2 VALUES ('D', 'Dortmund', 0, 0, 0);
+INSERT INTO t2 VALUES ('B', 'Bremen', 0, 0, 0);
+INSERT INTO t2 VALUES ('C', 'Celle', 0, 0 ,0);
+INSERT INTO t2 VALUES ('H', 'Hannover', 0, 0, 0);
+
+INSERT INTO t3 VALUES ('D', 'Detmold', 'City', 0, 0, 0);
+INSERT INTO t3 VALUES ('B', 'Bonn', 'Mitte', 0, 0, 0);
+INSERT INTO t3 VALUES ('A', 'Aachen', 'West', 0, 0 ,0);
+INSERT INTO t3 VALUES ('H', 'Hameln', 'Nord', 0, 0, 0);
+
+INSERT INTO t4 VALUES ('Z', 'Zossen', 'City', '12345', 0, 0, 0);
+INSERT INTO t4 VALUES ('B', 'Brandenburg', 'Mitte', '23456', 0, 0, 0);
+INSERT INTO t4 VALUES ('M', 'München', 'West', '34567', 0, 0 ,0);
+INSERT INTO t4 VALUES ('H', 'Husum', 'F'Düsseldorf', 'City', '98765', 'Hafen', 0, 0, 0);
+INSERT INTO t5 VALUES ('O', 'Oldenburg', 'Mitte', '87654', 'Best', '76543', 'Rhein', 0, 0 ,0);
+INSERT INTO t5 VALUES ('S', 'Stuttgart', 'Nord', '65432', 'Fernsehturm', 0, 0, 0);
+
+# Tables must exist before plugin can be started!
+INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';
+
+# The following selects are writing all to  memcache otherwise memcache is empty.
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+--sorted_result
+SELECT c1,c2 FROM t2;
+--sorted_result
+SELECT c1,c2,c21 FROM t3;
+--sorted_result
+SELECT c1,c2,c21,c22 FROM t4;
+--sorted_result
+SELECT c1,c2,c21,c22,c23 FROM t5;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11274" ],
+  'connect_timeout' => 20,
+  'select_timeout' => 20
+};
+print "Here the memcached results with D,B,H,C of default:\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:11274" ],
+  'connect_timeout' => 20,
+  'select_timeout' => 20
+};
+print "Here the memcached results with D,B,H,C of t1:\n";
+$val = $memd->get('@@desct1!D');
+if ($val) { print "$val\n"; }
+$val = $memd->get("\@\@desct1!B");
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct1!'.'H');
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct1!C');
+if ($val) { print "$val\n"; }
+print "Here the memcached results with D,B,H,C of t2:\n";
+$val = $memd->get("\@\@desct2");
+$val = $memd->get("D");
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct2!B');
+if ($val) { print "$val\n"; }
+$val = $memd->get('H');
+if ($val) { print "$val\n"; }
+$val = $memd->get('C');
+if ($val) { print "$val\n"; }
+print "Here the memcached results with D,B,H,A of t3:\n";
+$val = $memd->get("\@\@desct3!D");
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct3!B');
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct3!H');
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct3!A');
+if ($val) { print "$val\n"; }
+print "Here the memcached results with D,O,K,S of t5:\n";
+$val = $memd->get("\@\@desct5!D");
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct5!O');
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct5!K');
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct5!S');
+if ($val) { print "$val\n"; }
+print "Here the memcached results with Z,B,H,M of t4:\n";
+$val = $memd->get("\@\@desct4!Z");
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct4!B');
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct4!H');
+if ($val) { print "$val\n"; }
+$val = $memd->get('@@desct4!M');
+if ($val) { print "$val\n"; }
+print "Here the memcached results with D,B,H,C of t2:\n";
+$memd->get("\@\@desct2");
+$val = $memd->get("\@\@desct2.D");
+if ($val) { print "$val\n"; }
+$val = $memd->get('\@\@desct2|B');
+if ($val) { print "$val\n"; }
+$val = $memd->get('\@\@desct2#H');
+if ($val) { print "$val\n"; }
+$val = $memd->get('C');
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+--sorted_result
+SELECT c1,c2 FROM t2;
+--sorted_result
+SELECT c1,c2,c21 FROM t3;
+--sorted_result
+SELECT c1,c2,c21,c22 FROM t4;
+--sorted_result
+SELECT c1,c2,c21,c22,c23 FROM t5;
+
+perl;
+use DBI;
+use Cache::Memcached;
+my $memd = new Cache::Memcached {
+  'servers' => [ "127.0.0.1:11274" ],
+  'connect_timeout' => 20,
+  'select_timeout' => 20
+};
+print "Here the memcached results after set in default:\n";
+$val = $memd->set("E","Essen|Ost");
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after set in t2:\n";
+$val = $memd->set("\@\@desct2!E","Essen");
+$val = $memd->get("\@\@desct2!E");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after set in t5:\n";
+$val = $memd->get("\@\@desct5");
+$val = $memd->set("E","Essen|Mitte|111111|Mahlzeit");
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after set in t3:\n";
+$val = $memd->set('@@desct3!E',"Essen|Ost");
+$memd->get('@@desct3');
+$val = $memd->get("E");
+if ($val) { print "$val\n"; }
+print "Here the memcached results after set in t4:\n";
+$val = $memd->set('@@desct4!E',"Essen|Mitte|111111");
+$val = $memd->get('@@desct4!E');
+if ($val) { print "$val\n"; }
+print "Here the memcached results after set in t5:\n";
+$val = $memd->get("\@\@desct5");
+$val = $memd->set("\@\@desct5!E","Essen|Außerhalb|111111|Mahlzeit");
+$val = $memd->get("\@\@desct5!E");
+if ($val) { print "$val\n"; }
+$memd->disconnect_all;
+EOF
+
+--sorted_result
+SELECT c1,c2,c21 FROM t1;
+--sorted_result
+SELECT c1,c2 FROM t2;
+--sorted_result
+SELECT c1,c2,c21 FROM t3;
+--sorted_result
+SELECT c1,c2,c21,c22 FROM t4;
+--sorted_result
+SELECT c1,c2,c21,c22,c23 FROM t5;
+
+DROP TABLE t1,t2,t3,t4,t5;
+DROP DATABASE innodb_memcache;
+ 
+UNINSTALL PLUGIN daemon_memcached;
+SET @@global.tx_isolation= @tx_isolation;

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk-wl6218 branch (horst.hunger:3864 to 3865) horst.hunger22 May