mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Merge gleb.loc:/home/uchum/work/bk/5.0-opt-29095
into gleb.loc:/home/uchum/work/bk/5.0-opt
This commit is contained in:
@@ -688,7 +688,16 @@ ERROR 42S22: Unknown column 't2.x' in 'field list'
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 (a int PRIMARY KEY);
|
||||
INSERT INTO t1 values (1), (2);
|
||||
flush status;
|
||||
INSERT INTO t1 SELECT a + 2 FROM t1 LIMIT 1;
|
||||
show status like 'Handler_read%';
|
||||
Variable_name Value
|
||||
Handler_read_first 1
|
||||
Handler_read_key 0
|
||||
Handler_read_next 0
|
||||
Handler_read_prev 0
|
||||
Handler_read_rnd 0
|
||||
Handler_read_rnd_next 1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (x int, y int);
|
||||
CREATE TABLE t2 (z int, y int);
|
||||
@@ -773,3 +782,25 @@ d
|
||||
20
|
||||
20
|
||||
DROP TABLE t1,t2;
|
||||
CREATE TABLE t1 (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
prev_id INT,
|
||||
join_id INT DEFAULT 0);
|
||||
INSERT INTO t1 (prev_id) VALUES (NULL), (1), (2);
|
||||
SELECT * FROM t1;
|
||||
id prev_id join_id
|
||||
1 NULL 0
|
||||
2 1 0
|
||||
3 2 0
|
||||
CREATE TABLE t2 (join_id INT);
|
||||
INSERT INTO t2 (join_id) VALUES (0);
|
||||
INSERT INTO t1 (prev_id) SELECT id
|
||||
FROM t2 LEFT JOIN t1 ON t1.join_id = t2.join_id
|
||||
ORDER BY id DESC LIMIT 1;
|
||||
SELECT * FROM t1;
|
||||
id prev_id join_id
|
||||
1 NULL 0
|
||||
2 1 0
|
||||
3 2 0
|
||||
4 3 0
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
@@ -233,7 +233,9 @@ drop table t1,t2;
|
||||
CREATE TABLE t1 (a int PRIMARY KEY);
|
||||
INSERT INTO t1 values (1), (2);
|
||||
|
||||
flush status;
|
||||
INSERT INTO t1 SELECT a + 2 FROM t1 LIMIT 1;
|
||||
show status like 'Handler_read%';
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -332,3 +334,26 @@ INSERT INTO t2 (d)
|
||||
|
||||
SELECT * FROM t2;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug #29095: incorrect pushing of LIMIT into the temporary
|
||||
# table ignoring ORDER BY clause
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
prev_id INT,
|
||||
join_id INT DEFAULT 0);
|
||||
|
||||
INSERT INTO t1 (prev_id) VALUES (NULL), (1), (2);
|
||||
SELECT * FROM t1;
|
||||
|
||||
CREATE TABLE t2 (join_id INT);
|
||||
INSERT INTO t2 (join_id) VALUES (0);
|
||||
|
||||
INSERT INTO t1 (prev_id) SELECT id
|
||||
FROM t2 LEFT JOIN t1 ON t1.join_id = t2.join_id
|
||||
ORDER BY id DESC LIMIT 1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
Reference in New Issue
Block a user