IBM Support

IZ52794: DOCUMENTATION OF CHANGES IN IBM DATA SERVER DRIVER FOR JDBC AND SQLJ VERSION 3.8.62 FOR DB2 LUW V9 FIXPACK 8

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • ============================================================
    Documentation of changes in IBM Data Server Driver for JDBC
    and SQLJ version 3.8.62 for DB2 LUW V9 Fixpack 8.
    The previous version was 3.8.47 for DB2 LUW V9 Fixpack 7.
    
    ____________________________________________________________
    Type-4: Performance is improved by chaining the flow of both
    close query and commit when no more ResultSets are available
    for a stored procedure. Previously these were flowed
    separately. (118696)
    
    ____________________________________________________________
    All Connectivity Types: When a program opens many statement
    handles (up to the limit which is indicated by an SQL0805),
    then closes some handles, then tries to open new statement
    handles, a SQL0805 error is received.  Because some handles
    were closed, the same number of handles should be
    allowed to be reopened. (121665)
    
    ____________________________________________________________
    
    SQLJ (All Connectivity Types):
    
    An OutOfMemory exception could occur due to a memory leak
    in the SQLJ Runtime for applications which were well
    written and closed the connection context after use.  SQLJ
    Runtime was not always closing all of the underlying
    statements held by the connection context.  This has been
    fixed. (125745)
    
    ____________________________________________________________
    Type-4 Connectivity: When trying to resolve an indoubt
    transaction after a XA recover in a SysplexWLB
    environment, a SQLCODE4203 (-4203) error might be
    reported on XAResource.commit() or XAResource.rollback().
    This is caused by flowing commit or rollback to the
    wrong Sysplex member by the JCC driver. (119804)
    
    ____________________________________________________________
    Type-4 XA Connectivity: Under a SysplexWLB environment, if
    an application or WebSphere is trying to commit an indoubt
    transaction to a specific member that is down, the driver
    might throw a XAER_RMFAIL XAException instead of a
    XA_RETRY XAException. This will prevent the application or
    WebSphere from retrying the commit action.  The driver will
    now throw XAER_RETRY instead of XAER_RMFAIL to indicate it
    needs retry the operation. (122451)
    
    ____________________________________________________________
    All Connectivity Types: A SQLWarning with the following
    message - "Specified type does not match described type.
    Using described type." would occur if the target column is
    a decimal type and the specific type of the
    PreparedStatement.setXXX() method does not match its target
    column. (122779)
    
    ____________________________________________________________
    Type-4 Connectivity: SQLCODE204 (-204) error is reported
    when a local commit is called twice under a SysplexWLB
    environment. (125938)
    
    ____________________________________________________________
    Type-4 Connectivity: Inserting values with trailing spaces
    into a vargraphic column in DB2 v9 fails with SQLCODE302
    (-302). For example inserting string "AA   " into a
    vargraphic(2) column will result in an error.
    (118770)
    
    ____________________________________________________________
    All Connectivity Types:  There was a difference in behavior
    
    of resultSet.getString() for decimal/decfloat column types
    
    when switching between JDK 1.4.2 and JDK 1.5.0 and above
    
    using the same jcc driver version.  With JDK 1.4.2,
    
    resultset.getString() returns 0.0000000004.  With JDK 1.5.0,
    
    resultset.getString() returns 4E-10.  A new  property,
    
    "decimalStringFormat", is introduced that allows
    
    application to pick the string format of a decimal/decfloat
    
    column for output path with application running with
    
    JDK 1.5.0 and above. Possible values for the property are
    
    0, 1 and 2.
    
    (0): default value will be 0 that has the semantics of (1)
    
    (1): decimal value will be returned in whatever format
    
     java.math.BigDecimal.toString() method returns.
    
    (2): decimal value will be returned in whatever format
    
     java.math.BigDecimal.toPlainString() method returns.
    
    (118867)
    
    ____________________________________________________________
    Type-4 Connectivity: Driver code has been enhanced to
    support a new value, QUERY_CLOSE_IMPLICIT_COMMIT(3),
    for JCC property queryCloseImplicit.  This value indicates
    that server must implicitly close the cursor upon SQLSTATE
    02000 and in addition may choose to also implicitly commit
    the current unit of work.  When running against DB2 for z/OS
    Version 8 and Version 9, server APAR PK68746 is required to
    support this new value.  DB2 for LUW at V9.7 or higher
    recognizes this new value but will not attempt to perform
    the commit.  (112360)
    
    ____________________________________________________________
    Type-4 Connectivity: Driver code has been modified to
    disable client reroute against z/OS servers. We recommend
    the following 3 approaches for z/OS:
    1. Group access.  Application should use the group IP
    address on the initial connection and enable driver
    property enableSysplexWLB.
    2. Client affinities - Application should enable driver
    property enableClientAffinitiesList and specify the order
    of servers to retry in clientRerouteAlternateServerName
    and clientRerouteAlternatePortNumber.
    3. Member access. Application should use the member
    specific IP address.  No driver property needed
    (enableSysplexWLB should be turned off).  Use this
    option if application requires some affinity to a single
    member.  No reroute or balancing will occur.
    (118511)
    
    ____________________________________________________________
    
    All Connectivity Types:  Driver code has been enhanced such
    
    that driver will automatically retry execution upon
    receiving SQLCODE30002 (-30002) on java.sql.Statement
    execution. (120860)
    
    ____________________________________________________________
    Type-4 and Type-2 LUW Connectivity:
    When connecting to DB2 for z/OS v9.1 and above, a
    NullPointerException may occur during program execution in
    the following scenario:
    - progressiveStreaming is enabled (default)
    - The application has one of the following:
    -- A Callable Statement with a BLOB, CLOB, DBCLOB, or XML
     OUT or INOUT parameter.
    -- A select into a SQLJ BLOB, CLOB, DBCLOB or DB2Xml host
     variable.        -
    The statement is used more than once.
    This problem does not occur when progressive streaming is
    disabled, or when running against DB2 for Linux, Unix, and
    Windows.
    This problem has been resolved. (120928, 119348, 124197)
    
    ____________________________________________________________
    All Connectivity Types:
    When an output parameter is not set and
    CallableStatement.getXXX() is called, the driver will throw
    an exception with message "Invalid operation: wasNull()
    called with no data retrieved." This message is not clear
    and it is changed to "No data retrieved for OUT parameter".
    (121668)
    
    ____________________________________________________________
    All Connectivity Types:
    The autocommit may not be flown in the following case:
    autocommit is true, and the driver has early close of the
    last resultset associated with the statement.
    The problem has been fixed. (128476)
    
    ____________________________________________________________
    All Connectivity Types:
    When Statement.cancel gets called (this may be called
    explicitly or get triggered by Statement.setQueryTimeout),
    if something is wrong with the DB2 server and a
    DisconnectException occurs, a NullPointerException may
    be issued from java.util.LinkedList$ListItr.remove.
    This is because both the cancel thread and main thread use
    the same LinkedList and Iterator for the Exception path.
    In a race condition, one thread may have already removed
    the element from the LinkedList when the other thread tries
    to remove, causing the NPE. The problem has been
    fixed. (128074)
    
    ____________________________________________________________
    SQLJ:
    The sqlj command fails if the package name and class name
    of the SQLJ program are the same. (128079)
    

Local fix

  • n/a
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users of the IBM Data Server Driver for JDBC and SQLJ        *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to V9.1 Fixpack 8                                    *
    ****************************************************************
    

Problem conclusion

  • Problems fixed in DB2 LUW V9.1 Fixpack 8
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ52794

  • Reported component name

    DB2 UDB ESE AIX

  • Reported component ID

    5765F4100

  • Reported release

    910

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-06-05

  • Closed date

    2009-10-02

  • Last modified date

    2009-10-02

  • 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 UDB ESE AIX

  • Fixed component ID

    5765F4100

Applicable component levels

  • R910 PSN

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"910","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
02 October 2009