暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
PG扩展数据页
452
1页
2次
2020-06-10
5墨值下载
mdextend
v = _mdfd_getseg
据传号看的段targetseg
reln->md_num_open_segs[forknum]是该文件打开段文件个
seekpos:根据传入的blocknum计算出偏
FileWrite据偏移写buffer数据(一页)
targetseg小于打开的段文件个数即该段文件已开,则返回该文件MfdVec
件没打开,则最近打开的文件开始依次打
BlockNumber nblocks = _mdnblocks(reln, forknum, v);
if ((behavior & EXTENSION_CREATE) ||
(InRecovery && (behavior & EXTENSION_CREATE_RECOVERY)))
此时页数满一个段 mdextend扩展最后一页
flags = O_CREAT;
lseek(VfdCache[file].fd, 0, SEEK_END);
v = _mdfd_openseg(reln, forknum, nextsegno, flags);
nextseg下一个打的段,若不存O_CREATEopen的时候创建新文件
smgrextend
ReadBuffer_common
fsm_extend
isExtend = (blockNum == P_NEW);
if (isExtend)
blockNum = smgrnblocks(smgr, forkNum);
MemSet((char *) bufBlock, 0, BLCKSZ);
smgrextend(smgr, forkNum, blockNum, (char *) bufBlock, false);
smgrread(smgr, forkNum, blockNum, (char *) bufBlock);
_hash_alloc_buckets
_bt_blwritepage
end_heap_rewrite
raw_heap_insert
RelationCopyStorage
vm_extend
of 1
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜