Iron Speed Designer implements optimistic concurrency handling in applications using stored procedures. Applications created with in-line SQL are not created with concurrency handling.
Specifically, Iron Speed Designer calculates a checksum for each record. If the checksum is different when the application prepares to update a record, then the application assumes record was changed by another user. A warning message is displayed on the application page alerting the second user.
Several scenarios can thwart the concurrency handling mechanism:
(1) One or more fields are computed in the database. If your table has a field that is "computed in the database" by a database trigger or stored procedure, then the record will be changed causing the concurrency handling signature to be different.
(2) Code customization changes the record outside of the data access layer. A code customization that updates the database outside of your application’s data access layer will cause the concurrency handling signature to be different.
(3) Database triggers. Database triggers that make changes to the underlying table will cause the concurrency signature to be different.