From: Date: July 29 2005 1:04am Subject: bk commit into 4.1 tree (igor:1.2357) BUG#12144 List-Archive: http://lists.mysql.com/internals/27697 X-Bug: 12144 Message-Id: <20050728230458.C4EF71C223@rurik.mysql.com> Below is the list of changes that have just been committed into a local 4.1 repository of igor. When igor does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet 1.2357 05/07/28 16:04:47 igor@stripped +2 -0 null_key.test, null_key.result: Modified the test case for patch of the bug #12144 to display status of Handler_read_next before and after the tested query. mysql-test/t/null_key.test 1.12 05/07/28 16:04:14 igor@stripped +27 -3 Modified the test case for patch of the bug #12144 to display status of Handler_read_next before and after the tested query. mysql-test/r/null_key.result 1.30 05/07/28 16:01:09 igor@stripped +39 -3 Modified the test case for patch of the bug #12144 to display status of Handler_read_next before and after the tested query. # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: igor # Host: rurik.mysql.com # Root: /home/igor/dev/mysql-4.1-0 --- 1.29/mysql-test/r/null_key.result Thu Jul 28 13:21:06 2005 +++ 1.30/mysql-test/r/null_key.result Thu Jul 28 16:01:09 2005 @@ -367,23 +367,51 @@ CREATE TABLE t1 (a int); CREATE TABLE t2 (a int, b int, INDEX idx(a)); CREATE TABLE t3 (b int, INDEX idx(b)); +CREATE TABLE t4 (b int, INDEX idx(b)); INSERT INTO t1 VALUES (1), (2), (3), (4); INSERT INTO t2 VALUES (1, 1), (3, 1); INSERT INTO t3 VALUES (NULL), (NULL), (NULL), (NULL), (NULL), -(NULL), (NULL), (NULL), (NULL), (NULL), -(2); +(NULL), (NULL), (NULL), (NULL), (NULL); +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t3 VALUES (2), (3); ANALYZE table t1, t2, t3; Table Op Msg_type Msg_text test.t1 analyze status OK test.t2 analyze status OK test.t3 analyze status OK +SELECT COUNT(*) FROM t3; +COUNT(*) +15972 EXPLAIN SELECT SQL_CALC_FOUND_ROWS * FROM t1 LEFT JOIN t2 ON t1.a=t2.a LEFT JOIN t3 ON t2.b=t3.b; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 4 1 SIMPLE t2 ref idx idx 5 test.t1.a 1 1 SIMPLE t3 ref idx idx 5 test.t2.b 1 Using index +SHOW STATUS LIKE "handler_read%"; +Variable_name Value +Handler_read_first 25 +Handler_read_key 63 +Handler_read_next 25979 +Handler_read_prev 0 +Handler_read_rnd 0 +Handler_read_rnd_next 147 SELECT SQL_CALC_FOUND_ROWS * FROM t1 LEFT JOIN t2 ON t1.a=t2.a LEFT JOIN t3 ON t2.b=t3.b; a a b b @@ -391,7 +419,15 @@ 2 NULL NULL NULL 3 3 1 NULL 4 NULL NULL NULL +SHOW STATUS LIKE "handler_read%"; +Variable_name Value +Handler_read_first 25 +Handler_read_key 69 +Handler_read_next 25981 +Handler_read_prev 0 +Handler_read_rnd 0 +Handler_read_rnd_next 152 SELECT FOUND_ROWS(); FOUND_ROWS() 4 -DROP TABLE t1,t2,t3; +DROP TABLE t1,t2,t3,t4; --- 1.11/mysql-test/t/null_key.test Thu Jul 28 13:39:03 2005 +++ 1.12/mysql-test/t/null_key.test Thu Jul 28 16:04:14 2005 @@ -200,21 +200,45 @@ CREATE TABLE t1 (a int); CREATE TABLE t2 (a int, b int, INDEX idx(a)); CREATE TABLE t3 (b int, INDEX idx(b)); +CREATE TABLE t4 (b int, INDEX idx(b)); INSERT INTO t1 VALUES (1), (2), (3), (4); INSERT INTO t2 VALUES (1, 1), (3, 1); INSERT INTO t3 VALUES (NULL), (NULL), (NULL), (NULL), (NULL), - (NULL), (NULL), (NULL), (NULL), (NULL), - (2); + (NULL), (NULL), (NULL), (NULL), (NULL); +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t4 SELECT * FROM t3; +INSERT INTO t3 SELECT * FROM t4; +INSERT INTO t3 VALUES (2), (3); + ANALYZE table t1, t2, t3; +SELECT COUNT(*) FROM t3; + EXPLAIN SELECT SQL_CALC_FOUND_ROWS * FROM t1 LEFT JOIN t2 ON t1.a=t2.a LEFT JOIN t3 ON t2.b=t3.b; +SHOW STATUS LIKE "handler_read%"; + SELECT SQL_CALC_FOUND_ROWS * FROM t1 LEFT JOIN t2 ON t1.a=t2.a LEFT JOIN t3 ON t2.b=t3.b; +SHOW STATUS LIKE "handler_read%"; + SELECT FOUND_ROWS(); -DROP TABLE t1,t2,t3; +DROP TABLE t1,t2,t3,t4; # End of 4.1 tests