mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
cleanup: Refactor select_limit in select lex
Replace * select_lex::offset_limit * select_lex::select_limit * select_lex::explicit_limit with select_lex::Lex_select_limit The Lex_select_limit already existed with the same elements and was used in by the yacc parser. This commit is in preparation for FETCH FIRST implementation, as it simplifies a lot of the code. Additionally, the parser is simplified by making use of the stack to return Lex_select_limit objects. Cleanup of init_query() too. Removes explicit_limit= 0 as it's done a bit later in init_select() with limit_params.empty()
This commit is contained in:
@ -257,9 +257,10 @@ static ORDER *create_distinct_group(THD *thd, Ref_ptr_array ref_pointer_array,
|
||||
static bool test_if_subpart(ORDER *a,ORDER *b);
|
||||
static TABLE *get_sort_by_table(ORDER *a,ORDER *b,List<TABLE_LIST> &tables,
|
||||
table_map const_tables);
|
||||
static void calc_group_buffer(JOIN *join,ORDER *group);
|
||||
static void calc_group_buffer(JOIN *join, ORDER *group);
|
||||
static bool make_group_fields(JOIN *main_join, JOIN *curr_join);
|
||||
static bool alloc_group_fields(JOIN *join,ORDER *group);
|
||||
static bool alloc_group_fields(JOIN *join, ORDER *group);
|
||||
static bool alloc_order_fields(JOIN *join, ORDER *group);
|
||||
// Create list for using with tempory table
|
||||
static bool change_to_use_tmp_fields(THD *thd, Ref_ptr_array ref_pointer_array,
|
||||
List<Item> &new_list1,
|
||||
@ -22034,7 +22035,7 @@ end_send(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)),
|
||||
{
|
||||
join->do_send_rows= 0;
|
||||
if (join->unit->fake_select_lex)
|
||||
join->unit->fake_select_lex->select_limit= 0;
|
||||
join->unit->fake_select_lex->limit_params.select_limit= 0;
|
||||
DBUG_RETURN(NESTED_LOOP_OK);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user