· Connector/J applications can now connect to MySQL servers that use the PAM authentication system.
Functionality Added or Changed:
· Added the function MYSQL_INDEX_TO_MYSQL_CHARSET to retrieve the server charset name, using an index instead of parsing variables to CharsetMapping.java
· The LRUCache implementation removed the eldest entry, rather than the least-recently accessed. (Bug #13036537)
· Changed cacheCallableStatements to cacheCallableStmts in maxPerformance.properties, to allow proper caching. (Bug #13036309)
· Added a new ant flag, com.mysql.jdbc.junit.fork, which controls whether JUnit will fork new processes.
· The value on: The default, and legacy behavior. Or off): Required for Windows, as otherwise process fork failure errors will result while running the test suite via ant on Windows. (Bug #12784170)
· Not putting a space between VALUES() and ON DUPLICATE KEY UPDATE causes connector/J to both (A) Rewrite the query, although it includes an ON UPDATE statment and (B) To generate the wrong query with multiple ON DUPLICATE KEY statements. (Bug #12565726)
· The "old" warnings were returned when Statement.getWarnings() was called after Statement.clearWarnings(). (Bug #61866, Bug #12791594)
· Calling Statement.cancel() on a statement that isn't currently executing, will cause a later-executed query on the same connection to be unexpectedly canceled. The driver now guards against this condition, but it is an underlying server issue. The MySQL statement KILL QUERY (which is what the driver uses to implement Statement.cancel()) is rather non-deterministic, and thus the use of Statement.cancel() should be avoided if possible. (Bug #61501)
· A connection could not be established when the URL contained both sessionVariables and characterEncoding. (Bug #61201, Bug #12649557)
· Reverting changes made to ConnectionImpl.java, the private boolean characterSetNamesMatches function.
· The hard-coded list of reserved words in Connector/J was not updated to reflect the list of reserved words in MySQL Server 5.5.
Functionality added or changed:
· Connector/J did not support utf8mb4 for servers 5.5.2 and newer.
· The method unSafeStatementInterceptors() contained an erroneous line of code, which resulted in the interceptor being called, but the result being thrown away.
· There was a performance regression of roughly 25% between r906 and r907, which appeared to be caused by pushing the Proxy down to the I/O layer.
· In the file DatabaseMetadata.java, the function private void getCallStmtParameterTypes failed if the parameter was defined over more than one line by using the '\n' character.