| 11084 | } |
| 11085 | |
| 11086 | static void restartRequest(const Request* request, jrd_tra* transaction) |
| 11087 | { |
| 11088 | const Request* top_request = request->req_snapshot.m_owner; |
| 11089 | fb_assert(top_request); |
| 11090 | fb_assert(top_request->req_flags & req_update_conflict); |
| 11091 | |
| 11092 | transaction->tra_flags |= TRA_ex_restart; |
| 11093 | |
| 11094 | ERR_post(Arg::Gds(isc_deadlock) << |
| 11095 | Arg::Gds(isc_update_conflict) << |
| 11096 | Arg::Gds(isc_concurrent_transaction) << Arg::Int64(top_request->req_conflict_txn)); |
| 11097 | } |
| 11098 | |
| 11099 | // Execute a list of validation expressions. |
| 11100 | static void validateExpressions(thread_db* tdbb, const Array<ValidateInfo>& validations) |