-
Lakshmi Narayanan Sreethar authored
MySQL Server has now switched to utf8mb4 as the default charset. And over time, a lot of new charsets has been added and the total has already exceeded 256. But the CharsetMapImpl still handles only 256 charsets. It also currently doesn't initialise the mysql_charset_name array properly - due to which a ClusterJ app might crash when handling charset with charset number 255. This patch updates ClusterJ to adapt to the new default Charset of the server. Changes CharsetMapImpl.h & CharsetMapImpl.cpp - Updated the class to handle atmost 512 charsets. - Fixed the issue in initialization of mysql_charset_name array and changed it to a private member. clusterj/pom.xml.in - Updated the pom to use the lastest Connector/J. The old version had some issues handling the utf8mb4 charset. DynamicObjectTest.java - Updated the expected charset and maximum column length in the testcase. storage/ndb/clusterj/clusterj-test/src/main/resources/schema.sql - Change charset of table `hope` to latin. The default charset utf8mb4 increases the record length of the table beyond maximum and the table creation fails. Changing the charset to latin1 reduces the record length and fixes this issue. mysql-test/suite/ndb/t/disabled.def - Enabled the clusterj test back again.
Lakshmi Narayanan Sreethar authoredMySQL Server has now switched to utf8mb4 as the default charset. And over time, a lot of new charsets has been added and the total has already exceeded 256. But the CharsetMapImpl still handles only 256 charsets. It also currently doesn't initialise the mysql_charset_name array properly - due to which a ClusterJ app might crash when handling charset with charset number 255. This patch updates ClusterJ to adapt to the new default Charset of the server. Changes CharsetMapImpl.h & CharsetMapImpl.cpp - Updated the class to handle atmost 512 charsets. - Fixed the issue in initialization of mysql_charset_name array and changed it to a private member. clusterj/pom.xml.in - Updated the pom to use the lastest Connector/J. The old version had some issues handling the utf8mb4 charset. DynamicObjectTest.java - Updated the expected charset and maximum column length in the testcase. storage/ndb/clusterj/clusterj-test/src/main/resources/schema.sql - Change charset of table `hope` to latin. The default charset utf8mb4 increases the record length of the table beyond maximum and the table creation fails. Changing the charset to latin1 reduces the record length and fixes this issue. mysql-test/suite/ndb/t/disabled.def - Enabled the clusterj test back again.
Loading