[groonga-dev,00301] dumpコマンド関連のコードをlib/proc.cからlib/db.cに移すべきか?

アーカイブの一覧に戻る

Ryo Onodera onode****@clear*****
2009年 12月 14日 (月) 19:14:08 JST


小野寺です。

本家のリポジトリにpushする前に確認したいことがありましたので、私のリポジ
トリに次のコミットをpushしました。

support view tables to dump
http://github.com/ryoqun/groonga/commit/eb19dee2642348fea89544899a567cd29a27cd4c

このコミットではGRN_TABLE_VIEWのdumpに対応させていますが、実装するため
に、grn_view構造体の定義がlib/proc.cで必要となりました。その構造体は
lib/db.c内で定義されているので、lib/proc.cからはアクセスすることができ
ず、このパッチではgrn_view構造体の定義をlib/db.cからlib/db.hに暫定的に移
動し、viewテーブルのダンプの実装を行いました。それが、このコミットを直接
本家リポジトリにpushしなかった理由です。

それで、これを期にdumpの関連のコードが多くなってきましたし、それらを
grn_selectやgrn_loadなどのようにlib/db.cに移動させ、lib/proc.cの
proc_dumpはgrn_dumpを呼ぶようにしたほうがいいのでは無いかと考えていま
す。

実は同じようなことが前に起きまして、その時は、grn_accessorの定義が
lib/proc.cで必要になりましたが、work aroundすることができました。が、今
回は難しそうです。

grn_viewやgrn_accessorは外に見せるべきでは無いと思いますし、構造体の定義
をlib/db.hに移すよりは、コードを移動させたほうがいいような気がしますが、
懸念としては、ただでさえ、かなり長いlib/db.cがさらに長くなってしまうとい
うことです。

-- 
小野寺 諒 <onode****@clear*****>
株式会社クリアコード (http://www.clear-code.com/)




groonga-dev メーリングリストの案内
アーカイブの一覧に戻る