如何读懂pgsql的源代码?

来源:互联网 发布:linux搭建代理服务器 编辑:程序博客网 时间:2024/05/21 09:38
有什么好方法吗?
<script type="text/javascript"><!--google_ad_client = "pub-5873492303276472";/* 728x90, 创建于 08-7-29 */google_ad_slot = "7502041044";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
有没有pgsql源代码的大体框架?
能让人有一个宏观的把握
期待着大家的回复,谢谢



后台代码主要集中在 backend下面各个目录
access 物理表 index的实现
bootstrap 初始化模块
catalog 数据字典模块,
commands ddl命令实现
executor 执行器
lib 辅助模块,双向list
libpq 前后台通信
main main入口
Makefile
nls.mk
nodes query结构采用nodes表示,辅助模块
optimizer 优化器
parser 语法语义分析
po 多语言,
port 不同操作系统特殊用法
postmaster 启动进程,后台进程,autovacumm等
regex regular expression
rewrite 查询重写,一般实现view
storage 底层存储,文件buff等
tcop sql语句调度中心
utils 内存管理,函数调用,错误处理等


最基本语句执行流程
PostgresMain-》exec_simple_query (sql语句字符串)
pg_parse_query 语法分析 lex & yacc
pg_analyze_and_rewrite 语义分析 以及rewrite
pg_plan_queries 优化
PortalRun 实际执行

<script type="text/javascript"><!--google_ad_client = "pub-5873492303276472";/* 728x15, 创建于 08-7-29 */google_ad_slot = "7630759450";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击