11.8.2 插入
��同样,insert(Q)操作与delete(Q)、write(Q)和read(Q)操作冲突。由于insert(Q)操作创建新数据项Q并为其赋初值,因此,在并发控制中应当像处理write操作那样来处理insert操作:
��⑴�在两阶段封锁协议下:如果Ti要执行insert(Q)操作,则事务Ti应该为Q申请加排他锁;
��⑵�在时间戳排序协议下:由于在数据项Q存在之前,read(Q)和write(Q)都不可能成功执行,因此,R-TS(Q)与W-TS(Q)都为0。如果Ti发出insert(Q)操作,则执行之并将R-TS(Q)与W-TS(Q)的值设为TS(Ti)。注意:R-TS(Q)与W-TS(Q)的初值保证在insert(Q)之前,不可能执行write(Q)与read(Q))。
��
|