The following is a step by step description of how various combinations of LANSA database IO work in different databases when a row is locked. These differences are fundamental to the architecture of particular database engines and thus cannot be abstracted away by LANSA to provide consistent behavior across all database engines.
This is not an exhaustive list of database behaviors. It just seeks to show how the database engines may differ and thus not to include presumptions about that behavior if cross-database consistency is required.
It also shows that thorough testing is required when deciding to use a new database engine with an application. LANSA removes many of the concerns of running an application against different databases, but there are still some subtle differences that cannot be assuaged by LANSA.
See test results for: