summaryrefslogtreecommitdiff
path: root/sql/set_var.cc
diff options
context:
space:
mode:
authordlenev@mysql.com <>2004-11-22 13:06:31 +0300
committerdlenev@mysql.com <>2004-11-22 13:06:31 +0300
commit64cd633f43bec240df9181f72e63e11ecbf11032 (patch)
tree4c8f585f4cd208e68c7c3ddd4274ab4141ef3bee /sql/set_var.cc
parent3082312fa80408b9b8baaece27bfa162a40e09ba (diff)
parentc37977c87d1d26a81ea44275d853e636532e2a16 (diff)
downloadmariadb-git-64cd633f43bec240df9181f72e63e11ecbf11032.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg6462
Diffstat (limited to 'sql/set_var.cc')
-rw-r--r--sql/set_var.cc17
1 files changed, 11 insertions, 6 deletions
diff --git a/sql/set_var.cc b/sql/set_var.cc
index f1973b53e49..2031ac15412 100644
--- a/sql/set_var.cc
+++ b/sql/set_var.cc
@@ -2733,13 +2733,18 @@ int sql_set_variables(THD *thd, List<set_var_base> *var_list)
while ((var=it++))
{
if ((error=var->check(thd)))
- DBUG_RETURN(error);
+ goto err;
}
- if (thd->net.report_error)
- DBUG_RETURN(1);
- it.rewind();
- while ((var=it++))
- error|= var->update(thd); // Returns 0, -1 or 1
+ if (!thd->net.report_error)
+ {
+ it.rewind();
+ while ((var= it++))
+ error|= var->update(thd); // Returns 0, -1 or 1
+ }
+ else
+ error= 1;
+err:
+ free_underlaid_joins(thd, &thd->lex->select_lex);
DBUG_RETURN(error);
}