List:Commits« Previous MessageNext Message »
From:mcbrown Date:May 14 2007 1:43pm
Subject:svn commit - mysqldoc@docsrva: r6442 - trunk/refman-common
View as plain text  
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> &mdash; 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> &mdash; 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 &quot;streaming&quot; 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-commonmcbrown14 May