当前位置: 首页 > news >正文

反馈网站制作/seo企业优化顾问

反馈网站制作,seo企业优化顾问,网站备案幕布照规范,重庆建设网2 数据缓冲区和数据存储层之间的接口 2.1 存储访问接口层 位于buffer下层的代码,是数据存储层,但数据缓冲区和数据存储层之间,有一个接口存在,位于src/backend/storage/smgr;这一接口,规定了数…

2         数据缓冲区和数据存储层之间的接口

2.1      存储访问接口层

位于buffer下层的代码,是数据存储层,但数据缓冲区和数据存储层之间,有一个接口存在,位于src/backend/storage/smgr;这一接口,规定了数据缓冲区和数据存储层之间如何交互,如何发生关联。

PG的结构良好,很多层之间,可以很好的分离,这点也体现在了本文所讲述的接口之间。接口层,通过抽象,规定了两层之间,发生关联的点;通过定义这些关联的点动作和出入口参数,完整描述了接口层的概貌。

在数据缓冲区的文档中,讲述了ReadBufferExtended函数极其调用的ReadBuffer_common子函数中,可能都涉及的、类似smgrXXX函数的调用,如smgrread,这是buf层的函数发现buf中没有相应的数据可向数据访问层提供,则buf管理器直接向数据库存储层要求IO,使得被要求的数据能够进入buf

 

关键数据结构如下:

typedef struct f_smgr

{

       void        (*smgr_init) (void);       /* may be NULL */

       void        (*smgr_shutdown) (void);           /* may be NULL */

       void        (*smgr_close) (SMgrRelation reln, ForkNumber forknum);

       void        (*smgr_create) (SMgrRelation reln, ForkNumber forknum,

                                                                             bool isRedo);

       bool        (*smgr_exists) (SMgrRelation reln, ForkNumber forknum);

       void        (*smgr_unlink) (RelFileNodeBackend rnode, ForkNumber forknum,

                                                                             bool isRedo);

       void        (*smgr_extend) (SMgrRelation reln, ForkNumber forknum,

                                                 BlockNumber blocknum, char *buffer, bool skipFsync);

       void        (*smgr_prefetch) (SMgrRelation reln, ForkNumber forknum,

                                                                               BlockNumber blocknum);

       void        (*smgr_read) (SMgrRelation reln, ForkNumber forknum,

                                                                        BlockNumber blocknum, char *buffer);

       void        (*smgr_write) (SMgrRelation reln, ForkNumber forknum,

                                                 BlockNumber blocknum, char *buffer, bool skipFsync);

       BlockNumber (*smgr_nblocks) (SMgrRelation reln, ForkNumber forknum);

       void        (*smgr_truncate) (SMgrRelation reln, ForkNumber forknum,

                                                                         BlockNumber nblocks);

       void        (*smgr_immedsync) (SMgrRelation reln, ForkNumber forknum);

       void        (*smgr_pre_ckpt) (void);             /* may be NULL */

       void        (*smgr_sync) (void);     /* may be NULL */

       void        (*smgr_post_ckpt) (void);           /* may be NULL */

} f_smgr;

 

static const f_smgr smgrsw[] = {

       /* magnetic disk */

       {mdinit, NULL, mdclose, mdcreate, mdexists, mdunlink, mdextend,

              mdprefetch, mdread, mdwrite, mdnblocks, mdtruncate, mdimmedsync,

              mdpreckpt, mdsync, mdpostckpt

       }

};

 

http://www.jmfq.cn/news/4900825.html

相关文章:

  • wordpress建站注册新用户/品牌网络营销推广方案策划
  • 印刷东莞网站建设技术支持/网站入口百度
  • 珠海做网站需要多少钱/百度直播
  • 微信视频网站怎么做的好处/怎么弄一个自己的链接
  • 安阳做网站公司/seo入门教程视频
  • 个人接单做网站的平台/免费com域名注册网站
  • 展厅宣传片/seo秘籍优化课程
  • 网络环境搭建/优化百度搜索
  • 网站系统设计方案/南宁seo营销推广
  • 如何建立网站快捷链接/长尾关键词有哪些
  • 芍药居网站建设公司/重庆百度快照优化
  • 网站开发私单哪里接/aso优化平台
  • 旅游网站国际业务怎样做/b站推广软件
  • 给人家做网站服务器自己搭吗/社群营销成功案例
  • 织梦网站模板修改/seo基础入门教程
  • 成都企业网站设计制作/seo优化代理
  • wap网站建设方案/百度官方网首页
  • wordpress 本地化函数/石家庄seo优化公司
  • 网站建设的需求分析/seo为什么要进行外部优化
  • 做软件网站/百度seo排名曝光行者seo
  • 电子商务网站建设课设/短视频推广平台
  • 做网站不带优化的吗/爱站工具包官网
  • 重庆市建设工程信息网站/网络营销方案设计范文
  • 域名访问不了织梦网站/百度下载安装到桌面上
  • 浅析b2c电子商务网站的建设/网站下载免费软件
  • 视频网站应该怎么做/苏州疫情最新通知
  • 北京网站建设华网天下科技/企业网络搭建
  • 武汉seo公司排名/东莞seo优化排名推广
  • 做外贸做网站/在哪里可以免费自学seo课程
  • 网站建设邀请函/网络推广员是干什么的