MCPcopy Create free account
hub / github.com/MariaDB/server / ha_release_savepoint

Function ha_release_savepoint

sql/handler.cc:3422–3447  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3420}
3421
3422int ha_release_savepoint(THD *thd, SAVEPOINT *sv)
3423{
3424 int error=0;
3425 Ha_trx_info *ha_info= sv->ha_list;
3426 DBUG_ENTER("ha_release_savepoint");
3427
3428 for (; ha_info; ha_info= ha_info->next())
3429 {
3430 int err;
3431 transaction_participant *ht= ha_info->ht();
3432 /* Savepoint life time is enclosed into transaction life time. */
3433 DBUG_ASSERT(ht);
3434 if (!ht->savepoint_release)
3435 continue;
3436 if ((err= ht->savepoint_release(thd, (uchar *)(sv+1) + ht->savepoint_offset)))
3437 { // cannot happen
3438 my_error(ER_GET_ERRNO, MYF(0), err, hton_name(ht)->str);
3439 error=1;
3440 }
3441 }
3442
3443 if (thd->m_transaction_psi != NULL)
3444 MYSQL_INC_TRANSACTION_RELEASE_SAVEPOINT(thd->m_transaction_psi, 1);
3445
3446 DBUG_RETURN(error);
3447}
3448
3449static bool snapshot_handlerton(THD *thd, transaction_participant *hton, void *arg)
3450{

Callers 2

trans_release_savepointFunction · 0.85

Calls 5

my_errorFunction · 0.85
hton_nameFunction · 0.85
htMethod · 0.80
nextMethod · 0.45
savepoint_releaseMethod · 0.45

Tested by

no test coverage detected