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