summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2002-11-06 22:38:06 +0200
committerunknown <bell@sanja.is.com.ua>2002-11-06 22:38:06 +0200
commitef5edca39360f1a84591b6004d7b2eecb39b5a35 (patch)
tree79777cb76a78c23ed96d07c4e7a3844fb919f234
parent115812157ccbdf9cec5db115382fb72089a89719 (diff)
downloadmariadb-git-ef5edca39360f1a84591b6004d7b2eecb39b5a35.tar.gz
cleanup & fixing possible bug in select's error handling
-rw-r--r--sql/sql_select.cc10
1 files changed, 4 insertions, 6 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 20d9c1ca208..b9162daadaa 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -444,7 +444,7 @@ JOIN::optimize()
best_read > (double) thd->variables.max_join_size &&
!(select_options & SELECT_DESCRIBE))
{ /* purecov: inspected */
- result->send_error(ER_TOO_BIG_SELECT,ER(ER_TOO_BIG_SELECT)); /* purecov: inspected */
+ my_message(ER_TOO_BIG_SELECT, ER(ER_TOO_BIG_SELECT), MYF(0));
error= 1; /* purecov: inspected */
DBUG_RETURN(-1);
}
@@ -670,10 +670,7 @@ JOIN::exec()
if (!having || having->val_int())
{
if (do_send_rows && result->send_data(fields_list))
- {
- result->send_error(0,NullS); /* purecov: inspected */
error= 1;
- }
else
error= (int) result->send_eof();
}
@@ -1092,12 +1089,13 @@ err:
thd->limit_found_rows = join->send_records;
thd->examined_row_count = join->examined_rows;
thd->proc_info="end";
- int error= (fake_select_lex?0:join->cleanup(thd)) || thd->net.report_error;
+ int error= (fake_select_lex?join->error:join->cleanup(thd)) ||
+ thd->net.report_error;
delete join;
DBUG_RETURN(error);
}
else
- DBUG_RETURN(0);
+ DBUG_RETURN(join->error);
}
/*****************************************************************************