��在时间戳排序协议下:由于在数据项Q存在之前,read(Q)和write(Q)都不可能成功执行,因此,R-TS(Q)与W-TS(Q)都为0。如果Ti发出insert(Q)操作,则执行之并将R-TS(Q)与W-TS(Q)的值设为TS(Ti)。
��在这里,表面上看insert(Q)操作相当于write(Q)操作,按照时间戳排序协议的规定,只需要将W-TS(Q)的值设为TS(Ti)即可,为什么还要将R-TS(Q)的值也设为TS(Ti)呢?
��事实上,在数据库中插入一条记录的过程是这样的:首先生成一条新的空记录,然后再更新这条空记录的值,将要插入的内容写入数据库中。实际上对记录的UPDATE的过程首先就是读记录,因此在插入一条记录的过程也要读记录。所以按照时间戳排序协议的规定,也应该将R-TS(Q)的值也设为TS(Ti)。