2006年08月28日

ありえないSELECT文

アリエナイ設計、というカテゴリを追加してみました。

これは僕が見た Notes/Domino アプリで驚いた、いえ正直に言えば呆れた書き方をしたものの記録です。 知ってて当然、という感じであまり説明されない、基本的な事柄が中心になるとおもいます。

さて今日のびっくりは、ありえないSELECT文です。

ある日、とあるアプリのスケジュールエージェントが動作しないという相談がありました。 テスト環境では動くのですが、本番に配置すると何故か動作しない、そうで。

動作しない、と簡単に言われても、ちゃんとした動作ログが無いのでよくわかりません(これもアリエナーイ)。 そこで、以前にご紹介した ログ生成クラス をさっくり組み込んで動作を確認し、問題に対応しました。 で、ログ機能は今後のために残しておくことになりました。

さて数日後、アプリの担当者から連絡がありました。 「謎の文書が表示されている」 という怪現象が発生しているそうで。 しかも日に日に増えているとか。 こ、これは考えるまでもありません、原因はアレです。

案の定、該当ビューの SELECT文は、以下のようになっていました。 眩暈がします。
SELECT FORM!="A Form" & FORM!="B Form" & FORM!="C Form"

よっぽどの理由がない限り、「選択式」はその名のとおり選択する条件を記載しましょう。 けっして例外条件を列挙してはいけません。

何か変更がある場合、関係のある部分をチェックするのは普通です。が、この設計だと、関係のない部分を全部チェックしないと安心できないですよね。 アリエナーイ、とは思いませんか?

ビューだけではなく、NotesDatabase クラスの Search メソッドなども要注意。

まぁ、時間がなかったとはいえ、アプリ全体の確認をしなかった僕も悪いのですがネ...。
posted by yamachan at 21:57| Comment(0) | TrackBack(0) | アリエナイ設計
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/1198465

この記事へのトラックバック