Hi,

i'm trying to write a java application which handle SQLException
correctly.

To achieve that i use declarations found in sqlstate.h and SQLError.java.

Note that if someone have a good URL about SQLState error codes
i'm really interested.

then i've greped Connector/J source for SQLException throwing. This
operation show me some "problems".

Connector/j throws SQLExeption with an SQLState value of "0S100" which
is not used/declared in SQLError.java nor in sqlstate.h.

Is this a correct SQLState or a typo ?

It's first used for unicode support error, this may be correct but
should anyway be declared somewhere:

(Note that lines references are for connector/J 3.0.8-stable source code)

In Connection.java near line 2049 function checkServerEncoding :

//
// Attempt to use the encoding, and bail out if it
// can't be used
//
[snip]
 } catch (UnsupportedEncodingException UE) {
   throw new SQLException(
   "The driver can not map the character encoding '"
   + this.encoding + "' that your server is using "
   + "to a character encoding your JVM understands. You "
   + "can specify this mapping manually by adding \"useUnicode=true\" "
   + "as well as \"characterEncoding=[an_encoding_your_jvm_understands]\" "
   + "to your JDBC URL.", "0S100");
 }

But it's used elsewhere with really different meaning :

In Connection.java near line 2217 function InitializeDriverProperties.
This fuction checks that URL parameters are valid if not i think it
shoud use sqlqtate 01S00 as declared in SQLError.java line 45 :
sqlStateMessages.put("01S00", "Invalid connection string attribute");
but it use 0S100 :

throw new SQLException("socketTimeout can not " + "be < 0",
                        "0S100");

this looks like a typo in SQLError.java or in Connection.java.
In the same function for other parameters the same problem appears :
lines 2224, 2236, 2248 and 2267.

Error code 0S100 is used again for Unsupported encoding
(same function) line 2296.

And again line 1778 in ResultSet.java function getString(int) for
unsupported encoding too.

I think having identical error code for unsuported exception and bad
parameter error is a bit confusing, for me at least ...


Thanks for any help,


Gilles.



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to