| 6718 | |
| 6719 | |
| 6720 | void Transaction::rollbackRetaining(CheckStatusWrapper* status) |
| 6721 | { |
| 6722 | /************************************** |
| 6723 | * |
| 6724 | * i s c _ r o l l b a c k _ r e t a i n i n g |
| 6725 | * |
| 6726 | ************************************** |
| 6727 | * |
| 6728 | * Functional description |
| 6729 | * Abort a transaction but keep its environment valid |
| 6730 | * |
| 6731 | **************************************/ |
| 6732 | try |
| 6733 | { |
| 6734 | reset(status); |
| 6735 | |
| 6736 | CHECK_HANDLE(transaction, isc_bad_trans_handle); |
| 6737 | |
| 6738 | Rdb* rdb = transaction->rtr_rdb; |
| 6739 | CHECK_HANDLE(rdb, isc_bad_db_handle); |
| 6740 | rem_port* port = rdb->rdb_port; |
| 6741 | RefMutexGuard portGuard(*port->port_sync, FB_FUNCTION); |
| 6742 | |
| 6743 | release_object(status, rdb, op_rollback_retaining, transaction->rtr_id); |
| 6744 | } |
| 6745 | catch (const Exception& ex) |
| 6746 | { |
| 6747 | ex.stuffException(status); |
| 6748 | } |
| 6749 | } |
| 6750 | |
| 6751 | |
| 6752 | void Transaction::freeClientData(CheckStatusWrapper* status, bool force) |
no test coverage detected