Jiemamyってなんぞ(7) - Dialect

前回は、Jiemamy APIの Importer / Exporter について書きました。今回は引き続きJiemamyの拡張、Dialect (SQL方言)について。

世の中には数多くのRDBMSがあって、各DBの実装によってSQLの文法が微妙に異なっています。SQLには一応ISO/IECで定められた標準文法があるのですが、各ベンダーによる独自の拡張もあれば、標準仕様となっている機能を実装していないケースもあり、標準が全くと言っていいほど機能していません。

1つのDBに特化してSQLを書いている時はあまり大差を感じないかもしれませんが、これを抽象化して扱おうとすると、各DB間の差異で酷い目に遭います。はい、酷い目に遭いましたw まぁ酷い目に遭いつつも頑張ってる訳ですが。

で、現在のところJiemamyは、PostgreSQLMySQLに対応しています。そして現在id:BlackyManOracleへの対応を頑張ってくれているところです。

でだ。Jiemamy仕様で用意している Dialect というインターフェイスを実装すれば、DB2でもSQLAnywhereでも、対応はできるハズです。もしどーーーしてもJiemamyをHiRDBで使いたいという方がいたらば、Dialectを実装してしまえば良いと思います。そしてJiemamy Projectに寄贈しちゃうと良いと思いますw

まぁ冗談*1はさておき。そんな拡張も、Jiemamy本体には手をいれずにできますよ、という話でした。

*1:冗談なのか…