From 620b2e6e8b42d62cecec69b696c9781faa86d29e Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 16 Oct 2002 22:27:47 +0300 Subject: [PATCH] fix of the small bug in UNION's mysql-test/r/heap_btree.result: I donno why this changed, aint my fault sql/sql_union.cc: fix of the small bug --- mysql-test/r/heap_btree.result | 2 +- sql/sql_union.cc | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/mysql-test/r/heap_btree.result b/mysql-test/r/heap_btree.result index 0e8a32bd7b7..846a852738b 100644 --- a/mysql-test/r/heap_btree.result +++ b/mysql-test/r/heap_btree.result @@ -73,8 +73,8 @@ type=heap; insert into t1 values (1,1),(2,2),(1,3),(2,4),(2,5),(2,6); select * from t1 where x=1; x y -1 1 1 3 +1 1 select * from t1,t1 as t2 where t1.x=t2.y; x y x y 1 1 1 1 diff --git a/sql/sql_union.cc b/sql/sql_union.cc index 01b0eb9e6ec..eaeec2c1e68 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -109,7 +109,7 @@ int st_select_lex_unit::prepare(THD *thd, select_result *result) if (prepared) DBUG_RETURN(0); prepared= 1; - + union_result=0; describe=(first_select()->options & SELECT_DESCRIBE) ? 1 : 0; res= 0; found_rows_for_union= false; @@ -309,10 +309,12 @@ int st_select_lex_unit::exec() int st_select_lex_unit::cleanup() { DBUG_ENTER("st_select_lex_unit::cleanup"); - delete union_result; - free_tmp_table(thd,table); - table= 0; // Safety - + if (union_result) + { + delete union_result; + free_tmp_table(thd,table); + table= 0; // Safety + } List_iterator j(joins); JOIN** join; while ((join= j++))