csn事务
1)整体内容
2)实际调试示例
插入一行数据
select * from t1;
2.1)调用栈
2.2)函数内逻辑
csn = TransactionIdGetCommitSeqNo(xid, false, true, false, snapshot); #=2
if (csn < snapshot->snapshotcsn) return true;
#2<2117
2.2.1) TransactionIdGetCommitSeqNo(xid)逻辑
114 if (CLogGetStatus(transactionId, &lsn) == CLOG_XID_STATUS_COMMITTED)
result= COMMITSEQNO_FROZEN; #2
2.2.2) snapshot->snapshotcsn为什么是2117
从全局对象里取值
snapxid_t* snapxid = GetCurrentSnapXid();
snapxid_t* x = (snapxid_t*)g_snap_current;