読者です 読者をやめる 読者になる 読者になる

HailDB事始

InnoDB HailDB

Embedded InnoDBMySQLのストレージエンジンとして名高いInnoDBの組み込み版、HailDBはそのEmbedded InnoDBの独自オープンソース版。

「どうせオマエらが好きなのはMySQLではなくてInnoDBなんだろ!」ってのは間違いないと思っているが、HailDBの開発版のダウンロード数が40とかになっているとちょっと自信がなくなってくるな。皆が好きなのは、XtraDBとかHailDBとかの派生プロジェクトではなく、安定版のInnoDBってことか・・・

素のInnoDBAPIは触ってみたかったので、以下のようなごくごく入門的なコードで、MySQLの起動ログで見慣れたInnoDBの起動ログが表示された時の感動は「クララが立ったよ!」という感動に比すべきものがある。

#include <assert.h>                                                                                                           
#include <haildb.h>                                                                                                           
                                                                                                                              
int main(int argc, char **argv)                                                                                               
{                                                                                                                             
  ib_err_t err;                                                                                                               
                                                                                                                              
  err = ib_init();                                                                                                            
  assert(err == DB_SUCCESS);                                                                                                  
                                                                                                                              
  err = ib_startup("barracuda");                                                                                              
  assert(err == DB_SUCCESS);                                                                                                  
                                                                                                                              
  err = ib_shutdown(IB_SHUTDOWN_NORMAL);                                                                                      
  assert(err == DB_SUCCESS);                                                                                                  
                                                                                                                              
  return 0;                                                                                                                   
}

この辺りのコードから初めて、テーブルの作成、レコードの追加、検索、更新、トランザクションといったことを一通りやってみたが、メンドクサイのでこのエントリの続きがあるかどうかは分からない。

分かったことは、やっぱりMySQLは便利だな!(今更)