You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Dyre Tjeldvoll (JIRA)" <de...@db.apache.org> on 2006/04/18 12:37:19 UTC
[jira] Closed: (DERBY-1178) NetworkServer doesn't handle new
subclasses of SQLException correctly
[ http://issues.apache.org/jira/browse/DERBY-1178?page=all ]
Dyre Tjeldvoll closed DERBY-1178:
---------------------------------
Fixed and verified
> NetworkServer doesn't handle new subclasses of SQLException correctly
> ---------------------------------------------------------------------
>
> Key: DERBY-1178
> URL: http://issues.apache.org/jira/browse/DERBY-1178
> Project: Derby
> Type: Sub-task
> Components: JDBC, Localization, Network Server, Regression Test Failure
> Versions: 10.2.0.0
> Reporter: Dyre Tjeldvoll
> Assignee: Rick Hillegas
> Priority: Critical
> Fix For: 10.2.0.0
> Attachments: bug1178_rev1.diff
>
> I observe a strange diff when running metadata.java under 1.6 and
> NetworkServer.
> Some expected SQLExceptions that are printed in the output have ' : '
> appended to them, and this causes a diff.
> After some debugging and poking around I discovered that this is
> because
> DRDAConnThread::buildSqlerrmc(SQLException se)
> assumes that if 'se' is NOT an EmbedSQLException it should not build a
> tokenized sqlerrmc:
> if (se instanceof EmbedSQLException && ! severe)
> sqlerrmc = buildTokenizedSqlerrmc((EmbedSQLException) se);
> else {
> System.out.println("using preformatted...");
> // If this is not an EmbedSQLException or is a severe excecption where
> // we have no hope of succussfully calling the SYSIBM.SQLCAMESSAGE send
> // preformatted message using the server locale
> sqlerrmc = buildPreformattedSqlerrmc(se);
> }
> But in Java 1.6 'se' can indeed be something else, e.g.
> java.sql.SQLSyntaxErrorException
> in this case the NetworkServer will build a preformatted message, and
> SYSIBM.SQLCAMESSAGE will be called on this. Unfortunately the input
> is not checked very well so it ends up trying to use the preformatted
> message as a real messageId and try to look up a localized version of
> the message. This obviously doesn't work and in the bail-out process we end up
> with the preformatted message with ' : ' appended to it...
> So I think DRDAConnThread::buildSqlerrmc(SQLException se) must be able
> to handle all the new SQLException types.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira