Bugs fixed:
Use DocBook version of docs for shipped versions of drivers. (Bug#2671)
NULL
fields were not being encoded correctly in all cases in server-side prepared statements. (Bug#2671)Fixed rare buffer underflow when writing numbers into buffers for sending prepared statement execution requests. (Bug#2671)
Fixed
ConnectionProperties
that weren't properly exposed through accessors, cleaned upConnectionProperties
code. (Bug#2623)Class-cast exception when using scrolling result sets and server-side prepared statements. (Bug#2623)
Merged unbuffered input code from 3.0. (Bug#2623)
Enabled streaming of result sets from server-side prepared statements. (Bug#2606)
Server-side prepared statements were not returning data type
YEAR
correctly. (Bug#2606)Fixed charset conversion issue in
getTables()
. (Bug#2502)Implemented multiple result sets returned from a statement or stored procedure. (Bug#2502)
Implemented
Connection.prepareCall()
, andDatabaseMetaData
.getProcedures()
andgetProcedureColumns()
. (Bug#2359)Merged prepared statement caching, and
.getMetaData()
support from 3.0 branch. (Bug#2359)Fixed off-by-1900 error in some cases for years in
TimeUtil.fastDate
/TimeCreate()
when unpacking results from server-side prepared statements. (Bug#2359)Reset
long binary
parameters inServerPreparedStatement
whenclearParameters()
is called, by sendingCOM_RESET_STMT
to the server. (Bug#2359)NULL
values for numeric types in binary encoded result sets causingNullPointerExceptions
. (Bug#2359)Display where/why a connection was implicitly closed (to aid debugging). (Bug#1673)
DatabaseMetaData.getColumns()
is not returning correct column ordinal info for non-'%'
column name patterns. (Bug#1673)Fixed
NullPointerException
inServerPreparedStatement.setTimestamp()
, as well as year and month descrepencies inServerPreparedStatement.setTimestamp()
,setDate()
. (Bug#1673)Added ability to have multiple database/JVM targets for compliance and regression/unit tests in
build.xml
. (Bug#1673)Fixed sending of queries larger than 16M. (Bug#1673)
Merged fix of data type mapping from MySQL type
FLOAT
tojava.sql.Types.REAL
from 3.0 branch. (Bug#1673)Fixed NPE and year/month bad conversions when accessing some datetime functionality in
ServerPreparedStatements
and their resultant result sets. (Bug#1673)Added named and indexed input/output parameter support to
CallableStatement
. MySQL-5.0.x or newer. (Bug#1673)CommunicationsException
implemented, that tries to determine why communications was lost with a server, and displays possible reasons when.getMessage()
is called. (Bug#1673)Detect collation of column for
RSMD.isCaseSensitive()
. (Bug#1673)Optimized
Buffer.readLenByteArray()
to return shared empty byte array when length is 0.Fix support for table aliases when checking for all primary keys in
UpdatableResultSet
.Unpack “unknown” data types from server prepared statements as
Strings
.Implemented
Statement.getWarnings()
for MySQL-4.1 and newer (usingSHOW WARNINGS
).Ensure that warnings are cleared before executing queries on prepared statements, as-per JDBC spec (now that we support warnings).
Correctly initialize datasource properties from JNDI Refs, including explicitly specified URLs.
Implemented long data (Blobs, Clobs, InputStreams, Readers) for server prepared statements.
Deal with 0-length tokens in
EscapeProcessor
(caused by callable statement escape syntax).DatabaseMetaData
now reportssupportsStoredProcedures()
for MySQL versions >= 5.0.0Support for
mysql_change_user()
. See thechangeUser()
method incom.mysql.jdbc.Connection
.Removed
useFastDates
connection property.Support for NIO. Use
useNIO=true
on platforms that support NIO.Check for closed connection on delete/update/insert row operations in
UpdatableResultSet
.Support for transaction savepoints (MySQL >= 4.0.14 or 4.1.1).
Support “old”
profileSql
capitalization inConnectionProperties
. This property is deprecated, you should useprofileSQL
if possible.Fixed character encoding issues when converting bytes to ASCII when MySQL doesn't provide the character set, and the JVM is set to a multi-byte encoding (usually affecting retrieval of numeric values).
Centralized setting of result set type and concurrency.
Fixed bug with
UpdatableResultSets
not using client-side prepared statements.Default result set type changed to
TYPE_FORWARD_ONLY
(JDBC compliance).Fixed
IllegalAccessError
toCalendar.getTimeInMillis()
inDateTimeValue
(for JDK < 1.4).Allow contents of
PreparedStatement.setBlob()
to be retained between calls to.execute*()
.Fixed stack overflow in
Connection.prepareCall()
(bad merge).Refactored how connection properties are set and exposed as
DriverPropertyInfo
as well asConnection
andDataSource
properties.Reduced number of methods called in average query to be more efficient.
Prepared
Statements
will be re-prepared on auto-reconnect. Any errors encountered are postponed until first attempt to re-execute the re-prepared statement.