1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge 10.10 into 10.11

This commit is contained in:
Marko Mäkelä
2023-10-23 18:44:12 +03:00
33 changed files with 1171 additions and 55 deletions

View File

@@ -5337,6 +5337,7 @@ make_join_statistics(JOIN *join, List<TABLE_LIST> &tables_list,
/* The following should be optimized to only clear critical things */
bzero((void*)stat, sizeof(JOIN_TAB)* table_count);
join->top_join_tab_count= table_count;
/* Initialize POSITION objects */
for (i=0 ; i <= table_count ; i++)
@@ -5931,8 +5932,8 @@ make_join_statistics(JOIN *join, List<TABLE_LIST> &tables_list,
join->cond_equal= &((Item_cond_and*) (join->conds))->m_cond_equal;
s->quick=select->quick;
s->needed_reg=select->needed_reg;
select->quick=0;
s->needed_reg=select->needed_reg;
impossible_range= records == 0 && s->table->reginfo.impossible_range;
if (join->thd->lex->sql_command == SQLCOM_SELECT &&
optimizer_flag(join->thd, OPTIMIZER_SWITCH_USE_ROWID_FILTER))
@@ -14772,7 +14773,6 @@ void JOIN_TAB::cleanup()
*/
table->pos_in_table_list->table= NULL;
free_tmp_table(join->thd, table);
table= NULL;
}
else
{
@@ -14785,8 +14785,8 @@ void JOIN_TAB::cleanup()
multiple times (it may be)
*/
tmp->table= NULL;
table= NULL;
}
table= NULL;
DBUG_VOID_RETURN;
}
/*
@@ -16065,7 +16065,8 @@ bool check_simple_equality(THD *thd, const Item::Context &ctx,
Field *left_field= ((Item_field*) left_item)->field;
Field *right_field= ((Item_field*) right_item)->field;
if (!left_field->eq_def(right_field))
if (!left_field->eq_def(right_field) &&
!fields_equal_using_narrowing(thd, left_field, right_field))
return FALSE;
/* Search for multiple equalities containing field1 and/or field2 */