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の実装に興味がある方の勉強のお役に立てれば幸いです。