Fixes bugs found since release 5.1.16.
LIKE
was not optimized in then server when run againstINFORMATION_SCHEMA
tables and no wildcards were used. Databases/tables with'_'
or'%'
in their names (escaped or not) are handled by this code path, although slower, since it is rare to find these characters in table names in SQL. If there is a'_'
or'%'
in the string,LIKE
takes care of that; otherwise,'='
is now used instead. The only exception is theinformation_schema
database, which is handled separately. The patch covers bothgetTables()
andgetColumns()
. (Bug #61332)The first call to a stored procedure failed with “No Database Selected”. The workaround introduced in
DatabaseMetaData.getCallStmtParameterTypes
to fix the server bug whereSHOW CREATE PROCEDURE
was not respecting lowercase table names was misbehaving when the connection was not attached to a database and on case-insensitive operating systems. (Bug #61150)-
There was a concurrency bottleneck in Java's character set encoding/decoding when converting bytes to/from
String
values.ImportantNo longer use
String.getBytes(...)
, ornew String(byte[]...)
. Use theStringUtils
method instead.(Bug #61105)
Connector/J now avoids a concurrent bottleneck in Java's character set encoding/decoding when converting bytes to and from instances of
String
. (Bug #61105, Bug #12622056)