22 June 2006
[Magma] Magmaを試す
巷で話題(にはなっていませんが)のMagmaを心に隙間ができたので試してみました。100% Pure SqueakによるOODBです。
Magma:
http://minnow.cc.gatech.edu/squeak/2665
インストール
Monticello経由で行います。Monticelloのリポジトリを下記のように設定してOpenします。
MCHttpRepository
location: 'http://www.squeaksource.com/MagmaTester'
user: ''
password: ''
MagmaServerLoaderの最新バージョン(17)を選択してLoadです。私の場合、スタンドアロンでの利用を考えているので、MagmaServerLoaderを選択しましたが、クライアントサーバで複数Magmaクライアントからアクセスという場合には、MagmaTesterLoaderあたりを選んでおくと良いでしょう。
私はSqueak3.8+日本語環境インストーラという環境に入れました。2005Jにもきっと入るでしょう。
お試しコード
- リポジトリ作成時に絶対パスを入れる仕様になっているのがどうにもいただけないので、FileManを使っています。(正直このために作ったようなものです。)
directory _ './magmaDb/' asDirectoryEntry assureExistence. "リポジトリのパス"
MagmaRepositoryController
create: directory pathName
root: Dictionary new. "リポジトリ作成"
myMagmaSession := MagmaSession openLocal: directory pathName.
myMagmaSession connectAs: 'ume'. "セッションを開始"
myMagmaSession commit:
[ myMagmaSession root
at: 'strings'
put: (OrderedCollection with: ('うああ')) ]. "データ登録"
myMagmaSession root at: 'strings'. "データ参照(inspect it)"
myMagmaSession disconnect; closeRepository. "セッション閉じて、リポジトリも閉じる"
リポジトリ作成は最初の一度だけです。えらく時間がかかるのでビビリます。あとは総じてスムーズに動きますが、OmniBaseにくらべると若干重い気もします。日本語文字列もパッチを当てることなく入るのがすばらしいですね。