Sybase IQ Versioning and Locks | Tips & Tricks
In Sybase IQ no two users can modify data in the same table at the same time. When you try to do this you will get an error in your application, as well as in the IQ message file. In IQ you can also run into problems when your transaction tries to modify something but hits an object or data that has been created after you started your transaction. Confusing? Read on and you will understand. Transactions and Versioning Conflicting transactions To see how IQ works with transactions and versioning open two sessions to IQ and run the following set of commands: Session-1: create table t1(a int) Session-1: begin tran Session-2: create table t2(a int) Session-1: insert into t2 values(1) The following error is then raised: ASA Error -1000011: Transaction 156593 attempted to access an object created by transaction 156608. — (db_txnInfo.cxx 690) Sybase error code=21, SQLState=”QDA11” In the IQ message file the error is also reported: I. 01/07 14:55:58. 0000000563 Exception Thrown from db_txnInfo.cxx:690, Err# 0, tid 478 origtid 478 I. 01/07 14:55:58. 0000000563 O/S Err#: 0, ErrID: 1025 (db_catalogException); SQLCode: -1000011, SQLState: ‘QDA11′, Severity: 14 I. 01/07 14:55:58. 0000000563 [20671]: Transaction 156593 attempted to access an object created (more…)