| 6788 | |
| 6789 | |
| 6790 | static void commit(thread_db* tdbb, jrd_tra* transaction, const bool retaining_flag) |
| 6791 | { |
| 6792 | /************************************** |
| 6793 | * |
| 6794 | * c o m m i t |
| 6795 | * |
| 6796 | ************************************** |
| 6797 | * |
| 6798 | * Functional description |
| 6799 | * Commit a transaction. |
| 6800 | * |
| 6801 | **************************************/ |
| 6802 | |
| 6803 | if (transaction->tra_in_use) |
| 6804 | status_exception::raise(Arg::Gds(isc_transaction_in_use)); |
| 6805 | |
| 6806 | const Jrd::Attachment* const attachment = tdbb->getAttachment(); |
| 6807 | |
| 6808 | if (!(attachment->att_flags & ATT_no_db_triggers) && !(transaction->tra_flags & TRA_prepared)) |
| 6809 | { |
| 6810 | // run ON TRANSACTION COMMIT triggers |
| 6811 | run_commit_triggers(tdbb, transaction); |
| 6812 | } |
| 6813 | |
| 6814 | validateHandle(tdbb, transaction->tra_attachment); |
| 6815 | tdbb->setTransaction(transaction); |
| 6816 | TRA_commit(tdbb, transaction, retaining_flag); |
| 6817 | } |
| 6818 | |
| 6819 | |
| 6820 | static bool drop_files(const jrd_file* file) |
no test coverage detected