ふと、データベースエンジンってどんなことをしているんだろう、いろいろ調べてパーサーやオプティマイザーなど仕組みの概要はわかってきたような気がするけれど実際のところどんな処理をしているんだろうという疑問が、ある日わいてしまいまして、考えてみるに Java オープンソースのデータベースなら内容を見てもなんとなくわかるのでは? と思い立って、ソースを見てみることにしました。
Java World 2005/9 月号で「手取り足取り、徹底指導!ソース・コードの読み方、教えます。」なんて記事を読んだ影響もあるのかもしれません。
Java オープンソースの RDB としてはやはり Apache Derby (元 Cloudscape) がまずは思いつくところです。
http://db.apache.org/derby/
ということで、Derby のソースを見てみることにしました。
今回はソースへアクセスしてダウンロードするやり方を見ていこうと思います。
こうしたオープンソースのソフトウェアの場合、リポジトリに CVS を使用している場合と
Subversion を使用している場合があります。
Derby は Subversion でした。
Subversion は以下のサイトからダウンロードします。
ちなみに i5/OS 版もありました。
http://subversion.tigris.org/
より具体的には以下のものをダウンロードしてインストールしました。
http://subversion.tigris.org/files/documents/15/25364/svn-1.2.3-setup.exe
上記プログラムを実行した後、コマンドプロンプトなどから以下のようなコマンドを実行します。
最後の "10.1" というのはブランチの指定で、これはリリースが上がれば適宜新しくなっていくので、最新のものをホームページ等で確認する必要があります。
svn co https://svn.apache.org/repos/asf/db/derby/code/branches/10.1/
実際には以下のような画面になります。

上記画面になったところ "t" と入力して Enter キーを押すと、以下の画面のようにソースがチェックアウトされて転送されてきます。

最後にこんなメッセージが出てダウンロードは完了です。

ソース本体をダウンロードしたところで、やはり IDE がないと内容を読むのは大変です。
Eclipse にインポートして読むことにしました。
まずインポート先のプロジェクトを作成します。

"File" - "Import" メニューから、インポートを行います。
"From Directory" に先ほどソースをダウンロードした先のディレクトリを指定し、上記で作成したプロジェクトを"Into
Folder" に指定し、"Finish" ボタンを押すとインポートが始まります。

インポートが終了すると、とりあえずこんなかんじで内容を見ることができるようになります。

|
|