diff options
author | unknown <bell@sanja.is.com.ua> | 2002-10-27 21:29:40 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2002-10-27 21:29:40 +0200 |
commit | d2c7f44ff638ab28970f25baccc87210388588cd (patch) | |
tree | d2ce1d2c09a200b3dc296e46b22eef59598dbf41 /sql/sql_union.cc | |
parent | 5a3fe219fb6e094f194f5dacf89020955db46c8e (diff) | |
download | mariadb-git-d2c7f44ff638ab28970f25baccc87210388588cd.tar.gz |
fixed union rexecution bug
mysql-test/r/subselect.result:
test for union rexecution bug
mysql-test/t/subselect.test:
test for union rexecution bug
Diffstat (limited to 'sql/sql_union.cc')
-rw-r--r-- | sql/sql_union.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/sql_union.cc b/sql/sql_union.cc index f1c80bf8546..899dceab9bc 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -199,8 +199,12 @@ int st_select_lex_unit::exec() { DBUG_ENTER("st_select_lex_unit::exec"); SELECT_LEX *lex_select_save= thd->lex.select; - - if(depended || !item || !item->assigned()) + + if (executed && !depended) + DBUG_RETURN(0); + executed= 1; + + if (depended || !item || !item->assigned()) { if (optimized && item && item->assigned()) item->assigned(0); // We will reinit & rexecute unit |