Transaction Locking
Jump to navigation
Jump to search
Transaction Locking is done automatically during workflow processing. As soon as an action is selected, the following occurs:
- Begin a database transaction.
- Save the currently displayed record.
- .. Various GF Code ..
- If any error occurs
- Rollback the transaction (releases locks immediately).
- Display an error message and stack trace.
- Exit processing.
- Commit the transaction.
- Exit processing.
Problems can occur in the following cases:
- SaveToDatabase() is called which will finalise the current transaction
- All subsequent GetValuesUsingSQL() calls start a new transaction that dead-locks itself. The fix is to replace these calls with ExecuteSQL().