本文へジャンプ

DB2 [LUW] V9.1 FP7/7a/8, V9.5 FP4/4a, V9.7 GA: 外部結合を含む照会で不正な結果が返る問題とその回避策/修正予定 (DM-09-018)

【重要情報】DB2 for LUW V9.1 FP7/FP7a/FP8, V9.5 FP4/FP4a, V9.7 GAにおいて、外部結合を含む照会で、結果が0となる副照会を条件に含む場合、実際は結果行があるにも関わらず、照会結果が0件となることがあります。修正予定および回避策についてお知らせします。

内容/目次

【概要】

DB2 for LUW V9.1 FP(Fix Pack)7/FP7a/FP8, V9.5 FP4/FP4a, V9.7 GAにおいて、外部結合を含む照会で、結果が0となる副照会を条件に含む場合、実際は結果行があるにも関わらず、照会結果が0件となることがあります。

この問題は、以下のAPARとして報告されています。
V9.1 IZ62236
V9.5 IC63414
V9.7 IC63415

この問題はV8.1, V8.2では発生しません。

【修正予定フィックスパック】

    V9.1 FP9
    V9.5 FP5
    V9.7 FP1
上記は、9/30現在での修正予定であり、変更される場合があります。

【問題発生の再現条件】
以下の条件を満たすSQLを実行すると、実際には結果行があるにもかかわらず結果行が0件となることがあります。

1. 外部結合を含むこと
2. 条件述部に、ORで結合された条件が指定されていること
3. ORで結合された条件に、結果行が0となる副照会が含まれていること
    • 再現例
    1. create table T1(C1 int not null primary key, C2 int);
    2. create table T2(C1 int);
    3. insert into T1 values (1, 1);
    4. select T1.* from T1 left join T2 on T1.C2=T2.C1 where T1.C1 = 1 or T1.C1 = (select C1 from T1 where C1=99);
    5. 表示結果
      C1     C2
      ----------- -----------

       0 レコードが選択されました。

    正しい照会結果は、以下のように、一行が返されるはずです。
      C1     C2
      ----------- -----------
           1      1

       1 レコードが選択されました。


【回避策】
問題が発生するFPを適用している環境では、Special buildの適用により問題を回避してください。
新たにFPを適用する際には、該当FPを使用しないでください。

これらのAPARについての詳細は、PA(パスポート・アドバンテージ)テクニカル・サポートにお問合せくださいますようお願いいたします。
(APARは、Authorized Program Analysis Reportの略です。)

上記のサイトからAPAR情報をご覧になるには、IBM ID(登録のみ)が必要です。

以上

文書情報

有効期限: 2017年9月29日
資料番号: DM-09-018

掲載内容について

当サイトは、お客様の問題解決のためのヒントとしてご利用ください。 当サイトにおける記載内容は、お客様固有の問題に対し、適切であるかどうか、また、正確であるかどうかは十分検証されていません。 結果について、いかなる保証も責任も負いかねますので、あらかじめご了承ください。

商標について

IBM、IBM(logo)、developerWorks、Lotus、PartnerWorld、Rational、Tivoli、 WebSphereはIBM Corporationの商標です。 他の会社名、製品名およびサービス名等はそれぞれ各社の商標です。