XADataSource
implemented (ported from 3.2
branch which won't be released as a product). Use
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
as your datasource class name in your application server to
utilize XA transactions in MySQL-5.0.10 and newer.
PreparedStatement.setString()
didn't work
correctly when sql_mode
on server
contained NO_BACKSLASH_ESCAPES
and no
characters that needed escaping were present in the string.
Attempt detection of the MySQL type
BINARY
(it's an alias, so this isn't
always reliable), and use the
java.sql.Types.BINARY
type mapping for
it.
Moved -bin-g.jar
file into separate
debug
subdirectory to avoid confusion.
Don't allow .setAutoCommit(true)
, or
.commit()
or
.rollback()
on an XA-managed connection
as per the JDBC specification.
If the connection useTimezone
is set to
true
, then also respect time zone
conversions in escape-processed string literals (for
example, "{ts ...}"
and "{t
...}"
).
Return original column name for
RSMD.getColumnName()
if the column was
aliased, alias name for .getColumnLabel()
(if aliased), and original table name for
.getTableName()
. Note this only works for
MySQL-4.1 and newer, as older servers don't make this
information available to clients.
Setting
useJDBCCompliantTimezoneShift=true
(it's
not the default) causes the driver to use GMT for
all
TIMESTAMP
/DATETIME
time zones, and the current VM time zone for any other type
that refers to time zones. This feature can not be used when
useTimezone=true
to convert between
server and client time zones.
Add one level of indirection of internal representation of
CallableStatement
parameter metadata to
avoid class not found issues on JDK-1.3 for
ParameterMetadata
interface (which
doesn't exist prior to JDBC-3.0).
Added unit tests for XADatasource
, as
well as friendlier exceptions for XA failures compared to
the "stock" XAException
(which has no
messages).
Idle timeouts cause XAConnections
to
whine about rolling themselves back. (Bug#14729)
Added support for Connector/MXJ integration via url
subprotocol jdbc:mysql:mxj://...
.
Moved all SQLException
constructor usage
to a factory in SQLError
(ground-work for
JDBC-4.0 SQLState
-based exception
classes).
Removed Java5-specific calls to
BigDecimal
constructor (when result set
value is ''
, (int)0
was being used as an argument indirectly via method return
value. This signature doesn't exist prior to Java5.)
Added service-provider entry to
META-INF/services/java.sql.Driver
for
JDBC-4.0 support.
Return "[VAR]BINARY" for
RSMD.getColumnTypeName()
when that is
actually the type, and it can be distinguished (MySQL-4.1
and newer).
When fix for Bug#14562 was merged from 3.1.12, added
functionality for CallableStatement
's
parameter metadata to return correct information for
.getParameterClassName()
.
Fuller synchronization of Connection
to
avoid deadlocks when using multithreaded frameworks that
multithread a single connection (usually not recommended,
but the JDBC spec allows it anyways), part of fix to Bug#14972).
Implementation of Statement.cancel()
and
Statement.setQueryTimeout()
. Both require
MySQL-5.0.0 or newer server, require a separate connection
to issue the KILL QUERY
statement, and in
the case of setQueryTimeout()
creates an
additional thread to handle the timeout functionality.
Note: Failures to cancel the statement for
setQueryTimeout()
may manifest themselves
as RuntimeExceptions
rather than failing
silently, as there is currently no way to unblock the thread
that is executing the query being cancelled due to timeout
expiration and have it throw the exception instead.
É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.