Connect to a transaction in limbo.
| 3228 | |
| 3229 | // Connect to a transaction in limbo. |
| 3230 | ISC_STATUS API_ROUTINE isc_reconnect_transaction(ISC_STATUS* userStatus, isc_db_handle* dbHandle, |
| 3231 | isc_tr_handle* traHandle, USHORT length, const SCHAR* id) |
| 3232 | { |
| 3233 | StatusVector status(userStatus); |
| 3234 | CheckStatusWrapper statusWrapper(&status); |
| 3235 | |
| 3236 | try |
| 3237 | { |
| 3238 | nullCheck(traHandle, isc_bad_trans_handle); |
| 3239 | |
| 3240 | RefPtr<YAttachment> attachment(translateHandle(attachments, dbHandle)); |
| 3241 | |
| 3242 | YTransaction* transaction = attachment->reconnectTransaction(&statusWrapper, length, |
| 3243 | reinterpret_cast<const UCHAR*>(id)); |
| 3244 | |
| 3245 | if (status.getState() & IStatus::STATE_ERRORS) |
| 3246 | status_exception::raise(status); |
| 3247 | |
| 3248 | *traHandle = transaction->getHandle(); |
| 3249 | } |
| 3250 | catch (const Exception& e) |
| 3251 | { |
| 3252 | e.stuffException(&statusWrapper); |
| 3253 | } |
| 3254 | |
| 3255 | return status[1]; |
| 3256 | } |
| 3257 | |
| 3258 | |
| 3259 | // Release a request. |
nothing calls this directly
no test coverage detected