IBM Support

PK66947: SELECT COUNT(*) GIVES NO RESULT WHEN CURRENT DEGREE = 'ANY' INVOLVING IS NULL PREDICATE THAT IS ALSO INDEX PARTITION KEY

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Incorrout  no rows NRF for the following
    select: SET CURRENT DEGREE = 'ANY'; SELECT COUNT(*)  FROM
    DB111.TABLE_1 A WHERE A.COLX  IS NULL WITH UR ;
    INVOLVING IS NULL PREDICATE THAT IS ALSO INDEX PARTITION KEY
    on a Parallel Group.
    .
    L2 Diagnostic Key:  ISNULL  PGD  LPT
    .
    

Local fix

  • Disabling parallelism can bypass the problem.
    Set Current Degree='1' or Bind with Degree='1'.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 for z/OS users with PARALELLISM      *
    *                 enabled, and sql that contains an IS NULL    *
    *                 predicate.                                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: DB2 may return an incorrect value for   *
    *                      a table accessed in parallel using an   *
    *                      index with a matching key covered by    *
    *                      an IS NULL predicate.  Also, the key    *
    *                      column must be a VARCHAR type.          *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Example of an SQL and index when accessed using PARALLELISM
    may result in an incorrect output:
    
    CREATE Index1 on Table1(VarcharColumn)
    
    SELECT VarcharColumn
    From Table1
    Where VarcharColumn IS NULL;
    
    where VarcharColumn is a VARCHAR type.
    

Problem conclusion

  • With the fix, DB2 now correctly processes a 'col IS NULL'
    predicate when the col is a key of an index that is used to
    partition a table for parallel access.
    
    ADDITIONAL KEYWORDS: SQLSUM SQLISNULL SQLCPUP SQLIOP SYSPLEX
    SQLSYSPLEXP PARALLELISM SQLPARALLELISM SQLINCORR SQLINCORROUT
    

Temporary fix

  • *********
    * HIPER *
    *********
    

Comments

APAR Information

  • APAR number

    PK66947

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    810

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-06-01

  • Closed date

    2008-08-26

  • Last modified date

    2008-10-02

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UK39278 UK39279

Modules/Macros

  • DSNXOLFQ
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • R810 PSY UK39278

       UP08/09/10 P F809

  • R910 PSY UK39279

       UP08/09/10 P F809

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 October 2008