List:Commits« Previous MessageNext Message »
From:mmatthews Date:September 19 2006 3:45am
Subject:Connector/J commit: r5748 - in branches/branch_5_0/connector-j: . src/com/mysql/jdbc
View as plain text  
Modified:
   branches/branch_5_0/connector-j/CHANGES
   branches/branch_5_0/connector-j/src/com/mysql/jdbc/CharsetMapping.java
   branches/branch_5_0/connector-j/src/com/mysql/jdbc/Connection.java
Log:
Added new _ci collations to CharsetMapping, fixing  Bug#22456 - utf8_unicode_ci not
working.

Modified: branches/branch_5_0/connector-j/CHANGES
===================================================================
--- branches/branch_5_0/connector-j/CHANGES	2006-09-19 00:01:33 UTC (rev 5747)
+++ branches/branch_5_0/connector-j/CHANGES	2006-09-19 01:45:03 UTC (rev 5748)
@@ -34,6 +34,9 @@
 	  prepare(stored procedure) and substitutes client-side prepared 
 	  statement), addresses BUG#22297.
 	  
+	- Added new _ci collations to CharsetMapping, fixing 
+	  Bug#22456 - utf8_unicode_ci not working.
+	  
 07-26-06 - Version 5.0.3
 
     - Fixed BUG#20650 - Statement.cancel() causes NullPointerException

Modified: branches/branch_5_0/connector-j/src/com/mysql/jdbc/CharsetMapping.java
===================================================================
--- branches/branch_5_0/connector-j/src/com/mysql/jdbc/CharsetMapping.java	2006-09-19
00:01:33 UTC (rev 5747)
+++ branches/branch_5_0/connector-j/src/com/mysql/jdbc/CharsetMapping.java	2006-09-19
01:45:03 UTC (rev 5748)
@@ -235,7 +235,7 @@
 
 		MULTIBYTE_CHARSETS = Collections.unmodifiableMap(tempMapMulti);
 
-		INDEX_TO_CHARSET = new String[99];
+		INDEX_TO_CHARSET = new String[211];
 
 		try {
 			INDEX_TO_CHARSET[1] = getJavaEncodingForMysqlEncoding("big5", null);
@@ -399,6 +399,85 @@
 					null);
 			INDEX_TO_CHARSET[98] = getJavaEncodingForMysqlEncoding("eucjpms",
 					null);
+			
+			INDEX_TO_CHARSET[128] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[129] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[130] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[131] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[132] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[133] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[134] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[135] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[136] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[137] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[138] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[139] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[140] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[141] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[142] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[143] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[144] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[145] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+			INDEX_TO_CHARSET[146] = getJavaEncodingForMysqlEncoding("ucs2",
+					null);
+
+			INDEX_TO_CHARSET[192] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[193] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[194] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[195] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[196] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[197] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[198] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[199] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[200] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[201] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[202] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[203] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[204] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[205] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[206] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[207] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[208] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[209] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+			INDEX_TO_CHARSET[210] = getJavaEncodingForMysqlEncoding("utf8",
+					null);
+
 		} catch (SQLException sqlEx) {
 			// ignore, it won't happen in this case
 		}

Modified: branches/branch_5_0/connector-j/src/com/mysql/jdbc/Connection.java
===================================================================
--- branches/branch_5_0/connector-j/src/com/mysql/jdbc/Connection.java	2006-09-19 00:01:33
UTC (rev 5747)
+++ branches/branch_5_0/connector-j/src/com/mysql/jdbc/Connection.java	2006-09-19 01:45:03
UTC (rev 5748)
@@ -2341,6 +2341,14 @@
 					String serverEncodingToSet = 
 						CharsetMapping.INDEX_TO_CHARSET[this.io.serverCharsetIndex];
 					
+					if (serverEncodingToSet == null || serverEncodingToSet.length() == 0) {
+						throw SQLError.createSQLException(
+								"Unknown initial character set index '"
+										+ this.io.serverCharsetIndex
+										+ "' received from server. Initial client character set can be forced via the
'characterEncoding' property.",
+								SQLError.SQL_STATE_GENERAL_ERROR);
+					}
+					
 					if (versionMeetsMinimum(4, 1, 0) && 
 							"ISO8859_1".equalsIgnoreCase(serverEncodingToSet)) {
 						serverEncodingToSet = "Cp1252";

Thread
Connector/J commit: r5748 - in branches/branch_5_0/connector-j: . src/com/mysql/jdbcmmatthews19 Sep