2016-12-19 3 views
0

私はサービスの応答をテストしていました。照会結果にこの種の一貫性を必要とするプリンシパルはありますか?

誕生日までに検索された場合、返された結果の1つは、クライアントID = "CID1234"とします。

私はもう一度検索しましたが、今度はクライアントID = "CID1234"、同じサービスの同じ操作で検索しましたが、結果は返されませんでした。

私が問題を提起したとき、Idによるクライアント検索はアクティブなクライアントのみを返し、観察された結果と一致すると言われました。

何とかエネルギーの節約に相当するものがなければならないと思います。データ/情報の保存が必要です。同じサービス操作内のレコードは、クエリパラメータに応じて同時に存在することも存在しないこともできません.SQLクエリであると確信しているかのように、私はできないルールを破りますそれが呼び出されるかもしれないと思います。

私はこれがSQLのクエリであった場合、この状況は起こらないと確信しているので私はSQLタグを含んでいますが、私はなぜそれが当然のことであるのかわかりません。 ?

+0

より具体的にする必要があります。 '' CID1234 ''のような文字列を使用しているようです。あるいは、 'CID'フィールドに整数値' 1234'が含まれていることを意味していますか?文字列を使用している場合は、空白に注意してください。次の値は同じではありません...「CID1234」、「CID1234」、「CID1234」、 – MatBailie

答えて

0

dbaとして、私はビジネスロジックの欠陥として説明します。しかし、実際には、開発者がAPIの使用をどのように意図しているかによって異なります。

単純に見落とされている可能性があります。また、プライバシーやセキュリティ上の理由から意図的である可能性があります。または、単に必要ではなかった。

あなたが記述したシナリオは少し矛盾しているようですが、それが開発者に与えられた要件であり、それが彼らの仕事をしたという要件を満たしていれば。

あなたがそれが違うかもしれないし、うまく動作しなければならないと思うからといって、間違っていないと思うからです。

+0

これがデータベースレベルであり、直接SQLクエリーがこのように動作したとしますバグ、それはなぜバグですか?ラムダ計算のどの要件が壊れているか – Arjang

0

これは技術的またはアーキテクチャ上のものではありません。検索で非アクティブなアカウントの結果や非アクティブなアカウントを取得できないかどうかはビジネス上の決定です。

これは、リクエスト1の時点でアカウントがアクティブで、リクエスト2の時点までにアクティブでなくなった場合に発生します。リクエスト2の結果はアカウントがアクティブではないと予想しますが

+0

いいえ、それはタイミングに関してではなく、レコードがそのフィールドの値によって切り詰められた場合、それが取り出され、それが他のフィールドの値によって切り詰められていれば取り出されません。物事を矛盾させることは有効な言い訳ではない。レコードがアクティブで、いずれかのフィールド値でアクセスできるか、または非アクティブで、いずれかのフィールド値で検索できません。矛盾した容認されない振る舞いです。 – Arjang

+0

私はビジネス上の決定が一方的なものか他のものかを言っています(つまり、あなたが非アクティブにしていないか、あなたがそうしているかのどちらかです)。 –

関連する問題