summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorunknown <holyfoot/hf@deer.(none)>2006-11-19 22:26:36 +0400
committerunknown <holyfoot/hf@deer.(none)>2006-11-19 22:26:36 +0400
commit1fbe1fc3b0ac8ff351e9d6910471c739310df86c (patch)
tree4cc9e562442c1f919e665d747203f83c48971d1c /sql/sql_select.cc
parent8b0e79f2c01d971107be9078c4ff649f93c95762 (diff)
parent3ebdcee5c64f29e7a4d4876b25f1e7afe6b52a60 (diff)
downloadmariadb-git-1fbe1fc3b0ac8ff351e9d6910471c739310df86c.tar.gz
Merge mysql.com:/home/hf/work/mysql-5.0-0mrg
into mysql.com:/home/hf/work/mysql-5.1-mrg client/mysqltest.c: Auto merged include/my_time.h: Auto merged include/mysql.h: Auto merged libmysql/libmysql.c: Auto merged libmysqld/lib_sql.cc: Auto merged mysql-test/r/gis-rtree.result: Auto merged mysql-test/r/order_by.result: Auto merged mysql-test/include/deadlock.inc: Auto merged mysql-test/r/query_cache.result: Auto merged mysql-test/r/subselect.result: Auto merged mysql-test/r/type_newdecimal.result: Auto merged mysql-test/t/flush.test: Auto merged mysql-test/t/flush_block_commit.test: Auto merged mysql-test/t/innodb-lock.test: Auto merged mysql-test/t/lock_multi.test: Auto merged mysql-test/t/mysql.test: Auto merged mysql-test/t/query_cache.test: Auto merged mysql-test/t/rename.test: Auto merged mysql-test/t/show_check.test: Auto merged mysql-test/t/status.test: Auto merged mysql-test/t/subselect.test: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/handler.cc: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/item_subselect.cc: Auto merged sql/item_subselect.h: Auto merged sql/item_sum.cc: Auto merged sql/item_sum.h: Auto merged sql/item_timefunc.cc: Auto merged sql/item_timefunc.h: Auto merged sql/mysql_priv.h: Auto merged sql/protocol.cc: Auto merged sql/protocol.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_yacc.yy: Auto merged sql-common/client.c: Auto merged sql-common/my_time.c: Auto merged sql/table.cc: Auto merged Makefile.am: SCCS merged mysql-test/t/order_by.test: SCCS merged mysql-test/t/type_newdecimal.test: merging
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index ad0cad0631c..231a760453c 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -13833,9 +13833,16 @@ setup_copy_fields(THD *thd, TMP_TABLE_PARAM *param,
if (real_pos->type() == Item::FIELD_ITEM)
{
Item_field *item;
- pos= real_pos;
- if (!(item= new Item_field(thd, ((Item_field*) pos))))
+ if (!(item= new Item_field(thd, ((Item_field*) real_pos))))
goto err;
+ if (pos->type() == Item::REF_ITEM)
+ {
+ /* preserve the names of the ref when dereferncing */
+ Item_ref *ref= (Item_ref *) pos;
+ item->db_name= ref->db_name;
+ item->table_name= ref->table_name;
+ item->name= ref->name;
+ }
pos= item;
if (item->field->flags & BLOB_FLAG)
{