DBFlute の Firebird 対応は? (続編)

jfluteの日記:DBFlute の Firebird 対応は?
の続編です。該当記事のコメントの通りですが、
とりあえず ReplaceSchemaタスク、そして JDBCタスクが
実行できるようになりました。

FirebirdJDBCドライバでポイントが二点:
(jaybird)

A. DatabaseMetaDataでテーブル名指定がデフォルト前方一致
B. プロシージャで参照されているテーブルは drop できない

"A" は、例えば getColumns() とか getIndexInfo() など。
MEMBER を指定したら、MEMBER_ADDRESS の情報まで戻ってきて
しまいます。これは他のDBMSではない挙動ですし、JDBCドライバの
仕様として、javadoc にもそのようなことは書いてありません。

"B" は、よりチェックが強い、と言えるのですが、
ReplaceSchemaと相性が悪かったので、Firebird限定処理
として先にプロシージャを drop するようにしました。
ただ、逆にテーブルのデフォルト制約などでプロシージャを
利用していると今度はプロシージャが drop できなかったりして...
(今回は状況的にあり得る可能性の高い方を優先してケアします)

それにしても、日本だとほとんど実績を耳にすることありませんが、
海外だとどうなのでしょうね...!?

@DBFlute, Java, DBFlute.NET, C#, Firebird, JDBC