| 3948 | |
| 3949 | |
| 3950 | JTransaction* JAttachment::reconnectTransaction(CheckStatusWrapper* user_status, unsigned int length, |
| 3951 | const unsigned char* id) |
| 3952 | { |
| 3953 | /************************************** |
| 3954 | * |
| 3955 | * g d s _ $ r e c o n n e c t |
| 3956 | * |
| 3957 | ************************************** |
| 3958 | * |
| 3959 | * Functional description |
| 3960 | * Connect to a transaction in limbo. |
| 3961 | * |
| 3962 | **************************************/ |
| 3963 | jrd_tra* tra = NULL; |
| 3964 | |
| 3965 | try |
| 3966 | { |
| 3967 | EngineContextHolder tdbb(user_status, this, FB_FUNCTION); |
| 3968 | check_database(tdbb); |
| 3969 | |
| 3970 | try |
| 3971 | { |
| 3972 | tra = TRA_reconnect(tdbb, id, length); |
| 3973 | } |
| 3974 | catch (const Exception& ex) |
| 3975 | { |
| 3976 | transliterateException(tdbb, ex, user_status, "JAttachment::reconnectTransaction"); |
| 3977 | return NULL; |
| 3978 | } |
| 3979 | } |
| 3980 | catch (const Exception& ex) |
| 3981 | { |
| 3982 | ex.stuffException(user_status); |
| 3983 | return NULL; |
| 3984 | } |
| 3985 | |
| 3986 | successful_completion(user_status); |
| 3987 | |
| 3988 | JTransaction* jt = FB_NEW JTransaction(tra, getStable()); |
| 3989 | tra->setInterface(jt); |
| 3990 | jt->addRef(); |
| 3991 | return jt; |
| 3992 | } |
| 3993 | |
| 3994 | |
| 3995 | void JRequest::deprecatedFree(CheckStatusWrapper* user_status) |
nothing calls this directly
no test coverage detected