Yet Another Skeleton Engine を作ってみた (YASE 0.1リリース)

Brianが作った"Skeleton Storage Engine"というのが既に存在するので車輪の再発明なのですが、勉強がてらスクラッチで作ってみました。

Yet Another hogehoge ってのに何となく憧れがあっただけだったりもするのですがw

一応、BrianのSkeleton Engineよりもコード量が少なくシンプルなので(必要最小限のことのみを書きました)、Pluggable Storage Engineの仕組みをより理解しやすくなっているかと思います。

ここからダウンロードできます。

使い方は簡単。--with-mysqlでソースディレクトリ、libdirでインストール先のpluginディレクトリを指定するだけです。

./configure --with-mysql=PATH --libdir=PATH
make
make install

例:

./configure \
  --with-mysql=/home/mir/mysql-5.1.25-rc \
  --libdir=/usr/local/mysql/lib/mysql/plugin

ha_yase.soっていうライブラリファイル名になっているので、INSTALL PLUGINはこんな感じ。

mysql> INSTALL PLUGIN yase SONAME 'ha_yase.so';

テーブルを作って確認できます。

[test]> create table t1 (c1 int) engine = yase;
Query OK, 0 rows affected (0.01 sec)

[test]> show create table t1\G
*************************** 1. row ***************************
       Table: t1
Create Table: CREATE TABLE `t1` (
  `c1` int(11) DEFAULT NULL
) ENGINE=YASE DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

MySQL Pluggable Storage Engineの実装に興味がある方の勉強のお役に立てれば幸いです。