| 7669 | |
| 7670 | |
| 7671 | static void prepare_tra(thread_db* tdbb, jrd_tra* transaction, USHORT length, const UCHAR* msg) |
| 7672 | { |
| 7673 | /************************************** |
| 7674 | * |
| 7675 | * p r e p a r e |
| 7676 | * |
| 7677 | ************************************** |
| 7678 | * |
| 7679 | * Functional description |
| 7680 | * Attempt to prepare a transaction. |
| 7681 | * |
| 7682 | **************************************/ |
| 7683 | SET_TDBB(tdbb); |
| 7684 | |
| 7685 | if (transaction->tra_in_use) |
| 7686 | status_exception::raise(Arg::Gds(isc_transaction_in_use)); |
| 7687 | |
| 7688 | if (!(transaction->tra_flags & TRA_prepared)) |
| 7689 | { |
| 7690 | // run ON TRANSACTION COMMIT triggers |
| 7691 | run_commit_triggers(tdbb, transaction); |
| 7692 | } |
| 7693 | |
| 7694 | validateHandle(tdbb, transaction->tra_attachment); |
| 7695 | tdbb->setTransaction(transaction); |
| 7696 | TRA_prepare(tdbb, transaction, length, msg); |
| 7697 | } |
| 7698 | |
| 7699 | |
| 7700 | void release_attachment(thread_db* tdbb, Jrd::Attachment* attachment, XThreadEnsureUnlock* dropGuard) |
no test coverage detected