diff options
author | unknown <bell@sanja.is.com.ua> | 2003-12-10 22:46:14 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2003-12-10 22:46:14 +0200 |
commit | fc75518a78af9dfb68baac2cbf279983fe54b492 (patch) | |
tree | ae06b7876934d32768f586a08de67e43088d1fad /sql/item_subselect.cc | |
parent | e0daf11201dd6e81af73c1c74270039e73845a24 (diff) | |
download | mariadb-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.cc | 5 |
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() |