summaryrefslogtreecommitdiff
path: root/sql/sql_derived.cc
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2004-09-17 19:08:46 +0300
committerunknown <bell@sanja.is.com.ua>2004-09-17 19:08:46 +0300
commit580f12cc048cac99e5594ce94ab0b2ca63cad41a (patch)
tree022a3cf7464979f652d1c7ab9f1cd44108d5a639 /sql/sql_derived.cc
parentf177c76fb226f70be426175f3d53eed557096ba4 (diff)
downloadmariadb-git-580f12cc048cac99e5594ce94ab0b2ca63cad41a.tar.gz
fixed error handling if creating derived table failed
single row subquery always can return NULL (no rows found) (BUG#5590) mysql-test/r/subselect.result: maybe_null flag returning by subquwery for temporary table creation mysql-test/t/subselect.test: maybe_null flag returning by subquwery for temporary table creation sql/item.cc: storing maybe_null in type holder sql/item_subselect.cc: single row subquery always can return NULL (no rows found) sql/sql_derived.cc: fixed error handling if creating derived table failed
Diffstat (limited to 'sql/sql_derived.cc')
-rw-r--r--sql/sql_derived.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc
index 05ad2094372..906ef646f47 100644
--- a/sql/sql_derived.cc
+++ b/sql/sql_derived.cc
@@ -224,7 +224,10 @@ static int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit,
}
}
else
+ {
free_tmp_table(thd, table);
+ thd->lex->unit.cleanup();
+ }
exit:
delete derived_result;