mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
d433fe5580
Current table is placed into read_tables set of the current join_tab->select so get_mm_parts function thinks that current table's record is read and tries to calculate WHERE condition with the fields of the record. Result of these calculations is unpredictable. Looks funny - outcome of the SELECT depends on the queries executed before. Anyway i think we should have testcase on this part of the code. mysql-test/r/sel000001.result: appropriate result added mysql-test/t/sel000001.test: testcase added sql/sql_select.cc: I think we should count current table out of read_tables set
21 lines
581 B
Text
21 lines
581 B
Text
DROP TABLE IF EXISTS t1;
|
|
CREATE TABLE t1 (s CHAR(20) PRIMARY KEY, id INT);
|
|
INSERT INTO t1 VALUES ('cat', 1), ('mouse', 3), ('dog', 2), ('snake', 77);
|
|
SELECT s, id FROM t1 WHERE s = 'mouse';
|
|
s id
|
|
mouse 3
|
|
drop table t1;
|
|
CREATE TABLE t1 (
|
|
node int(11) NOT NULL default '0',
|
|
maxchild int(11) NOT NULL default '0',
|
|
PRIMARY KEY (`node`)
|
|
);
|
|
INSERT INTO t1 (node, maxchild) VALUES (4,4),(5,5),(1,244);
|
|
SELECT * FROM t1 g1, t1 g2
|
|
WHERE g1.node <= g2.node and g2.node <= g1.maxchild and g2.node = g2.maxchild;
|
|
node maxchild node maxchild
|
|
4 4 4 4
|
|
5 5 5 5
|
|
1 244 4 4
|
|
1 244 5 5
|
|
DROP TABLE t1;
|