summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorunknown <konstantin@mysql.com>2006-02-02 18:17:18 +0300
committerunknown <konstantin@mysql.com>2006-02-02 18:17:18 +0300
commit95a3509a6637699fdcc26d7042013778c5e55d08 (patch)
tree336ed0f3ebd53f06d2b14904f4fd937b5fe487c6 /sql/sql_select.cc
parent9b3e6c27b0615270042cff92c88cb338ded9b69f (diff)
parent1e686ae7702d297cc9fd261c42864653f4fdd7b3 (diff)
downloadmariadb-git-95a3509a6637699fdcc26d7042013778c5e55d08.tar.gz
Merge mysql.com:/opt/local/work/mysql-4.1-root
into mysql.com:/opt/local/work/mysql-5.0-root BitKeeper/deleted/.del-rpl_ignore_table.result: Delete: mysql-test/r/rpl_ignore_table.result BitKeeper/deleted/.del-rpl_multi_update4.result: Delete: mysql-test/r/rpl_multi_update4.result BitKeeper/deleted/.del-rpl_ignore_table-slave.opt: Delete: mysql-test/t/rpl_ignore_table-slave.opt BitKeeper/deleted/.del-rpl_ignore_table.test: Delete: mysql-test/t/rpl_ignore_table.test BitKeeper/deleted/.del-rpl_multi_update4-slave.opt: Delete: mysql-test/t/rpl_multi_update4-slave.opt BitKeeper/deleted/.del-disabled.def: Auto merged BitKeeper/deleted/.del-rpl_multi_update4.test: Delete: mysql-test/t/rpl_multi_update4.test heap/hp_create.c: Auto merged mysql-test/r/date_formats.result: Auto merged mysql-test/r/myisam.result: Auto merged mysql-test/r/update.result: Auto merged mysql-test/t/date_formats.test: Auto merged mysql-test/t/heap.test: Auto merged mysql-test/t/kill.test: Auto merged mysql-test/t/update.test: Auto merged ndb/include/mgmapi/mgmapi_config_parameters.h: Auto merged ndb/test/ndbapi/testBlobs.cpp: Auto merged sql/sql_base.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_select.h: Auto merged configure.in: Manual merge. libmysql/libmysql.c: Manual merge. mysql-test/r/heap.result: Manual merge. mysql-test/r/heap_hash.result: Manual merge. mysql-test/r/kill.result: Manual merge. sql/ha_heap.cc: Manual merge. sql/ha_heap.h: Manual merge. sql/item_timefunc.cc: Manual merge. sql/sql_class.cc: Manual merge. sql/sql_parse.cc: Manual merge. sql/sql_update.cc: Manual merge. tests/mysql_client_test.c: Manual merge.
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 63d46934555..732956b63a6 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -6016,6 +6016,20 @@ void JOIN::cleanup(bool full)
problems in free_elements() as some of the elements are then deleted.
*/
tmp_table_param.copy_funcs.empty();
+ /*
+ If we have tmp_join and 'this' JOIN is not tmp_join and
+ tmp_table_param.copy_field's of them are equal then we have to remove
+ pointer to tmp_table_param.copy_field from tmp_join, because it qill
+ be removed in tmp_table_param.cleanup().
+ */
+ if (tmp_join &&
+ tmp_join != this &&
+ tmp_join->tmp_table_param.copy_field ==
+ tmp_table_param.copy_field)
+ {
+ tmp_join->tmp_table_param.copy_field=
+ tmp_join->tmp_table_param.save_copy_field= 0;
+ }
tmp_table_param.cleanup();
}
DBUG_VOID_RETURN;