summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorAlexey Kopytov <Alexey.Kopytov@Sun.com>2010-08-24 14:44:15 +0400
committerAlexey Kopytov <Alexey.Kopytov@Sun.com>2010-08-24 14:44:15 +0400
commit947c7f3029dea620429e4a56a26bbde80817bdc5 (patch)
treec9d948ebbec6cbf77e58eb8c68710063542130ce /sql
parent8f81ceeb98557b9d7b96754924aa7e3bc268d21d (diff)
parent0e74ac50285b15fae7fda70a809c9b42027e88c2 (diff)
downloadmariadb-git-947c7f3029dea620429e4a56a26bbde80817bdc5.tar.gz
Automerge.
Diffstat (limited to 'sql')
-rw-r--r--sql/field.cc2
-rw-r--r--sql/sql_select.cc22
-rw-r--r--sql/sql_select.h1
3 files changed, 17 insertions, 8 deletions
diff --git a/sql/field.cc b/sql/field.cc
index c887a5f1c9b..619e6a780da 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -1535,7 +1535,7 @@ void Field::make_field(Send_field *field)
}
else
field->org_table_name= field->db_name= "";
- if (orig_table)
+ if (orig_table && orig_table->alias)
{
field->table_name= orig_table->alias;
field->org_col_name= field_name;
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 7ee1762295f..a77c270f709 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -2378,13 +2378,8 @@ JOIN::destroy()
cleanup(1);
/* Cleanup items referencing temporary table columns */
- if (!tmp_all_fields3.is_empty())
- {
- List_iterator_fast<Item> it(tmp_all_fields3);
- Item *item;
- while ((item= it++))
- item->cleanup();
- }
+ cleanup_item_list(tmp_all_fields1);
+ cleanup_item_list(tmp_all_fields3);
if (exec_tmp_table1)
free_tmp_table(thd, exec_tmp_table1);
if (exec_tmp_table2)
@@ -2395,6 +2390,19 @@ JOIN::destroy()
DBUG_RETURN(error);
}
+
+void JOIN::cleanup_item_list(List<Item> &items) const
+{
+ if (!items.is_empty())
+ {
+ List_iterator_fast<Item> it(items);
+ Item *item;
+ while ((item= it++))
+ item->cleanup();
+ }
+}
+
+
/**
An entry point to single-unit select (a select without UNION).
diff --git a/sql/sql_select.h b/sql/sql_select.h
index fbe23bbd8fe..1823eee842d 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -577,6 +577,7 @@ private:
*/
bool implicit_grouping;
bool make_simple_join(JOIN *join, TABLE *tmp_table);
+ void cleanup_item_list(List<Item> &items) const;
};