PostgreSQL 内核源码研究
davidzwb
这个作者很懒,什么都没留下…
展开
-
PostgreSQL 优化器的初步分析:query_planner()
PostgreSQL 优化器的初步分析:query_planner():query_planner() 是优化器生成 path 的基础,所以首先从这里开始分析起。query_planner() 负责生成一个基本的 path,这个 path 除了基本的扫描表的操作外,最后最多只包含连接操作,剩下的其他诸如聚合或者 limit 等操作,则会到更外层的 grouping_planner() 中进行。进入原创 2016-11-28 10:41:34 · 1724 阅读 · 0 评论 -
PostgreSQL 在 C 语言程序中查询系统表 System Catalog
PostgreSQL 在 C 语言程序中查询系统表 System Catalog查找某个系统对象的 OID: 由于本人也在学习阶段,目前仅能分享在 System Catalog 中查询对象 OID 的方法。 需要关注的函数是 GetSysCacheOid1/GetSysCacheOid2/GetSysCacheOid3/GetSysCacheOid4 系列函数,通过它们来查询 System Ca原创 2017-02-14 09:40:13 · 656 阅读 · 0 评论 -
Postgres FDW 中由 PGresult 结构生成 HeapTuple 的过程
在 bool nulls[] 数组中存储每一列中是否为空,值为 true(0) 或 false(1), 在 datum values[] 中则存放由 C 字符串转化为 tuple datum 格式的数据值,转化的方法由 attinmeta 提供。 上述的 tupleDesc, retrieved_attrs 和 attinmeta 若有需要,都是可以通过调用一些函数自己构造的,文末将会提供构造方法。 最后调用 heap_form_tuple(tupdesc, values, nulls) 由 tupdes原创 2016-10-18 17:34:21 · 970 阅读 · 0 评论