IBM Support

PH20109: ECLIPSELINK MIXES INDEXED AND NAMED PARAMETER TYPES FOR CURSORS RESULTLIST

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • EclipseLink will throw the following exception when using
    javax.persistence.StoredProcedure with Ref Cursors + indexed
    parameters. The fix for PH16450 was incomplete and did not
    include support for cursors.
    
    Exception:
    Caused by: java.sql.SQLException: operation not allowed:
    Ordinal binding and Named binding cannot be combined!
    at
    oracle.jdbc.driver.OracleCallableStatement.getObject(OracleCalla
    bleStatement.java:3269)
    at
    oracle.jdbc.driver.OracleCallableStatementWrapper.getObject(Orac
    leCallableStatementWrapper.java:978)
    at
    org.eclipse.persistence.internal.jpa.StoredProcedureQueryImpl.ge
    tOutputParameterValue(StoredProcedureQueryImpl.java:515)
    at
    org.eclipse.persistence.internal.jpa.StoredProcedureQueryImpl.ge
    tResultList(StoredProcedureQueryImpl.java:589)
    ...
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server - Java Persistence API - JPA 2.1 &   *
    *                  EclipseLink                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: Executing StoredProcedureQuerys         *
    *                      with indexed parameters & CURSORs,      *
    *                      EclipseLink                             *
    *                      throws IllegalArgumentException         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    This is a regression fix for PH16450.
    When executing either
    javax.persistence.StoredProcedureQuery.getResultList()
    and javax.persistence.StoredProcedureQuery.getSingleResult(),
    EclipseLink will throw the following exception if both are
    applicable to the StoredProcedureQuery:
    1) indexed parameters were set on the StoredProcedureQuery
    before executing
    2) The StoredProcedure has an OUT parameter of type
    javax.persistence.ParameterMode.REF_CURSOR
    Example exception:
    ´´´
    javax.persistence.PersistenceException:
    java.lang.IllegalArgumentException: Invalid output parameter
    name : 2. operation not allowed: Ordinal binding and Named
    binding cannot be combined!
    at
    org.eclipse.persistence.internal.jpa.StoredProcedureQueryImpl.ge
    tResultList(StoredProcedureQueryImpl.java:589)
    ´´´
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    PH20109

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-12-09

  • Closed date

    2020-02-03

  • Last modified date

    2020-02-03

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

[{"Line of Business":{"code":"LOB36","label":"IBM Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850"}]

Document Information

Modified date:
14 September 2020