Patrick Linskey commented on OPENJPA-184:

Is this issue still open?

> use DB2 Diagnostic interface to report extended error diagnostics on SQL 
> Exception
> ----------------------------------------------------------------------------------
>                 Key: OPENJPA-184
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-184
>             Project: OpenJPA
>          Issue Type: New Feature
>         Environment: DB2 database
>            Reporter: David Wisneski
> When using DB2 database and the SQLException occurs 
> if the SQLException instance supports the DB2Diagnosable interface, 
> extended error information from the SQLCA will be written to the SQL channel. 
> The message format produced by DB2Diagnosable writer is
>        SQLCA OUTPUT[Errp=SQLDMISR, Errd=[-2146893819, 5, 0, 0, -957, 0]]
> Errp is the name of the DB2 module that detected the error and Errd are 6 
> integers of diagnostic information, SQLWARN are 6 characters 
> of warning flags..  Often this additional information can be used by an 
> administrator in doing problem determination.
> This message will be appended to the persistence exception error message 
> already created by OpenJPA
> and it will be written to SQL logging channel (if active).
> DB2Dictionary class is modified to use java reflection on the SQLException 
> instance to determine 
> if it supports DB2Diagnosble methods "getErrp" and if so 
> it invokes the methods to retrieve Errp and Errd fields, formats and logs the 
> error message.
> Reflection is used so that the DB2Dictionary does not contain any compile 
> time or runtime 
> dependency on the DB2 jdbc driver.  If the DB2Diagnosable methods do not 
> exist on the SQLException
> instance,  no extended error information is logged.  
> org.apache.openjpa.jdbc.sql.SQLException class is modified so in the event of 
> an exception 
> if the Dictionary is DB2, to call the Dictionary routines above.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to