From 804c69ab835eb13f892fbaf1766f923e19ce7d6e Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 10 Feb 2012 16:23:18 +0200 Subject: [PATCH] Fix set_limit to be uniform with all calls. Fix of set_limit in case of an error (actually impossible case but better it will be right) --- sql/sql_derived.cc | 4 ++-- sql/sql_lex.cc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc index 13985becff7..63c5bb30474 100644 --- a/sql/sql_derived.cc +++ b/sql/sql_derived.cc @@ -750,7 +750,7 @@ bool mysql_derived_optimize(THD *thd, LEX *lex, TABLE_LIST *derived) if (!derived->is_merged_derived()) { JOIN *join= first_select->join; - unit->set_limit(first_select); + unit->set_limit(unit->global_parameters); unit->optimized= TRUE; if ((res= join->optimize())) goto err; @@ -865,7 +865,7 @@ bool mysql_derived_fill(THD *thd, LEX *lex, TABLE_LIST *derived) } else { - unit->set_limit(first_select); + unit->set_limit(unit->global_parameters); if (unit->select_limit_cnt == HA_POS_ERROR) first_select->options&= ~OPTION_FOUND_ROWS; diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 04de1325480..9b5c1c0de37 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -2847,7 +2847,7 @@ void st_select_lex_unit::set_limit(st_select_lex *sl) DBUG_ASSERT(fix_fields_successful); } - val= fix_fields_successful ? item->val_uint() : HA_POS_ERROR; + val= fix_fields_successful ? item->val_uint() : 0; } else val= ULL(0);