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

Merge branch '11.8' into 12.0

This commit is contained in:
Oleksandr Byelkin
2025-06-18 07:50:39 +02:00
271 changed files with 4921 additions and 1348 deletions

View File

@@ -4771,7 +4771,7 @@ restart:
goto error;
error= FALSE;
pthread_yield();
std::this_thread::yield();
goto restart;
}
goto error;
@@ -4837,7 +4837,7 @@ restart:
error= FALSE;
sroutine_to_open= &thd->lex->sroutines_list.first;
pthread_yield();
std::this_thread::yield();
goto restart;
}
/*
@@ -5118,6 +5118,7 @@ prepare_fk_prelocking_list(THD *thd, Query_tables_list *prelocking_ctx,
FOREIGN_KEY_INFO *fk;
Query_arena *arena, backup;
TABLE *table= table_list->table;
bool error= FALSE;
if (!table->file->referenced_by_foreign_key())
DBUG_RETURN(FALSE);
@@ -5153,10 +5154,24 @@ prepare_fk_prelocking_list(THD *thd, Query_tables_list *prelocking_ctx,
tl->init_one_table_for_prelocking(fk->foreign_db, fk->foreign_table,
NULL, lock_type, TABLE_LIST::PRELOCK_FK, table_list->belong_to_view,
op, &prelocking_ctx->query_tables_last, table_list->for_insert_data);
#ifdef WITH_WSREP
/*
Append table level shared key for the referenced/foreign table for:
- statement that updates existing rows (UPDATE, multi-update)
- statement that deletes existing rows (DELETE, DELETE_MULTI)
This is done to avoid potential MDL conflicts with concurrent DDLs.
*/
if (wsrep_foreign_key_append(thd, fk))
{
error= TRUE;
break;
}
#endif // WITH_WSREP
}
if (arena)
thd->restore_active_arena(arena, &backup);
DBUG_RETURN(FALSE);
DBUG_RETURN(error);
}
/**