Concurrency Handling in Applications

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.

Database

Concurrency Handling

Microsoft Access

Not supported

Microsoft SQL Server 2005 and later
Microsoft SQL Server 2000
Microsoft MSDE

Applications built on Microsoft SQL Server 2005, Microsoft SQL Server 2000, and the MSDE edition of Microsoft SQL Server 2000, use the Binary Checksum function to perform the checksum calculation.  The Binary Checksum function ignores these field types: text, ntext, image, cursor, and sql_variant.

Oracle 9i and later

Concurrency handling is not implemented for applications built on Oracle 9i and later databases.

Caveats

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.

See Also

Concurrency Control