[ 
https://issues.apache.org/jira/browse/DERBY-1440?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Knut Anders Hatlen updated DERBY-1440:
--------------------------------------

       Derby Info:   (was: [Patch Available])
    Fix Version/s: 10.3.0.0

Thanks for the review, Øystein! I have committed 1440.diff to trunk with 
revision 541435 and will address your comments in a follow-up patch by adding 
more comments to wrapInSQLException(). I agree that nextSQLException should be 
renamed to something which matches how it's currently being used.

The purpose of seeNextException and the recursive call to wrapInSQLException() 
is to convert a StandardException to an SQLException and add a next pointer 
from the SQLException to another SQLException which wraps the cause of the 
StandardException. For the JDBC 3.0 driver, this should have the same effect as 
before (when it created the SQLException from the StandardException, wrapped 
the cause of the StandardException and chained them with setNextException()), 
whereas the JDBC 4.0 driver now will create the correct chain of DRDA ferry 
wrappers since Util.seeNextException() goes through the exception factory 
instead of calling setNextException() directly.

> jdk 1.6 client driver omits SQLStates and chained exceptions in error messages
> ------------------------------------------------------------------------------
>
>                 Key: DERBY-1440
>                 URL: https://issues.apache.org/jira/browse/DERBY-1440
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Network Client, Tools
>    Affects Versions: 10.2.1.6
>         Environment: Sun JDK 1.6
>            Reporter: Olav Sandstaa
>         Assigned To: Knut Anders Hatlen
>            Priority: Minor
>             Fix For: 10.3.0.0
>
>         Attachments: 1440.diff, 1440.stat
>
>
> When running some SQL queries through ij that fails it seems like some
> information about chained exceptions is not presented to the user when
> running with the client driver and jdk 1.6.
> One example SQL that fails (taken from the ieptests.sql):
> =========================================================
> ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('inventory', 'ORDERTABLE' ,
> 'extinout/order.dat', null, null, null) ;
> When running this in ij the following error message is produced:
> Java 1.6 Embedded driver:
> =========================
> ERROR 38000: The exception 'java.sql.SQLSyntaxErrorException: Schema
> 'inventory' does not exist' was thrown while evaluating an expression.
> ERROR 42Y07: Schema 'inventory' does not exist
> Java 1.5 Client driver:
> =======================
> ERROR 38000: The exception 'SQL Exception: Schema 'inventory' does not
> exist' was thrown while evaluating an expression. SQLSTATE: 42Y07:
> Schema 'inventory' does not exist
> Java 1.6 Client driver:
> =======================
> ERROR 38000: The exception 'java.sql.SQLSyntaxErrorException: Schema
> 'inventory' does not exist' was thrown while evaluating an expression.
> The bug (or difference) here is that the client driver when running
> with jdk 1.6 does not print the chained exception and SQL state.
> It would be nice to have the same information in the output as what is
> written by the embedded driver (or client driver running with jdk
> 1.5).

-- 
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