给基表添加路径的set_rel_pathlist
作者:互联网
文章目录
函数解释
- 和我们在set_rel_pathlists想的一样,他肯定是对一个 base relation建立access paths
- 为什么paths是复数呢?
第一段
- 又是一个static函数哦
- 原来set_rel_pathlists中 root->simple_rte_array[rti]
- 是个RangeTblEntry结构体指针
- 425意思很明显了
- 429说的inh表示 inheritance requested?
- 被要求继承?不是很懂
- 432:总之就调用了另一个函数
436-479行根据基表类型添路径
第一段
- 438:如果是ordinary relation reference
- 439行 的红色就是’f’,foreign table的意思
- 444行这个字段的官方意思是:
- TableSampleClause - TABLESAMPLE appearing in a transformed FROM clause Unlike RangeTableSample, this is a subnode of the relevant RangeTblEntry.
- 452行意思是当就是一个表的时候走这里
第2段
- 455:若是基表里面的子查询?
- 说他被set_rel_size完全处理了
- 458:function in FROM
- 462:TableFunc(…, column list)
- 466:VALUES(<exprlist>),(<exprlist>),...
- 470:也被set_rel_size处理了
- common table expr (WITH list element)
- 473也是
- tuplestore, e.g. for AFTER triggers
- 476:没有在哪个基表 里面有这个类型啊!!
标签:gt,基表,pathlist,lt,set,rel,exprlist 来源: https://blog.csdn.net/zhoutianzi12/article/details/97654996