Commit c8ae9f96 authored by serg@serg.mylan's avatar serg@serg.mylan

don't crash when in XA PREPARE not all storage engines are 2pc-capable

parent 891885e9
......@@ -570,12 +570,20 @@ int ha_prepare(THD *thd)
{
int err;
statistic_increment(thd->status_var.ha_prepare_count,&LOCK_status);
if ((err= (*(*ht)->prepare)(thd, all)))
if ((*ht)->prepare)
{
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
ha_rollback_trans(thd, all);
error=1;
break;
if ((err= (*(*ht)->prepare)(thd, all)))
{
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
ha_rollback_trans(thd, all);
error=1;
break;
}
}
else
{
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA, ER(ER_ILLEGAL_HA), (*ht)->name);
}
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment