mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into mysql.com:/home/hf/work/32942/my51-32942
This commit is contained in:
commit
06c85bc1f0
3 changed files with 40 additions and 1 deletions
|
@ -4319,6 +4319,27 @@ SELECT * FROM t1 WHERE a IN (CONCAT('foo', 0), 'bar');
|
|||
a
|
||||
foo0
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
CREATE TABLE t2 (a INT, c INT, KEY(a));
|
||||
INSERT INTO t1 VALUES (1, 1), (2, 2);
|
||||
INSERT INTO t2 VALUES (1, 1), (1, 2), (1, 3), (1, 4), (1, 5),
|
||||
(2, 1), (2, 2), (2, 3), (2, 4), (2, 5),
|
||||
(3, 1), (3, 2), (3, 3), (3, 4), (3, 5),
|
||||
(4, 1), (4, 2), (4, 3), (4, 4), (4, 5);
|
||||
FLUSH STATUS;
|
||||
SELECT DISTINCT b FROM t1 LEFT JOIN t2 USING(a) WHERE c <= 3;
|
||||
b
|
||||
1
|
||||
2
|
||||
SHOW STATUS LIKE 'Handler_read%';
|
||||
Variable_name Value
|
||||
Handler_read_first 0
|
||||
Handler_read_key 2
|
||||
Handler_read_next 0
|
||||
Handler_read_prev 0
|
||||
Handler_read_rnd 0
|
||||
Handler_read_rnd_next 6
|
||||
DROP TABLE t1, t2;
|
||||
End of 5.0 tests
|
||||
create table t1(a INT, KEY (a));
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
|
||||
|
|
|
@ -3672,6 +3672,24 @@ INSERT INTO t1 (a) VALUES ('foo0'), ('bar0'), ('baz0');
|
|||
SELECT * FROM t1 WHERE a IN (CONCAT('foo', 0), 'bar');
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #32942 now() - interval '7200' second is NOT pre-calculated, causing "full table scan"
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
CREATE TABLE t2 (a INT, c INT, KEY(a));
|
||||
|
||||
INSERT INTO t1 VALUES (1, 1), (2, 2);
|
||||
INSERT INTO t2 VALUES (1, 1), (1, 2), (1, 3), (1, 4), (1, 5),
|
||||
(2, 1), (2, 2), (2, 3), (2, 4), (2, 5),
|
||||
(3, 1), (3, 2), (3, 3), (3, 4), (3, 5),
|
||||
(4, 1), (4, 2), (4, 3), (4, 4), (4, 5);
|
||||
|
||||
FLUSH STATUS;
|
||||
SELECT DISTINCT b FROM t1 LEFT JOIN t2 USING(a) WHERE c <= 3;
|
||||
SHOW STATUS LIKE 'Handler_read%';
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
|
|
@ -11178,7 +11178,7 @@ evaluate_join_record(JOIN *join, JOIN_TAB *join_tab,
|
|||
we found a row, as no new rows can be added to the result.
|
||||
*/
|
||||
if (not_used_in_distinct && found_records != join->found_records)
|
||||
return NESTED_LOOP_OK;
|
||||
return NESTED_LOOP_NO_MORE_ROWS;
|
||||
}
|
||||
else
|
||||
join_tab->read_record.file->unlock_row();
|
||||
|
|
Loading…
Reference in a new issue