Jiemamyのロードマップ
以前、バージョン番号ポリシー案なんてのを考えていましたが、色々話し合った結果、以下のような感じになりました。
これをロードマップとしようと思います。で、現在のJiemamyはフェーズB(開発中状態)の後期におり、ぼちぼちフェーズC(部外者による機能評価、あんな機能も欲しい等の要望受付)に移行しようかという段階です。(この段階を経ることになったので、仕様凍結はもう少し後になります。)
フェーズCは、なるべく多くの人に使用してもらい、使用感などを確認しつつ調整していく段階です。なので、Jiemamyの汎用性を少しでも上げておく必要があります。つまり、多くのRDBMS対応でしょうか。
元々、対応RDBMSに関しては、幅広くをサポートしたいとは思っているので、現在見た目だけは色々対応しているように見えます。しかし現状、マトモに対応ができているRDBMSは、PostgreSQLとMySQLのみ(他は未テスト)。そして私は現在担当しているPostgreSQLとMySQLで手一杯(むしろ既にキャパオーバー(笑))なので、現状以上のサポートは求めにくい状況です。
幸い、現在一緒に開発して下さっている方が、Oracle と H2 を担当してくれる事にはなっていますが、他(PostgresとMySQL以外)のRDBMSのDialectを作るにあたって、ハードルがあります。
JiemamyのDialectは、
という感じで構築してあるのですが、2の「一般的な共通実装の抽象クラス」が PostgreSQL と MySQL (の差異)しか意識せずに設計されている、というのが問題になっていると思います。(まぁ、対応する予定のSQL方言を細部まで全て知り尽くしていないと、どの部分をテンプレートにして良いかも分からないので、仕方ないといえば仕方ないのですが…。)
はい。まぁ何が言いたいかと言いますと、「煮詰まってます。共同開発者さん募集中!」ってことです(笑)
ソースには日本語でコメントしてありますし、docコメントも(簡単にですが)ほぼ全てのpublic/protectedメソッドについているので、(設計的に読みやすいかどうかは自信ありませんが)コードリーディングは比較的楽だと(いいな、と)思っています(汗)
どうでしょう。