diff options
author | Michael Widenius <monty@askmonty.org> | 2013-03-26 00:03:13 +0200 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2013-03-26 00:03:13 +0200 |
commit | 068c61978e3a81836d52b8caf11e044290159ad1 (patch) | |
tree | 2cbca861ab2cebe3bd99379ca9668bb483ca0d2a /storage/innobase/trx/trx0undo.cc | |
parent | 35bc8f9f4353b64da215e52ff6f1612a8ce66f43 (diff) | |
download | mariadb-git-068c61978e3a81836d52b8caf11e044290159ad1.tar.gz |
Temporary commit of 10.0-merge
Diffstat (limited to 'storage/innobase/trx/trx0undo.cc')
-rw-r--r-- | storage/innobase/trx/trx0undo.cc | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/storage/innobase/trx/trx0undo.cc b/storage/innobase/trx/trx0undo.cc index 13ad2bb3755..c4480b11366 100644 --- a/storage/innobase/trx/trx0undo.cc +++ b/storage/innobase/trx/trx0undo.cc @@ -413,8 +413,8 @@ trx_undo_page_init( Creates a new undo log segment in file. @return DB_SUCCESS if page creation OK possible error codes are: DB_TOO_MANY_CONCURRENT_TRXS DB_OUT_OF_FILE_SPACE */ -static -ulint +static __attribute__((nonnull, warn_unused_result)) +dberr_t trx_undo_seg_create( /*================*/ trx_rseg_t* rseg __attribute__((unused)),/*!< in: rollback segment */ @@ -435,7 +435,7 @@ trx_undo_seg_create( trx_usegf_t* seg_hdr; ulint n_reserved; ibool success; - ulint err = DB_SUCCESS; + dberr_t err = DB_SUCCESS; ut_ad(mtr && id && rseg_hdr); ut_ad(mutex_own(&(rseg->mutex))); @@ -1468,7 +1468,7 @@ trx_undo_mem_create( if (undo == NULL) { - return NULL; + return(NULL); } undo->id = id; @@ -1551,8 +1551,8 @@ Creates a new undo log. @return DB_SUCCESS if successful in creating the new undo lob object, possible error codes are: DB_TOO_MANY_CONCURRENT_TRXS DB_OUT_OF_FILE_SPACE DB_OUT_OF_MEMORY */ -static -ulint +static __attribute__((nonnull, warn_unused_result)) +dberr_t trx_undo_create( /*============*/ trx_t* trx, /*!< in: transaction */ @@ -1571,7 +1571,7 @@ trx_undo_create( ulint offset; ulint id; page_t* undo_page; - ulint err; + dberr_t err; ut_ad(mutex_own(&(rseg->mutex))); @@ -1746,7 +1746,7 @@ undo log reused. are: DB_TOO_MANY_CONCURRENT_TRXS DB_OUT_OF_FILE_SPACE DB_READ_ONLY DB_OUT_OF_MEMORY */ UNIV_INTERN -ulint +dberr_t trx_undo_assign_undo( /*=================*/ trx_t* trx, /*!< in: transaction */ @@ -1755,7 +1755,7 @@ trx_undo_assign_undo( trx_rseg_t* rseg; trx_undo_t* undo; mtr_t mtr; - ulint err = DB_SUCCESS; + dberr_t err = DB_SUCCESS; ut_ad(trx); @@ -1771,11 +1771,17 @@ trx_undo_assign_undo( mutex_enter(&rseg->mutex); + DBUG_EXECUTE_IF( + "ib_create_table_fail_too_many_trx", + err = DB_TOO_MANY_CONCURRENT_TRXS; + goto func_exit; + ); + undo = trx_undo_reuse_cached(trx, rseg, type, trx->id, &trx->xid, &mtr); if (undo == NULL) { err = trx_undo_create(trx, rseg, type, trx->id, &trx->xid, - &undo, &mtr); + &undo, &mtr); if (err != DB_SUCCESS) { goto func_exit; @@ -1800,7 +1806,7 @@ func_exit: mutex_exit(&(rseg->mutex)); mtr_commit(&mtr); - return err; + return(err); } /******************************************************************//** |