IBM Support

IT20882: ESQL SELECT STATEMENT LOSES ARRAY REFERENCE DURING OPTIMIZATION

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

  • If an ESQL SELECT statement similar to the following is used
    
    SET OutputRoot.XMLNSC.TESTOUT.ANOTHERTREE =
      (SELECT (CASE EXISTS(ABRANCH.LEAF?]) WHEN TRUE THEN
        ABRANCH.*:LEAF END) AS TWIG
      FROM InputRoot.XMLNSC.TEST.BRANCH AS ABRANCH);
    
    where two field references in the select list reference the
    same field and the furthest right one is not an array reference
    then the array reference is lost during optimization and if a
    function such as EXISTS tries to use this field reference then
    the following error messages is  seen:
    
    BIP2505E: SqlExistsFunctionCall::evaluate() "The operand must
    be a list" ?.computeModule.Main, 3.127, EXISTS, 1]" thrown in
    the test body.
    
    Additional Symptom(s) Search Keyword(s):
    

Local fix

  • NA
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    All users of ESQL who perform SELECT operations.
    
    
    Platforms affected:
    z/OS, MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    If an ESQL SELECT statement similar to the following is used
    
    SET OutputRoot.XMLNSC.TESTOUT.ANOTHERTREE =
      (SELECT (CASE EXISTS(ABRANCH.LEAF?]) WHEN TRUE THEN
        ABRANCH.*:LEAF END) AS TWIG
      FROM InputRoot.XMLNSC.TEST.BRANCH AS ABRANCH);
    
    where two field references in the select list reference the
    same field and the furthest right one is not an array reference
    then the array reference is lost during optimization and if a
    function such as EXISTS tries to use this field reference then
    the following error messages is  seen:
    
    BIP2505E: SqlExistsFunctionCall::evaluate() "The operand must
    be a list" ?.computeModule.Main, 3.127, EXISTS, 1]" thrown in
    the test body.
    

Problem conclusion

  • The ESQL SELECT optimization code has been updated to
    distinguish between field references which have array specifiers
    and those which do not.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v10.0      10.0.0.10
    v9.0       9.0.0.9
    
    The latest available maintenance can be obtained from:
    http://www-01.ibm.com/support/docview.wss?rs=849&uid=swg27006041
    
    If the maintenance level is not yet available,information on
    its planned availability can be found on:
    http://www-1.ibm.com/support/docview.wss?rs=849&uid=swg27006308
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT20882

  • Reported component name

    INTEGRATION BUS

  • Reported component ID

    5724J0530

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-06-05

  • Closed date

    2017-09-11

  • Last modified date

    2017-09-11

  • 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

    INTEGRATION BUS

  • Fixed component ID

    5724J0530

Applicable component levels

  • R900 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSNQK6","label":"IBM Integration Bus"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
23 March 2020