Mysql源碼結構
目錄清單
目錄名 注釋
Bdb 伯克利DB表引擎
BUILD 構建工程的腳本
Client 客戶端
Cmd-line-utils 命令行工具
Config 構建工程所需的一些文件
Dbug Fred Fish的調試庫
Docs 文檔文件夾
Extra 一些相對獨立的次要的工具
Heap HEAP表引擎
Include 頭文件
Innobase INNODB表引擎
Libmysql 動態庫
Libmysql_r 為了構建線程安全的libmysql庫
Libmysqld 服務器作為一個嵌入式的庫
Man 用戶手冊
Myisam MyISAM表引擎
Myisammrg MyISAM Merge表引擎
Mysql-test mysqld的測試單元
Mysys MySQL的系統庫
Ndb Mysql集群
Netware Mysql網絡版本相關文件
NEW-RPM 部署時存放RPM
Os2 針對OS/2操作系統的底層函數
Pstack 進行堆棧
Regex 正則表達式庫(包括擴展的正則表達式函數)
SCCS 源碼控制系統(不是源碼的一部分)
Scripts 批量SQL腳本,如初始化庫腳本
Server-tools 管理工具
Sql 處理SQL命令;Mysql的核心
Sql-bench Mysql的標准檢查程序
Sql-common 一些sql文件夾相關的C文件
SSL 安全套接字層
Strings 字符串函數庫
Support-files 用於在不同系統上構建Mysql的文件
Tests 包含Perl和C的測試
Tools
Vio 虛擬I/O庫
Zlib 數據壓縮庫,用於WINDOWS
下面給出幾個比較重要的目錄清單:
文件清單
目錄名 文件名 注釋
Client
get_password.c 命令行輸入密碼
Mysql.cc MySQL命令行工具
Mysqladmin.cc 數據庫weihu
Mysqldump.c 將表的內容以SQL語句輸出,即邏輯備份
Mysqlimport.c 文本文件數據導入表中
Mysqlmanager-pwgen.c 密碼生成
Mysqlshow.c 顯示數據庫,表和列
Mysqltest.c 被mysql測試單元使用的測試程序
----------------------------------------------------------------------------------------------------------------
MYSYS
Array.c 動態數組
Charset.c 動態字符集,默認字符集
Charset-def.c 包含客戶端使用的字符集
Checksum.c 為內存塊計算校驗和,用於pack_isam
Default.c 從*.cnf和*.ini文件中查找默認配置項
Default_modify.c 編輯可選項
Errors.c 英文錯誤文本
Hash.c hash查找、比較、釋放函數
List.c 雙向鏈表
Make-conf.c 創建*.conf文件
Md5.c MD5算法
Mf_brkhant.c
Mf_cache.c 打開臨時文件,並使用io_cache進行緩存
Mf_driname.c 解析,轉換路徑名
Mf_fn_ext.c 獲取文件名的後綴
Mf_format.c 格式化文件名
Mf_getdate 獲取日期:
yyyy-mm-dd hh:mm:ss format
mf_iocache.c 緩存I/O
mf_iocaches.c 多鍵值緩存
mf_loadpath.c 獲取全路徑名
mf_pack.c 創建需要的壓縮/非壓縮文件名
mf_path.c 決定是否程序可以找到文件
mf_qsort.c 快速排序
mf_qsort2.c 快速排序2
mf_radix.c 基數排序
mf_soundex.c 探測算法(EDN NOV 14, 1985)
mf_strip.c 去字符串結尾空格
mf_tempdir.c 臨時文件夾的創建、查找、刪除
mf_tempfile.c 臨時文件的創建
mf_unixpath.c 轉化文件名為UNIX風格
mf_util.c 常用函數
mf_wcomp.c 使用通配符比較
mf_wfile.c 通配符查找文件
mulalloc.c 同時分配多個指針
my_access.c 檢查文件或路徑是否合法
my_aes.c AES加密算法
my_alarm.c 警報相關
my_alloc.c 同時分配臨時結果集緩存
my_append.c 一個文件到另一個
my_bit.c 除法使用,位運算
my_bitmap.c 位圖
my_chsize.c 填充或截斷一個文件
my_clock.c 時鐘函數
my_compress.c 壓縮
my_copy.c 拷貝文件
my_crc32.c
my_create.c 創建文件
my_delete.c 刪除文件
my_div.c 獲取文件名
my_dup.c 打開復制文件
my_error.c 錯誤碼
my_file.c
my_fopen.c 打開文件
my_fstream.c 文件流讀/寫
my_gethostbyname.c 獲取主機名
my_gethwaddr.c 獲取硬件地址
my_getopt.c 查找生效的選項
my_getsystime.c time of day
my_getwd.c 獲取工作目錄
my_handler.c
my_init.c 初始化變量和函數
my_largepage.c 獲取OS的分頁大小
my_lib.c 比較/轉化目錄名和文件名
my_lock.c 鎖住文件
my_lockmem.c 分配一塊被鎖住的內存
my_lread.c 讀取文件到內存
my_lwrite.c 內存寫入文件
my_malloc.c 分配內存
my_messnc.c 標准輸出上輸出消息
my_mkdir.c 創建目錄
my_mmap.c 內存映射
my_net.c net函數
my_netware.c Mysql網絡版
my_once.c 一次分配,永不free
my_open.c 打開一個文件
my_os2cond.c 操作系統cond的簡單實現
my_os2dirsrch.c 模擬Win32目錄查詢
my_os2dlfcn.c 模擬UNIX動態裝載
my_os2file64.c 文件64位設置
my_os2mutex.c 互斥量
my_os2thread.c 線程
my_os2tls.c 線程本地存儲
my_port.c
my_pthread.c 線程的封裝
my_quick.c 讀/寫
my_read.c 從文件讀bytes
my_realloc.c 重新分配內存
my_redel.c 重命名和刪除文件
my_seek.c 查找
my_semaphore.c 信號量
my_sleep.c 睡眠等待
my_static.c 靜態變量
my_symlink.c 讀取符號鏈接
my_symlink2.c 2
my_sync.c 同步內存和文件
my_thr_init.c 初始化/分配線程變量
my_wincond.c
my_windac.c WINDOWS NT/2000自主訪問控制
my_winsem.c 模擬線程
my_winthread.c 模擬線程
my_write.c 寫文件
ptr_cmp.c 字節流比較函數
queue,c 優先級隊列
raid2.c 支持RAID
rijndael.c AES加密算法
safemalloc.c 安全的malloc
sha1.c sha1哈希加密算法
string.c 字符串函數
testhash.c 測試哈希函數(獨立程序)
test_charset 測試字符集(獨立)
thr_lock.c 讀寫鎖
thr_mutex.c 互斥量
thr_rwlock.c 同步讀寫鎖
tree.c 二叉樹
typelib.c 字符串中匹配字串
SQL
derror.cc 讀取獨立於語言的信息文件
Des_key_file.cc 加載DES密鑰
Discover.cc frm文件的查找
Field.cc 存儲列信息
Filed_conv.cc 拷貝字段信息
Filesort.cc 結果集排序(內存或臨時文件)
Frm_crypt.cc get_crypt_from_frm
Gen_lex_hash.cc 查找、排列SQL關鍵字
Gstream.c GIS
Handler.cc 函數句柄
Hash_filo.cc 靜態大小HASH表,
以FIFO方式存儲主機名、IP表
Ha_berkeley.cc BDB的句柄
Ha_innodb.cc INNODB句柄
Hostname.cc 根據IP獲取hostname
Init.cc 初始化和unireg相關的函數
item.cc item函數
item_buff.cc item的保存和比較的緩存
item_cmpfunc.cc 比較函數的定義
item_create.cc 創建一個item
item_func.cc 數字函數
item_geofunc.cc 集合函數
item_row.cc 記錄項比較
item_strfunc.cc 字符串函數
item_subselect.cc 子查詢
item_sum.cc 集函數(SUM,AVG...)
item_timefunc.cc 時間日期函數
item_uniq.cc 空文件
Key.cc 創建KEY以及比較
Lock.cc 鎖
Log.cc 日志
log_event.cc 日志事件
Matherr.c 處理溢出
mf_iocache.cc 順序讀寫的緩存
Mysqld.cc main,處理信號和連接
mf_decimal.cc decimal類型
my_lock.c
net_serv.cc socket數據包的解析
nt_servc.cc NT服務
opt_range.cc KEY排序
opt_sum.cc 集函數優化
parse_file.cc frm解析
Password.c 密碼檢查
Procedure.cc
Protocol.cc 數據包打包發送給客戶端
protocol_cursor.cc 存儲返送數據
Records.cc 讀取記錄集
repl_failsafe.cc
set_var.cc 設置、讀取用戶變量
Slave.cc slave節點
Sp.cc 存儲過程和存儲函數
sp_cache.cc
sp_head.cc
sp_pcontext.cc
sp_rcontext.cc
Spatial.cc 集合函數,點線面
Sql_acl.cc ACL
sql_analyse.cc
sql_base.cc 基礎函數
sql_cache.cc 查詢緩存
sql_client.cc
sql_crypt.cc 加解密
sql_db.cc 創建、刪除DB
sql_delete.cc DELETE語句
sql_derived.cc 派生表
sql_do.cc DO
sql_error.cc 錯誤和警告
sql_handler.cc
sql_help.cc HELP
sql_insert.cc INSERT
sql_lex.cc 詞法分析
sql_list.cc
sql_load.cc LOAD DATA 語句
sql_manager.cc 維護工作
sql_map.cc 內存映射
sql_olap.cc
sql_parse.cc 解析語句
sql_prepare.cc
sql_rename.cc 重命名table名
sql_repl.cc 復制
sql_select.cc SELECT和JOIN優化
sql_show.cc SHOW
sql_state.c 錯誤號和狀態的映射
sql_string.cc
sql_table.cc DROP TABLE、ALTER TABLE
sql_trigger.cc 觸發器
sql_udf.cc 用戶自定義函數
sql_union.cc UNION操作符
sql_update.cc UPDATE
sql_view.cc 視圖
Stacktrace.c 顯示堆棧(LINUX/INTEL ONLY)
Strfunc.cc
Table.cc 表元數據獲取(FRM)
thr_malloc.cc
Time.cc
Uniques.cc 副本的快速刪除
Unireg.cc 創建一個FRM www.2cto.com
更多內容請參考:
http://forge.mysql.com/wiki/MySQL_Internals_Files_In_MySQL_Sources#The_sql_Directory