1
0
mirror of https://github.com/MariaDB/server.git synced 2026-10-23 18:49:29 +03:00

MDEV-38349 Fix assert thd->abort_on_warning == 0 in mysql_insert

When prepare_for_replace() fails, the code returned early via
DBUG_RETURN(1), bypassing the abort label which resets
thd->abort_on_warning to 0. This left the THD in a dirty state,
triggering the dispatch_command assertion at end of command dispatch.

Signed-off-by: Amodh Dhakal <amodhakal@gmail.com>
This commit is contained in:
Amodh Dhakal
2026-03-01 17:29:04 -05:00
committed by Daniel Black
parent 689cf818ff
commit d477356e5b
3 changed files with 27 additions and 1 deletions

View File

@@ -988,7 +988,8 @@ bool mysql_insert(THD *thd, TABLE_LIST *table_list,
#endif /* EMBEDDED_LIBRARY */
{
if (prepare_for_replace(table, info.handle_duplicates, info.ignore))
DBUG_RETURN(1);
goto abort;
/**
This is a simple check for the case when the table has a trigger
that reads from it, or when the statement invokes a stored function