这篇文章主要介绍PostgreSQL怎么阅读源代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
自底向上的方法
先说自底向上的方法。简单来说,就是从一个具体的小功能点出发阅读和实践,然后再由此小功能扩展逐步的向上上溯到大模块,就好比种上一颗小树,每天的施肥浇水,如果方法得当自然可以长成参天大树。
以阅读PG的源代码为例,可以通过psql从插入一行数据的最小方法/函数(PageAddItemExtended)为出发点,深入理解该函数后,使用gdb跟踪该函数的调用栈,根据调用栈的函数信息逐步上溯到最顶层的调用入口函数或主函数,每上溯一层就把该层函数相关的数据结构、宏定义和依赖的子函数完全彻底的理解清楚。通过这么一个过程,把插入数据相关联的知识体系建立起来,比如Page存储结构、Buffer的管理、WAL日志相关管理、SQL解析执行、前后台接口等相关知识。有了这个脉络,有了相关的数据结构作为基础,再来理解其他操作,比如UPDATE/DELETE等DML、CREATE TABLE/ALTER TABLE等DDL语句、SELECT等查询语句等就相对容易很多。
自顶向下的方法
与自底向上的方法相对的是自顶向下的方法,阅读源代码的初期可以使用这种方法建立源代码的体系结构,有利于全局把控,就好比原来一棵大树,如果一开始关注某片树叶,某个枝干,自然无感,但如果从主树干出发来看整个大树,那就基本可以看到这颗大树的全貌了。
阅读细节的时候可以使用自顶往下的方法吗?我的个人经验是不太适合,还是以大树做个类比吧。从主树干出发,这时候有N个子干,从某个子干进入,有M个分支,从分支进入子分支,又有X个子子分支,除非脑容量够大,否则里面的细节会让人望而生畏。
以上是“PostgreSQL怎么阅读源代码”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!