diff options
author | unknown <evgen@moonbone.local> | 2007-11-19 21:28:50 +0000 |
---|---|---|
committer | unknown <evgen@moonbone.local> | 2007-11-19 21:28:50 +0000 |
commit | 524e1cd93d1a977004956ce675d01e970e310588 (patch) | |
tree | 373ef3324ae1bb80558944a3aa9c661b764dc520 /sql | |
parent | 1c232504a99684c5b2e2533ea5d741cdc95ee009 (diff) | |
parent | b3347a6a980d2ac0a8844cb82168ad40958e44e5 (diff) | |
download | mariadb-git-524e1cd93d1a977004956ce675d01e970e310588.tar.gz |
Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into moonbone.local:/work/31048-bug-5.0-opt-mysql
Diffstat (limited to 'sql')
-rw-r--r-- | sql/item_subselect.cc | 4 | ||||
-rw-r--r-- | sql/opt_range.cc | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc index 57c3b391507..b3710841dfb 100644 --- a/sql/item_subselect.cc +++ b/sql/item_subselect.cc @@ -1800,7 +1800,9 @@ int subselect_single_select_engine::exec() DBUG_RETURN(1); } } - if (select_lex->uncacheable && executed) + if (select_lex->uncacheable && + select_lex->uncacheable != UNCACHEABLE_EXPLAIN + && executed) { if (join->reinit()) { diff --git a/sql/opt_range.cc b/sql/opt_range.cc index 969777d4792..dbdb2b919dc 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -1978,12 +1978,18 @@ int SQL_SELECT::test_quick_select(THD *thd, key_map keys_to_use, keys_to_use.intersect(head->keys_in_use_for_query); if (!keys_to_use.is_clear_all()) { +#ifndef EMBEDDED_LIBRARY // Avoid compiler warning + char buff[STACK_BUFF_ALLOC]; +#endif MEM_ROOT alloc; SEL_TREE *tree= NULL; KEY_PART *key_parts; KEY *key_info; PARAM param; + if (check_stack_overrun(thd, STACK_MIN_SIZE, buff)) + DBUG_RETURN(0); // Fatal error flag is set + /* set up parameter that is passed to all functions */ param.thd= thd; param.baseflag=head->file->table_flags(); |