summaryrefslogtreecommitdiff
path: root/sql/sql_do.cc
diff options
context:
space:
mode:
authordlenev@brandersnatch.localdomain <>2004-11-22 13:05:10 +0300
committerdlenev@brandersnatch.localdomain <>2004-11-22 13:05:10 +0300
commitc37977c87d1d26a81ea44275d853e636532e2a16 (patch)
tree1468219151ed11a517ea8241f83b9f4b8f952ff2 /sql/sql_do.cc
parenta2177a2f351c8d2892f8e4202c2ef45118bdfe86 (diff)
downloadmariadb-git-c37977c87d1d26a81ea44275d853e636532e2a16.tar.gz
Fix for bug #6462 "Same request on same data returns different
results." a.k.a. "Proper cleanup of subqueries is missing for SET and DO statements". (Version #2 with after-review fixes). To perform proper cleanup for statements that can contain subqueries but don't have main select we must call free_undelaid_joins().
Diffstat (limited to 'sql/sql_do.cc')
-rw-r--r--sql/sql_do.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_do.cc b/sql/sql_do.cc
index 25a8359f3d2..0d4529fb29e 100644
--- a/sql/sql_do.cc
+++ b/sql/sql_do.cc
@@ -29,6 +29,7 @@ int mysql_do(THD *thd, List<Item> &values)
DBUG_RETURN(-1);
while ((value = li++))
value->val_int();
+ free_underlaid_joins(thd, &thd->lex->select_lex);
thd->clear_error(); // DO always is OK
send_ok(thd);
DBUG_RETURN(0);