Try to set write lock on record until success or record exists
| 10694 | |
| 10695 | // Try to set write lock on record until success or record exists |
| 10696 | static void forceWriteLock(thread_db* tdbb, record_param* rpb, jrd_tra* transaction) |
| 10697 | { |
| 10698 | while (VIO_refetch_record(tdbb, rpb, transaction, true, true)) |
| 10699 | { |
| 10700 | rpb->rpb_runtime_flags &= ~RPB_refetch; |
| 10701 | |
| 10702 | // VIO_writelock returns false if record has been deleted or modified |
| 10703 | // by someone else. |
| 10704 | if (VIO_writelock(tdbb, rpb, transaction) == WriteLockResult::LOCKED) |
| 10705 | break; |
| 10706 | } |
| 10707 | } |
| 10708 | |
| 10709 | // Build a validation list for a relation, if appropriate. |
| 10710 | static void makeValidation(thread_db* tdbb, CompilerScratch* csb, StreamType stream, |
no test coverage detected