1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-02 09:41:40 +03:00

added mem_root switching for subselect if it is necessary

(bug #518 fixed)


mysql-test/r/subselect.result:
  test of bug #518
mysql-test/t/subselect.test:
  test of bug #518
sql/item_subselect.cc:
  test and switch mem_root if it is necessary
  exec() - wrapper around engine->exec() to test and switch mem_root if necessary
sql/item_subselect.h:
  added storing THD for mem_root testinmg & switching
  exec() - wrapper around engine->exec() to test and switch mem_root if necessary
This commit is contained in:
unknown
2003-05-28 16:52:56 +03:00
parent 15b3f3a0d8
commit a100c0e951
4 changed files with 58 additions and 11 deletions

View File

@@ -1134,3 +1134,17 @@ id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ref salary salary 5 const 1 Using where
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
drop table t1;
CREATE TABLE t1 (
ID int(10) unsigned NOT NULL auto_increment,
SUB_ID int(3) unsigned NOT NULL default '0',
REF_ID int(10) unsigned default NULL,
REF_SUB int(3) unsigned default '0',
PRIMARY KEY (ID,SUB_ID),
UNIQUE KEY t1_PK (ID,SUB_ID),
KEY t1_FK (REF_ID,REF_SUB),
KEY t1_REFID (REF_ID)
) TYPE=MyISAM CHARSET=cp1251;
INSERT INTO t1 VALUES (1,0,NULL,NULL),(2,0,NULL,NULL);
SELECT DISTINCT REF_ID FROM t1 WHERE ID= (SELECT DISTINCT REF_ID FROM t1 WHERE ID=2);
REF_ID
DROP TABLE t1;