diff options
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r-- | sql/sql_lex.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 08f0c3badf7..43a7e06724d 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -1755,12 +1755,13 @@ bool st_lex::need_correct_ident() void st_select_lex_unit::set_limit(SELECT_LEX *sl) { - ulonglong select_limit_val; + ha_rows select_limit_val; DBUG_ASSERT(! thd->current_arena->is_stmt_prepare()); - select_limit_val= sl->select_limit ? sl->select_limit->val_uint() : - HA_POS_ERROR; - offset_limit_cnt= sl->offset_limit ? sl->offset_limit->val_uint() : ULL(0); + select_limit_val= (ha_rows)(sl->select_limit ? sl->select_limit->val_uint() : + HA_POS_ERROR); + offset_limit_cnt= (ha_rows)(sl->offset_limit ? sl->offset_limit->val_uint() : + ULL(0)); select_limit_cnt= select_limit_val + offset_limit_cnt; if (select_limit_cnt < select_limit_val) select_limit_cnt= HA_POS_ERROR; // no limit |