diff options
author | unknown <bell@sanja.is.com.ua> | 2002-11-06 22:38:06 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2002-11-06 22:38:06 +0200 |
commit | ef5edca39360f1a84591b6004d7b2eecb39b5a35 (patch) | |
tree | 79777cb76a78c23ed96d07c4e7a3844fb919f234 | |
parent | 115812157ccbdf9cec5db115382fb72089a89719 (diff) | |
download | mariadb-git-ef5edca39360f1a84591b6004d7b2eecb39b5a35.tar.gz |
cleanup & fixing possible bug in select's error handling
-rw-r--r-- | sql/sql_select.cc | 10 |
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); } /***************************************************************************** |