PostgreSQL的insert解析

其insert由函数heapam_tuple_insert完成。

1、首先需要从slot中取出tuple值,HeapTupleTableSlot.tuple

2、从relation中得到该记录即将插入表的OID:relation->rd_id,然后slot->tts_tableOid和tuple->t_tableOid更新为该OID

3、调用heap_insert将tuple插入heap 页中,这个过程中产生WAL日志并写入WAL BUFFER中:

  1)生成事务ID:xid

  2)调用函数heap_prepare_insert:设置tup->t_data的t_infomask和t_infomask2;tup->t_data->t_choice.t_heap.t_xmin为xid;

(tup->t_data)->t_choice.t_heap.t_field3.t_cid

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值