C++ MVCC特性设置

接口

int SetCheckDataVersionPolicy(enum tagCHECKDATAVERSIONTYPE type);

适用命令字

  • Replace
  • Update
  • Increase
  • ListAddAfter
  • ListDelete
  • ListReplace
  • ListDeleteBatch

设置规则

  • CHECKDATAVERSION_AUTOINCREASE: 表示检测记录版本号,默认类型
    • 如果class TcaplusServiceRecord的void SetVersion(IN int32_t iVersion)函数传入的参数iVersion的值<=0,则仍然表示不关心版本号不关注版本号;
    • 如果class TcaplusServiceRecord的void SetVersion(IN int32_t iVersion)函数传入的参数iVersion的值>0,那么只有当该版本号与服务器端的版本号相同时,Replace, Update, Increase, ListAddAfter, ListDelete, ListReplace, ListDeleteBatch操作才会成功同时在服务器端该版本号会自增1
  • NOCHECKDATAVERSION_OVERWRITE: 表示不检测记录版本号
    • 如果class TcaplusServiceRecord的void SetVersion(IN int32_t iVersion)函数传入的参数iVersion的值<=0,则会把版本号1写入服务端的数据记录版本号(服务器端成功写入的数据记录的版本号最少为1);
    • 如果class TcaplusServiceRecord的void SetVersion(IN int32_t iVersion)函数传入的参数iVersion的值>0,那么会把该版本号写入服务端的数据记录版本号
  • NOCHECKDATAVERSION_AUTOINCREASE: 表示不检测记录版本号
    • 将服务器端的数据记录版本号自增1,如果服务器端新写入数据记录则新写入的数据记录的版本号为1

特别注意

当SetCheckDataVersionPolicy设置为CHECKDATAVERSION_AUTOINCREASE,而SetResultFlag设置为2返回所有字段值时:

  • Insert主键冲突,响应消息会返回最新记录;
  • Increase/Replace/Update/ListDelete/ListReplace/ListDeleteBatch在版本号不正确出错时,响应消息会返回最新记录

results matching ""

    No results matching ""