SQLite的架構 (The Architecture Of SQLite)

f663x 9年前發布 | 23K 次閱讀 SQLite 數據庫服務器

介紹

這篇文檔描述SQLite庫的基本架構。對那些想要理解和修改SQLite的人很有幫助。

下面這張圖表展示了SQLite的組件和它們之間的關系。


接口(Interface)

SQLite的很多對外接口的實現函數在main.clegacy.c和vdbeapi.c。還以一些散落在其他文件中,sqlite3_get_table() 函數實現在table.c,sqlite3_mprintf()函數在printf.c,sqlite3_complete()在tokenize.c中。SQLite的更多接口請訪問available separately


為了不和其他代碼產生命名沖突,所有的SQLite API命名以sqlite3_為前綴。



Tokenizer和Parser

</div>

注:tokenizer是負責把SQL語句解析為一個個的“串”,而Paser是根據這些“串”的前后序列關系來生成相應的語法結構。

Code Generator(代碼生成器)

生成Virtual Machine可以執行的高效代碼
</div>

Virtual Machine

執行Code Generator 生成的代碼 </div>

B-Tree

SQLite數據庫文件在磁盤中是以B樹的數據結構存儲

http://www.sqlite.org/arch.html

來自:http://blog.csdn.net/sinat_26227857/article/details/44256767

 本文由用戶 f663x 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!