IBM Support

IC74775: DB2 MAY ABEND WHILE COMPILING A QUERY WITH HASH PARTITIONED TABL E AND ALWAYS FALSE PREDICATE DUE TO PRESENCE OF ROLLUP OR CUBE

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Db2 may abend under all the following conditions:
    1. The table is hash partitioned
    2. There is a ROLLUP or CUBE grouping.
    3. There is a always false predicate. eg. 1<>1
    
    
    The following stack trace is observed:
    <StackTrace>
    pthread_kill
    sqloDumpEDU
    sqldDumpContext
    sqldDumpContext
    sqlrr_dump_ffdc
    sqlzeDumpFFDC
    sqlzeSqlCode
    sqlnn_erds
    propagate_partitioning
    local_select_box
    local_box_analysis
    pdb_box_analysis
    pdb_graph_analysis
    sqlnq_pdb_analysis
    sqlnr_exe
    sqlnr_exe
    sqlnn_cmpl
    sqlnn_cmpl
    sqlra_compile_var
    sqlra_find_var
    sqlra_get_var
    sqlrr_prepare
    sqljs_ddm_prpsqlstt
    sqljsParseRdbAccessed
    .sqljsParse.fdpr.clone.16
    @64@sqljsSqlam
    @64@sqljsDriveRequests
    @64@sqljsDrdaAsInnerDriver
    sqljsDrdaAsDriver
    RunEDU
    EDUDriver
    sqloEDUEntry + 0x260
    </StackTrace>
    

Local fix

  • Replace ROLLUP or CUBE with corresponding GROUPING SETS. For
    example, GROUP BY ROLLUP(C1),ROLLUP(c2) can be rewritten as:
         group by grouping sets ( (col1,col2),(col1),(col2),());
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * ALL                                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Db2 may abend under all the following conditions:            *
    * 1. The table is hash partitioned                             *
    * 2. There is a ROLLUP or CUBE grouping.                       *
    * 3. There is a always false predicate. eg. 1<>1               *
    *                                                              *
    *                                                              *
    * The following stack trace is observed:                       *
    * <StackTrace>                                                 *
    * pthread_kill                                                 *
    * sqloDumpEDU                                                  *
    * sqldDumpContext                                              *
    * sqldDumpContext                                              *
    * sqlrr_dump_ffdc                                              *
    * sqlzeDumpFFDC                                                *
    * sqlzeSqlCode                                                 *
    * sqlnn_erds                                                   *
    * propagate_partitioning                                       *
    * local_select_box                                             *
    * local_box_analysis                                           *
    * pdb_box_analysis                                             *
    * pdb_graph_analysis                                           *
    * sqlnq_pdb_analysis                                           *
    * sqlnr_exe                                                    *
    * sqlnr_exe                                                    *
    * sqlnn_cmpl                                                   *
    * sqlnn_cmpl                                                   *
    * sqlra_compile_var                                            *
    * sqlra_find_var                                               *
    * sqlra_get_var                                                *
    * sqlrr_prepare                                                *
    * sqljs_ddm_prpsqlstt                                          *
    * sqljsParseRdbAccessed                                        *
    * .sqljsParse.fdpr.clone.16                                    *
    * @64@sqljsSqlam                                               *
    * @64@sqljsDriveRequests                                       *
    * @64@sqljsDrdaAsInnerDriver                                   *
    * sqljsDrdaAsDriver                                            *
    * RunEDU                                                       *
    * EDUDriver                                                    *
    * sqloEDUEntry + 0x260                                         *
    * </StackTrace>                                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Update to version 9.7 fixpack 5 or later fixpacks.           *
    ****************************************************************
    

Problem conclusion

  • This problem is first fixed in version 9.7 fixpack 5.
    

Temporary fix

  • Replace ROLLUP or CUBE with corresponding GROUPING SETS. For
    example, GROUP BY ROLLUP(C1),ROLLUP(c2) can be rewritten as:
        group by grouping sets ( (col1,col2),(col1),(col2),());
    

Comments

APAR Information

  • APAR number

    IC74775

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-03-01

  • Closed date

    2011-12-18

  • Last modified date

    2011-12-18

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

    IC74732

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

Fix information

  • Fixed component name

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

  • R950 PSN

       UP

  • R970 PSN

       UP



Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 9.7

Reference #: IC74775

Modified date: 18 December 2011