mco_trans_rt_start
接口适用于实时数据库 RT 。
启动一个实时事务。
typedef struct mco_trans_rt_params_t_
{
mco_interval_t deadline;
} mco_trans_rt_params_t;
// static initializer for mco_trans_rt_params_t
#define MCO_TRANS_DEFAULT_PARAMS {MCO_MAX_DEADLINE}
MCO_RET mco_trans_rt_start(mco_db_h db, MCO_TRANS_TYPE type, MCO_TRANS_PRIORITY pri, mco_trans_rt_params_t const* params, /*OUT*/mco_trans_h* p_trans);
使用由 params->deadline 设置的截止期限启动实时交易(对于“常规”的非实时交易则为 MCO_MAX_DEADLINE)。
mco_trans_rt_start() 不会允许具有有限截止期限的实时事务开始,除非启用了回滚缓冲区。可以禁用回滚缓冲区,并恢复为经典实现来运行非实时事务(具有无限截止期限)。
参数
db
由 mco_db_connect() 建立的数据库句柄。
type
来自枚举 MCO_TRANS_TYPE 的值。
pri
来自枚举 MCO_TRANS_PRIORITY 的值。
params
参数(截止日期)的地址。
p_trans
用于接收事务句柄的 mco_trans_h 的地址。
返回
MCO_S_OK
事务已成功启动。
MCO_E_INTERRUPTED
事务因计时器、回调函数或另一事务而中断。
MCO_ERR_TRN
发生了数据库事务错误。
MCO_E_INCOMPATIBLE_ROLLBACK
尝试在未启用回滚缓冲区的情况下启动具有有限截止时间的实时事务。