PostgreSQL 源码解读(10)- 插入数据#9(ProcessQuery)


本文简单介绍了PG插入数据部分的源码,主要内容包括ProcessQuery函数的实现逻辑,该函数位于文件pquery.c中。ProcessQuery函数使用的数据结构、宏定义以及依赖的函数等。
数据结构/宏定义
1、NodeTag2、MemoryContext3、AllocSet4、AllocBlock5、AllocChunk6、AllocSetFreeList7、context_freelists8、AllocSetMethods9、宏定义依赖的函数
1、CreateQueryDesc2、CreateExecutorState3、InitPlan4、ExecutorStart5、ExecutorRun6、ExecutorFinish7、ExecutorEnd8、FreeQueryDesc插入测试数据:启动gdb,跟踪调试:为了更深入理解整个执行过程中最重要的两个数据结构PlanState和EState,对子函数InitPlan和CreateExecutorState作进一步的跟踪分析:
InitPlanCreateExecutorState1、TODO:更进一步的理解,在执行查询语句时再进一步解读;
2、EState&PlanState数据结构:在此函数中构造,需进一步理解;
3、List数据结构:PG广泛的使用List这样的数据结构免费云主机域名对各种信息进行管理。

相关推荐: EXP、EXPDP的不同

1、EXPDP必须要dierctory 2、EXPDP可以导出没有分配空间的空表 3、EXPDP导出过程中会建立一个JOB且 会产生一张表SYS_EXPORT_SCHEMA_01 , 导完后又会自动删除, 所以 EXPDP无法在read only模式下操作 4…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 12/30 15:57
下一篇 12/30 15:57