Can DBMaker work in following behavior? (DBMR: 1925; version: DBMaker 5.0)
<insert>
Tran1 Tran2
================ ==================
ins c1 =1
ins c1=1 (lock)
commit
Unique key violation (error)
<update>
Tran1 Tran2
=============== ==================
select c1, get {1}
upd c1 = 2 where c1 = 1
select c1, get {1}
commit
select c1, get {2}
<delete>
Tran1 Tran2
============== ====================
select c1, get {2}
delete where c1 = 2
select c1, get {2}
commit
select c1, get { }
For <insert>, Transaction 1 insert get X lock in data page structure ( OID + data), Transaction 2 insert data also get X lock in different structure of data page (OID + data), in DBMaker the OID is always different, so it is different lock object in DB engine. So it does not return lock time-out.
For <update> and <delete>, DBMaker lock architecture does not support version lock design. It is DB engine kernel architecture, DBMaker does not support now.