再検討:ConditionBeanでOr句をどうする?

@DBFlute, DBFlute.NET, Java, C#
DBFluteもバージョン的にそろそろ大詰めを迎えますが、
それまでに幾つか再検討しておきたい仕様があります。
大分昔に決めたポリシーや他に最適な方法が見つかったなどで、
昔のDBFluteではなく、今そしてこれからのDBFluteにふさわしい
仕様を検討したいと考えます。無論、再検討して今まで通りである
可能性は十分あります。それはそれで再検討したことによって、
現状の仕様に関して説得力を持たせることができるメリットがあります。
その第一弾が
「ConditionBeanでOr句をどうする?」
です。

<< 現状 >>
Orはサポート外でUnionで代替。
(LikeSearchのSplit機能(asOrSplit)だけOrをサポート)
理由は:

 A. パフォーマンス上の考慮
 B. CBでUnionがいい感じで実装可能
 C. そもそも頻度が少ない

<A>
Orはパフォーマンス上の考慮でUnionに置き換えることが多いので、
それならば最初からUnionで書いた方が良い(安全な)ため。
下手なOrの利用でカオスな実装をされたくない。

<B>
CBのUnionは冗長なく書けるようになっているのでSQLでの
イメージほどUnionが重苦しい実装になることはない。

<C>
頻度はANDに比べて圧倒的に少ない。
Or句はDB設計の工夫次第で無くしていくことも可能である。
また、どうしても利用せざるを得ない場合は、重要度の高いSQLに
なりやすいため、自然と外だしSQLになることも多い。
(ならUnionで代替できるならそれで良いのでは)

<< 検討 >>
以下の理由からOrを解禁しても良いのでは!?

 o RDBMSがOrでのIndex利用をサポートしてきている
 o データ量が少ない時に気軽にOrを使いたいときもある
 o CBが浸透して来たので危ない実装もそんなになくなるのでは!?
 o ドキュメントに「Orの利用気をつけてね」ってコラムを書けば
 o Orを指定するための良い感じのI/Fも湧いて来た
 o 永遠に「CBでOrは?」って言われ続ける

実現は難しいことは無い。LikeSearchOptionのasOrSplit()
との関係に矛盾が発生してしまうが、仕様を明確にすることで
大きな影響はないかと思われる。
(矛盾の発生する指定は例外にしてもいいかもしれない)

実装するなら以下のようなイメージ:
【重要】
以下、"DBFlute-0.9.6.3" or "DBFlute.NET-0.8.9.9"
からのやり方を記載します。
// [Java]
// where BIRTHDATE >= '2009/09/13'
//   and (MEMBER_NAME like 'S%' escape '|'
//    or MEMBER_NAME like 'J%' escape '|')
MemberCB cb = new MemberCB();
cb.query().setBirthdate_GreaterEqual(2009/09/13);
cb.orScopeQuery(new OrQuery() {
    public void query(MemberCB orCB) {
        orCB.query().setMemberName_PrefixSearch("S");
        orCB.query().setMemberName_PrefixSearch("J");
    }
});
// [C#]
// where BIRTHDATE >= '2009/09/13'
//   and (MEMBER_NAME like 'S%' escape '|'
//    or MEMBER_NAME like 'J%' escape '|')
MemberCB cb = new MemberCB();
cb.Query().SetBirthdate_GreaterEqual(2009/09/13);
cb.OrScopeQuery(delegate(MemberCB orCB) {
    orCB.Query().SetMemberName_PrefixSearch("S");
    orCB.Query().SetMemberName_PrefixSearch("J");
});
というところです。

この件は、ConditionBeanを利用されている皆様に
ぜひ意見を聞きたいと思っております。
(現状のままか、サポートすべきか)

無論、最終的には自分が判断をしますが、今後のプロデュースに
大きな影響のある部分ですので、利用者の方の意見を聞きたいです。
コメントを待っています。
(気軽に思ったことを書いて頂ければと)