DBMaster可以有下面的行为吗? (DBMR: 1925; 版本: DBMaster 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 { }
对于 <insert>, Transaction 1 的插入动作在数据页结构( OID + data)中获得 X 锁,Transaction 2 的插入动作在不同的数据页结构( OID + data)中也获得 X 锁,DBMaster 的OID 通常是不同的,所在,在数据库引擎中他们是不同的锁定对象,所以不会返回锁超时信息。
对于 <update> 和 <delete>, DBMaster 锁不支持version 锁设计。这时数据库内核的架构,目前还不支持。