Details
-
Sub-task
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
10.2.1.6
-
None
-
Regression, Regression Test Failure
Description
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
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.
Attachments
Attachments
Issue Links
- is part of
-
DERBY-955 Get derbyall on jdk1.6
- Closed