ソース解析

ストレージエンジンの実装、4.1、5.0、5.1で結構違うのね

どのバージョンで自作ストレージエンジンの練習をするか悩んでいるわけですが、kdiff3あたりで3つのソースを並べて見てみたりしてるんですが、5.1はプラガブルストレージエンジンになり明らかに一線を画してるのは予想通りではあるんですが、4.1と5.0でも結…

unlikelyマクロについて

MySQLのソースやLinuxカーネルのソースを眺めるとしばしば出てくる、 if (unlikely(a == b)){ .... }みたいな構文ですが、これの解説。このunlikelyはマクロ関数で、引数として渡された条件がほとんどの場合に偽になることをコンパイラに教えるものです。コ…

MySQLソースコード解析ことはじめ

環境 FreeBSD-6.2 準備 MySQLソースコードの取得 $ fetch "http://mirror.mysql-partners-jp.biz/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz"; $ tar xzf fetch.out; MySQLコンパイル $ cd mysql-5.0.45; $ CC=gcc CXX=gcc CFLAGS=-g CXXFLAGS=-g ./configure…