summaryrefslogtreecommitdiff
path: root/sql/item_subselect.h
diff options
context:
space:
mode:
authorunknown <hf@deer.(none)>2003-12-06 23:37:24 +0400
committerunknown <hf@deer.(none)>2003-12-06 23:37:24 +0400
commit8a833992e668806ce53778a71dc25d03c9dcd8d1 (patch)
treec197ea3c314656fc5c4d9c91c3bfca2b8f7deeba /sql/item_subselect.h
parent5ff40e029559754ae515722929aa878174fd9b45 (diff)
downloadmariadb-git-8a833992e668806ce53778a71dc25d03c9dcd8d1.tar.gz
Fix for #1992
This bug happens when a query, having subselects in the fields list, needs temporary table. Item_subselect::get_tmp_table_item isn't implemented and just returns *this. So the tmp_table_item takes value not from temporary but from original table. mysql-test/r/subselect.result: appropriate test result added mysql-test/t/subselect.test: test case added sql/item_subselect.cc: Item_subselect::get_tmp_table_item implementation sql/item_subselect.h: Item_subselect::get_tmp_table_item declaration
Diffstat (limited to 'sql/item_subselect.h')
-rw-r--r--sql/item_subselect.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/item_subselect.h b/sql/item_subselect.h
index 8444dc7bf66..84f5de5a622 100644
--- a/sql/item_subselect.h
+++ b/sql/item_subselect.h
@@ -89,6 +89,7 @@ public:
bool const_item() const;
inline table_map get_used_tables_cache() { return used_tables_cache; }
inline bool get_const_item_cache() { return const_item_cache; }
+ Item *get_tmp_table_item(THD *thd);
void update_used_tables();
void print(String *str);
bool change_engine(subselect_engine *eng)