mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
don't crash when in XA PREPARE not all storage engines are 2pc-capable
This commit is contained in:
@@ -570,6 +570,8 @@ int ha_prepare(THD *thd)
|
|||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
statistic_increment(thd->status_var.ha_prepare_count,&LOCK_status);
|
statistic_increment(thd->status_var.ha_prepare_count,&LOCK_status);
|
||||||
|
if ((*ht)->prepare)
|
||||||
|
{
|
||||||
if ((err= (*(*ht)->prepare)(thd, all)))
|
if ((err= (*(*ht)->prepare)(thd, all)))
|
||||||
{
|
{
|
||||||
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
|
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
|
||||||
@@ -578,6 +580,12 @@ int ha_prepare(THD *thd)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_ILLEGAL_HA, ER(ER_ILLEGAL_HA), (*ht)->name);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif /* USING_TRANSACTIONS */
|
#endif /* USING_TRANSACTIONS */
|
||||||
DBUG_RETURN(error);
|
DBUG_RETURN(error);
|
||||||
|
Reference in New Issue
Block a user