IBM Support

IC67025: FOREIGN KEY CONSTRAINT VIOLATION IS POSSIBLE WHEN THE WRONG PARENT ROW KEY IS LOCKED ALLOWING DELETION DURING CHILD INSERT

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Due to some incorrect behavior in the engine, there is the
    potential that as a row is being inserted into a child table, in
    the code when it should be going to the parent table and
    checking for the existence of the key, and if it exists, places
    a "S" lock on it so the parent value can't be removed before the
    child row is allowed to complete it's insert, the server is
    locking the incorrect row in the parent table, so under the
    right transaction timing conditions, the parent row containing
    the value attempting to be inserted into the child table can be
    deleted successfully, and then the child table insert is also
    able to completed successfully.  At that point, the foreign key
    constraint is violated as you have a row in the child table
    which does not have a matching row in the parent table.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Customers using 11.50.xC6 or lower                           *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Potential foreign key constraint violation is possible when  *
    * the index that is being used on the parent table to do the   *
    * key lookup was built as attached (ie using the in table      *
    * clause). This can happen when multiple sessions are involved *
    * where one session is inserting data into a table which has a *
    * referential constraint pointing to a parent table and        *
    * another session is working on the parent table row which is  *
    * being referenced by the first session.                       *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to 11.50.xC7 or higher.                              *
    ****************************************************************
    

Problem conclusion

  • Problem first fixed in 11.50.xC7 by ensuring that proper rows
    from parent table are locked.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC67025

  • Reported component name

    IBM IDS ENTRP E

  • Reported component ID

    5724L2304

  • Reported release

    B15

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-03-09

  • Closed date

    2010-11-15

  • Last modified date

    2010-11-15

  • 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

    IBM IDS ENTRP E

  • Fixed component ID

    5724L2304

Applicable component levels

  • RB15 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSGU8G","label":"Informix Servers"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B15","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
15 November 2010