summaryrefslogtreecommitdiff
path: root/sql/item_subselect.cc
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2003-12-10 22:46:14 +0200
committerunknown <bell@sanja.is.com.ua>2003-12-10 22:46:14 +0200
commitfc75518a78af9dfb68baac2cbf279983fe54b492 (patch)
treeae06b7876934d32768f586a08de67e43088d1fad /sql/item_subselect.cc
parente0daf11201dd6e81af73c1c74270039e73845a24 (diff)
downloadmariadb-git-fc75518a78af9dfb68baac2cbf279983fe54b492.tar.gz
fixed unlocking tables during subquery execution (BUG#2048)
mysql-test/r/subselect_innodb.result: bug 2048 test mysql-test/t/subselect_innodb.test: bug 2048 test sql/item_subselect.cc: do not unlock tables for subqueries sql/sql_derived.cc: derived table tables can be unlocked sql/sql_lex.h: new interface to pass additional options sql/sql_union.cc: new interface to pass additional options do not unlock tables for UNION
Diffstat (limited to 'sql/item_subselect.cc')
-rw-r--r--sql/item_subselect.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc
index 7b401b50d4c..04458a7961a 100644
--- a/sql/item_subselect.cc
+++ b/sql/item_subselect.cc
@@ -906,7 +906,8 @@ int subselect_single_select_engine::prepare()
{
if (prepared)
return 0;
- join= new JOIN(thd, select_lex->item_list, select_lex->options, result);
+ join= new JOIN(thd, select_lex->item_list,
+ select_lex->options | SELECT_NO_UNLOCK, result);
if (!join || !result)
{
thd->fatal_error(); //out of memory
@@ -933,7 +934,7 @@ int subselect_single_select_engine::prepare()
int subselect_union_engine::prepare()
{
- return unit->prepare(thd, result);
+ return unit->prepare(thd, result, SELECT_NO_UNLOCK);
}
int subselect_uniquesubquery_engine::prepare()