JavaDBFluteランタイム-0.9.4.1-RC1を公開しました。今までとちょっと違うのは、「ランタイムだけ公開」です。DBFluteモジュールはそのまま(0.9.4のまま)です。DBFluteモジュール:0.9.4DBFluteランタイム:0.9.4.1-RC1で動作します。JARファイルのDownloadはこちらMaven2を利用している方はバージョンを「0.9.4.1-RC1」で。実際に0.9.4.1を正式リリースするときは、DBFluteモジュールも0.9.4.1にする可能性がありますが、ひとまず今回のRC1公開ではDBFluteランタイムだけの公開となります。ひとつ大きな課題を修正しました。外だしSQL(OutsideSql)のパラメータコメントで、BEGINコメントの「and」調整で、最初のIFコメントの中のネストしたIFコメントの「and」も削除されてしまうという課題がありました。true」は実際はParameterBeanのプロパティの値がnullなのかどうかでの判定になります。今は説明のために固定のBoolean値にしています。(AAAの条件が無効になって、BBBの方が有効になることを想定)AAAはfalseで固定で消えます。BBBの前のandは消えるべきで、その通り消えます。CCCのandは消えるべきではありません。BBBが生きているから。今までのDBFluteだとこれが消えてしまいます。3」となってしまいます。「あまりそういう使い方することがないのでは?」というのも一理ありますが、一つ明らかに使うそうなパターンがあります。exists句とそのサブクエリ内の条件のIFです。/*END*//*END*/どんなときでもBBBとCCCのandは消えてはいけません。これがちゃんと消えないように修正したの今回のRC1です。本当にこの問題で困ることは稀でしょう。exists句の前の条件が一個でも有効であれば発生しません。なんとなくですが習慣的にexists句よりもわかりやすい条件や絞り込みの多い条件を先に書くことが多いかと思います。それらの条件が全て無効化されてexistsだけで絞るってのもあまり現実的じゃないパターンが多いかと思います。いう意味でよくこれ発覚したなぁというところです。(フィードバックしてくれたid:taktosさんありがとう!)一つのBEGINの中でandのすっ飛ばしを一回だけやるようにすればというところですが、それだけではダメです。exists句がwhere句の最初に定義されてて、そもそもandをすっ飛ばさない場合があります。ネストしたIFでandは除去しないようにすればと思ってしまいますが、それはダメです。...」というような利用の仕方をしている場合があるからです。この利用方法自体はBEGINで囲むときにBEGINが正常に動作しない可能性があるためNGな利用方法です。OGNLを使って一つのIFコメントにまとめるべきです。IFコメントで囲まれた文字列で空文字じゃない文字列が評価されたらもうそのBEGINではandのすっ飛ばしはしないという感じになります。これでようやく必要な場面においてだけandが調整されます。SqlAnalyzerTestにてじゃんじゃんテストしています。皆様のもとへ届ける方が良いと考えました。DBFluteランタイムだけで公開しました。バージョンアップしない方でも、ローカルだけで適用して外だしSQLの動作を確認して頂けると助かります。「コメントで特に問題ないですよー」と一言頂けると助かります。DBFlute.NET-0.8.9.6をリリースしました。RC1を公開しました。DBFlute-0.9.5.1をリリースしました。DBFlute-0.9.4.1をリリースしました。DBFlute-0.9.4.1-RC2を公開しました。再開したディズニーシーにはてなブログをはじめよう!jfluteさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。