【事务】读未提交
【pg不支持读未提交】
[session1]
BEGIN;
INSERT INTO my_table(id,value) VALUES (1,'something');
[session2]
BEGIN TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * FROM my_table;
1)代码调试
紫色未未提交时,最终通过判断tup.minId>=snapshot.xmax返回不可见
绿色位提交后,通过t_infomask的256位变为1,判断可见
【问题】
1)t_infomask的初始化2048
初始化位2048
tup->t_data->t_infomask |= HEAP_XMAX_INVALID;
2)变为2304代码
3) pg里读未提交被当做读已提交