IBM Support

LI73126: CRASH IN SQLNO_PROP_TQFOR A QUERY THAT CONTAINS DISTINCT AND/OR ORDER BY CLAUSE AND INVOLVE OUTERJOINS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Instance crash if the statment includes a DISTINCT and or ORDER
    ORDER BY clauseand involves outerjoins.
    .
    Stack would show:
    .
    The sample query is:
    .
    SELECT intcol, charcol FROM
    manytypes_ctrl
    WHERE intcol
    NOT IN ( SELECT t1.intcol FROM LJview1 AS T1 LEFT JOIN CJview2
    AS T2
             ON T2.dec62col = T1.dec62col, CJview2 AS T3 RIGHT JOIN
    RJview3 AS T4 ON T4.intcol = T3.intcol WHERE T1.dec62col =
    t3.dec62col)
    ORDER BY 1
    [Note, the NOT IN is converted to a join which introduces a
    DISTINCT on T1.INTCOL]
    .
    A snipet of the callstack:
    .
    Signal #11:
    .
    <StackTrace>
    ------Function
    sqlno_prop_tq
    TQ
    sqlno_crule_tq_stream
    sqlno_crule_glue_before_tq
    sqlno_crule_glue_plan
    sqlno_crule_glue_root
    sqlno_crule_glue
    sqlno_get_best_plan
    sqlno_get_best_plan
    next
    sqlno_crule_nljn
    sqlno_crule_join_choices
    sqlno_crule_join_order
    sqlno_crule_join_root
    sqlno_gen_partitions
    .
    The problem is applicable to both serial and DPF, but the crash
    only occurs in DPF environment, when building a TQ.  It also
    applies to SMP (intra_parallel enabled).
    

Local fix

Problem summary

  • Instance crash if the statment includes a DISTINCT and or ORDER
    
    ORDER BY clauseand involves outerjoins.
    .
    Stack would show:
    .
    The sample query is:
    .
    SELECT intcol, charcol FROM
    manytypes_ctrl
    WHERE intcol
    NOT IN ( SELECT t1.intcol FROM LJview1 AS T1 LEFT JOIN CJview2
    AS T2
             ON T2.dec62col = T1.dec62col, CJview2 AS T3 RIGHT JOIN
    RJview3 AS T4 ON T4.intcol = T3.intcol WHERE T1.dec62col =
    t3.dec62col)
    ORDER BY 1
    [Note, the NOT IN is converted to a join which introduces a
    DISTINCT on T1.INTCOL]
    .
    A snipet of the callstack:
    .
    Signal #11:
    .
    <StackTrace>
    ------Function
    sqlno_prop_tq
    TQ
    sqlno_crule_tq_stream
    sqlno_crule_glue_before_tq
    sqlno_crule_glue_plan
    sqlno_crule_glue_root
    sqlno_crule_glue
    sqlno_get_best_plan
    sqlno_get_best_plan
    next
    sqlno_crule_nljn
    sqlno_crule_join_choices
    sqlno_crule_join_order
    sqlno_crule_join_root
    sqlno_gen_partitions
    .
    The problem is applicable to both serial and DPF, but the crash
    only occurs in DPF environment, when building a TQ.  It also
    applies to SMP (intra_parallel enabled).
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    LI73126

  • Reported component name

    DB2 UDE ESE LIN

  • Reported component ID

    5765F4104

  • Reported release

    950

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-02-01

  • Closed date

    2010-02-10

  • Last modified date

    2010-02-10

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

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

Fix information

  • Fixed component name

    DB2 UDE ESE LIN

  • Fixed component ID

    5765F4104

Applicable component levels

  • R950 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEPGG","label":"DB2 for Linux, UNIX and Windows"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"950","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
10 February 2010