Fix comparisons made between string constants and dynamic
strings that are converted with either
toUpperCase()
or
toLowerCase()
to use
Locale.ENGLISH
, as some locales
“override” case rules for English. Also use
StringUtils.indexOfIgnoreCase()
instead
of .toUpperCase().indexOf()
, avoids
creating a very short-lived transient
String
instance.
Server-side prepared statements did not honor
zeroDateTimeBehavior
property, and would
cause class-cast exceptions when using
ResultSet.getObject()
, as the all-zero
string was always returned. (Bug#5235)
Fixed batched updates with server prepared statements weren't looking if the types had changed for a given batched set of parameters compared to the previous set, causing the server to return the error “Wrong arguments to mysql_stmt_execute()”.
Handle case when string representation of timestamp contains
trailing ‘.
’ with no numbers
following it.
Inefficient detection of pre-existing string instances in
ResultSet.getNativeString()
. (Bug#5706)
Don't throw exceptions for
Connection.releaseSavepoint()
.
Use a per-session Calendar
instance by
default when decoding dates from
ServerPreparedStatements
(set to old,
less performant behavior by setting property
dynamicCalendars=true
).
Added experimental configuration property
dontUnpackBinaryResults
, which delays
unpacking binary result set values until they're asked for,
and only creates object instances for non-numerical values
(it is set to false
by default). For some
usecase/jvm combinations, this is friendlier on the garbage
collector.
UNSIGNED BIGINT
unpacked incorrectly from
server-side prepared statement result sets. (Bug#5729)
ServerSidePreparedStatement
allocating
short-lived objects unnecessarily. (Bug#6225)
Removed unwanted new Throwable()
in
ResultSet
constructor due to bad merge
(caused a new object instance that was never used for every
result set created). Found while profiling for Bug#6359.
Fixed too-early creation of StringBuffer
in EscapeProcessor.escapeSQL()
, also
return String
when escaping not needed
(to avoid unnecessary object allocations). Found while
profiling for Bug#6359.
Use null-safe-equals for key comparisons in updatable result sets.
SUM()
on DECIMAL
with
server-side prepared statement ignores scale if zero-padding
is needed (this ends up being due to conversion to
DOUBLE
by server, which when converted to
a string to parse into BigDecimal
, loses
all “padding” zeros). (Bug#6537)
Use
DatabaseMetaData.getIdentifierQuoteString()
when building DBMD queries.
Use 1MB packet for sending file for LOAD DATA LOCAL
INFILE
if that is <
max_allowed_packet
on server.
ResultSetMetaData.getColumnDisplaySize()
returns incorrect values for multi-byte charsets. (Bug#6399)
Make auto-deserialization of
java.lang.Objects
stored in
BLOB
columns configurable via
autoDeserialize
property (defaults to
false
).
Re-work Field.isOpaqueBinary()
to detect
CHAR(
to support fixed-length binary fields for
n
) CHARACTER SET
BINARYResultSet.getObject()
.
Use our own implementation of buffered input streams to get
around blocking behavior of
java.io.BufferedInputStream
. Disable this
with useReadAheadInput=false
.
Failing to connect to the server when one of the addresses
for the given host name is IPV6 (which the server does not
yet bind on). The driver now loops through
all IP addresses for a given host, and
stops on the first one that accepts()
a
socket.connect()
. (Bug#6348)
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.