溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PostgreSQL怎么閱讀源代碼

發(fā)布時間:2021-11-09 09:54:01 來源:億速云 閱讀:287 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要介紹PostgreSQL怎么閱讀源代碼,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

自底向上的方法
????先說自底向上的方法。簡單來說,就是從一個具體的小功能點出發(fā)閱讀和實踐,然后再由此小功能擴展逐步的向上上溯到大模塊,就好比種上一顆小樹,每天的施肥澆水,如果方法得當(dāng)自然可以長成參天大樹。
????以閱讀PG的源代碼為例,可以通過psql從插入一行數(shù)據(jù)的最小方法/函數(shù)(PageAddItemExtended)為出發(fā)點,深入理解該函數(shù)后,使用gdb跟蹤該函數(shù)的調(diào)用棧,根據(jù)調(diào)用棧的函數(shù)信息逐步上溯到最頂層的調(diào)用入口函數(shù)或主函數(shù),每上溯一層就把該層函數(shù)相關(guān)的數(shù)據(jù)結(jié)構(gòu)、宏定義和依賴的子函數(shù)完全徹底的理解清楚。通過這么一個過程,把插入數(shù)據(jù)相關(guān)聯(lián)的知識體系建立起來,比如Page存儲結(jié)構(gòu)、Buffer的管理、WAL日志相關(guān)管理、SQL解析執(zhí)行、前后臺接口等相關(guān)知識。有了這個脈絡(luò),有了相關(guān)的數(shù)據(jù)結(jié)構(gòu)作為基礎(chǔ),再來理解其他操作,比如UPDATE/DELETE等DML、CREATE TABLE/ALTER TABLE等DDL語句、SELECT等查詢語句等就相對容易很多。
自頂向下的方法
????與自底向上的方法相對的是自頂向下的方法,閱讀源代碼的初期可以使用這種方法建立源代碼的體系結(jié)構(gòu),有利于全局把控,就好比原來一棵大樹,如果一開始關(guān)注某片樹葉,某個枝干,自然無感,但如果從主樹干出發(fā)來看整個大樹,那就基本可以看到這顆大樹的全貌了。
????閱讀細(xì)節(jié)的時候可以使用自頂往下的方法嗎?我的個人經(jīng)驗是不太適合,還是以大樹做個類比吧。從主樹干出發(fā),這時候有N個子干,從某個子干進入,有M個分支,從分支進入子分支,又有X個子子分支,除非腦容量夠大,否則里面的細(xì)節(jié)會讓人望而生畏。

以上是“PostgreSQL怎么閱讀源代碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI