Inserting a record
|
When calling Insert/Append method of TABSTable or TABSQuery, nothing is locked until Post method is called. While posting a new record only intension table lock is acquired to prevent table from simultaneous postings of another users. If table lock fails, then a ABS_ERR_TABLE_LOCKED error will be triggered by the database engine. You can handle this error using TABSTable.OnPostError, see Absolute DB Reference and source code of DBManager utility for more details.
|
Updating a record
|
When calling Edit method of TABSTable or TABSQuery, database engine attempts to acquire intension table lock and then record lock and then database engine checks if the record was not modified or deleted by another user since last read. If table lock fails, then a ABS_ERR_TABLE_LOCKED error will be triggered by the database engine. If record lock fails, then a ABS_ERR_RECORD_LOCKED error will be triggered by the database engine. If record was modified since last read, then a ABS_ERR_UPDATE_RECORD_MODIFIED error will be triggered by the database engine. If record was deleted since last read, then a ABS_ERR_UPDATE_RECORD_DELETED error will be triggered by the database engine. You can handle ths error using TABSTable.OnEditError, see Absolute DB Reference and source code of DBManager utility for more details.
|
Deleting a record
|
When calling Delete method of TABSTable or TABSQuery, database engine attempts to acquire intension table lock and then record lock and then database engine checks if the record was not modified or deleted by another user since last read. If table lock fails, then a ABS_ERR_TABLE_LOCKED error will be triggered by the database engine. If record lock fails, then a ABS_ERR_RECORD_LOCKED error will be triggered by the database. If record was modified since last read, then a ABS_ERR_DELETE_RECORD_MODIFIED error will be triggered by the database engine. If record was deleted since last read, then a ABS_ERR_DELETE_RECORD_DELETED error will be triggered by the database engine. You can handle ths error using TABSTable.OnDeleteError, see Absolute DB Reference and source code of DBManager utility for more details.
|