事务管理器

先写日志(WAL)

日志序号(LSN)

TRID(事务标识符)

事务处理(TP)




TRID标记这个事务的消息、锁、日志记录,它是具有ACID特性的对象标识符,从这个意义说,事物管理器本身就是TRID的资源管理器



TRID          Begin_Work(Context *);     //开始一个事务

Boolean    Commit_Work(context *);   //提交该事务

void              Abort_Work(void);                //回滚到保存点0


savepoint Save_Work(context *);        //建立一个保存点

savepoint  Rollback_Work(savepoint);   //返回到保存点

Boolean      Prepare_Work(context *);    //将事务置为准备就绪状态

context     Read_Context(void); //返回到当前保存点上下文


TRID Chain_Work(context *);  //结束当前事务,开始下一个事务


TRID My_Trid(void); //返回当前事务标识符

TRID  Leave_Transaction(void) //设置进程TRID为空,返回当前标识符

Boolean Resume_Transaction(void) //设置进程TRID为期望TRID


enum tran_status{ACTIVE,PREPARED,ABORTING,COMMITING,ABORTED,COMMITTED};

tran_status Status_Transaction(TRID);    //返回一个事务标识符状态

相关文章
相关标签/搜索