Author: mcbrown
Date: 2007-05-14 15:43:11 +0200 (Mon, 14 May 2007)
New Revision: 6442
Log:
Updating the changelog to 5.0.6 release
Modified:
trunk/refman-common/news-connector-j.xml
Modified: trunk/refman-common/news-connector-j.xml
===================================================================
--- trunk/refman-common/news-connector-j.xml 2007-05-14 13:27:20 UTC (rev 6441)
+++ trunk/refman-common/news-connector-j.xml 2007-05-14 13:43:11 UTC (rev 6442)
Changed blocks: 3, Lines Added: 152, Lines Deleted: 3; 7602 bytes
@@ -200,6 +200,140 @@
<listitem>
<para>
+ Fixed issue where a failed-over connection would let an
+ application call <literal>setReadOnly(false)</literal>, when that call should
+ be ignored until the connection is reconnected to a writable
+ master unless <literal>failoverReadOnly</literal> had been set to <literal>false</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Driver will now use <literal>INSERT INTO ... VALUES (DEFAULT) </literal>form of
+ statement for updatable result sets for
+ <literal>ResultSet.insertRow()</literal>, rather than pre-populating the insert
+ row with values from <literal>DatabaseMetaData.getColumns() </literal>(which
+ results in a <literal>SHOW FULL COLUMNS</literal> on the server for every
+ result set). If an application requires access to the
+ default values before <literal>insertRow()</literal> has been called, the JDBC
+ URL should be configured with
+ <literal>populateInsertRowWithDefaultValues</literal> set to <literal>true</literal>.
+ </para>
+
+ <para>
+ This fix specifically targets performance issues with
+ ColdFusion and the fact that it seems to ask for updatable
+ result sets no matter what the application does with them.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>com.mysql.jdbc.[NonRegistering]Driver</literal> now understands URLs
+ of the format <literal>jdbc:mysql:replication://</literal> and
+ <literal>jdbc:mysql:loadbalance://</literal> which will create a
+ ReplicationConnection (exactly like when using
+ <literal>[NonRegistering]ReplicationDriver</literal>) and an
+ experimental
+ load-balanced connection designed for use with SQL nodes in
+ a MySQL Cluster/NDB environment, respectively.
+ </para>
+
+ <para>
+ In an effort to simplify things, we're working on
+ deprecating multiple drivers, and instead specifying
+ different core behavior based upon JDBC URL prefixes, so
+ watch for <literal>[NonRegistering]ReplicationDriver</literal> to eventually
+ disappear, to be replaced with
+ <literal>com.mysql.jdbc[NonRegistering]Driver</literal> with the new URL
+ prefix.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Added an experimental load-balanced connection designed for
+ use with SQL nodes in a MySQL Cluster/NDB environment (This
+ is not for master-slave replication. For that, we suggest
+ you look at <literal>ReplicationConnection</literal> or <literal>lbpool</literal>).
+ </para>
+
+ <para>
+ If the JDBC URL starts with
+ <literal>jdbc:mysql:loadbalance://host-1,host-2,...host-n</literal>, the
+ driver will create an implementation of <literal>java.sql.Connection</literal>
+ that load balances requests across a series of MySQL JDBC
+ connections to the given hosts, where the balancing takes
+ place after transaction commit.
+ </para>
+
+ <para>
+ Therefore, for this to work (at all), you must use
+ transactions, even if only reading data.
+ </para>
+
+ <para>
+ Physical connections to the given hosts will not be created
+ until needed.
+ </para>
+
+ <para>
+ The driver will invalidate connections that it detects have
+ had communication errors when processing a request. A new
+ connection to the problematic host will be attempted the
+ next time it is selected by the load balancing algorithm.
+ </para>
+
+ <para>
+ There are two choices for load balancing algorithms, which
+ may be specified by the <literal>loadBalanceStrategy</literal> JDBC URL
+ configuration property:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>random</literal> — the driver will pick a
+ random host for each request. This tends to work better
+ than round-robin, as the randomness will somewhat
+ account for spreading loads where requests vary in
+ response time, while round-robin can sometimes lead to
+ overloaded nodes if there are variations in response
+ times across the workload.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>bestResponseTime</literal> — the driver
+ will route the request to the host that had the best
+ response time for the previous transaction.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>
+ When <literal>useLocalSessionState</literal> is set to <literal>true</literal> and connected
+ to a MySQL-5.0 or later server, the JDBC driver will now
+ determine whether an actual <literal>commit</literal> or <literal>rollback</literal> statement
+ needs to be sent to the database when <literal>Connection.commit()</literal> or
+ <literal>Connection.rollback()</literal> is called.
+ </para>
+
+ <para>
+ This is especially helpful for high-load situations with
+ connection pools that always call <literal>Connection.rollback()</literal> on
+ connection check-in/check-out because it avoids a round-trip
+ to the server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Give better error message when "streaming" result
sets, and the connection gets clobbered because of exceeding
<literal>net_write_timeout</literal> on the server.
@@ -256,9 +390,8 @@
<note>
<para>
- Note: this only affects the
- <literal>padCharsWithSpace</literal> configuration
- property and the
+ This only affects the <literal>padCharsWithSpace</literal>
+ configuration property and the
<literal>ResultSetMetaData.getColumnDisplayWidth()</literal>
method.
</para>
@@ -284,6 +417,22 @@
<listitem>
<para>
+ More useful error messages are generated when the driver
+ thinks a result set is not updatable. (Thanks to Ashley
+ Martens for the patch). (Bug #28085)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Using <literal>ResultSet.get*()</literal> with a column
+ index less than 1 returns a misleading error message. (Bug
+ #27317)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Client options not sent correctly when using SSL, leading to
stored procedures not being able to return results. Thanks
to Don Cohen for the bug report, testcase and patch. (Bug
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r6442 - trunk/refman-common | mcbrown | 14 May |