List:Commits« Previous MessageNext Message »
From:mmatthews Date:April 10 2007 7:22pm
Subject:svn commit - mysqldoc@docsrva: r5809 - trunk/refman-common
View as plain text  
Author: mmatthews
Date: 2007-04-10 21:22:26 +0200 (Tue, 10 Apr 2007)
New Revision: 5809

Log:
Notes for 5.1.0 alpha, and 5.0.6 (not yet released)

Modified:
   trunk/refman-common/news-connector-j.xml


Modified: trunk/refman-common/news-connector-j.xml
===================================================================
--- trunk/refman-common/news-connector-j.xml	2007-04-10 18:57:11 UTC (rev 5808)
+++ trunk/refman-common/news-connector-j.xml	2007-04-10 19:22:26 UTC (rev 5809)
Changed blocks: 3, Lines Added: 295, Lines Deleted: 1; 11382 bytes

@@ -17,7 +17,7 @@
 
     <section id="cj-news-5-1-0">
 
-      <title>Changes in MySQL Connector/J 5.1.0 (Not yet released)</title>
+      <title>Changes in MySQL Connector/J 5.1.0 (11 April 2007)</title>
 
       <para>
         <emphasis role="bold">Important change:</emphasis> Due to a

@@ -49,7 +49,114 @@
           <literal>useSSPSCompatibleTimezoneShift=true</literal>.
         </para>
       </note>
+	  
+	   <para>
+        Functionality added or changed:
+       </para>
 
+	   <itemizedlist>
+
+         <listitem>
+           <para>Re-worked Ant buildfile to build JDBC-4.0 classes separately, as well
+	  as support building under Eclipse (since Eclipse can't mix/match JDKs).
+	       </para>
+		   
+		   <para>
+	  	   To build, you must set <literal>JAVA_HOME</literal> to J2SDK-1.4.2 or Java-5, and set
+	       the following properties on your Ant commandline:
+	       </para>
+		   
+		   <itemizedlist>
+		    <listitem>
+			  <para>
+			  <literal>com.mysql.jdbc.java6.javac</literal> - full path to your Java-6 <literal>javac</literal> executable
+			  </para>
+			</listitem>
+			
+			<listitem>
+			  <para>
+			  <literal>com.mysql.jdbc.java6.rtjar</literal> - full path to your Java-6 <literal>rt.jar</literal> file
+			  </para>
+			</listitem>
+		  </itemizedlist>
+		 </listitem>
+
+		 <listitem>
+		   <para>New feature - driver will automatically adjust session variable
+	  &quot;net_write_timeout&quot; when it determines its been asked for a &quot;streaming&quot;
+	  result, and resets it to the previous value when the result set
+	  has been consumed. (configuration property is named 
+	  &quot;netTimeoutForStreamingResults&quot;, value has unit of seconds, 
+	  the value '0' means the driver will not try and adjust this value).
+	       </para>
+		 </listitem>
+		 
+         <listitem>
+		   <para>
+		   Added support for JDBC-4.0 categorized SQLExceptions.
+		   </para>
+		 </listitem>
+    
+	     <listitem>
+		   <para>
+		   Refactored CommunicationsException into a JDBC-3.0 version, and a JDBC-4.0
+	       version (which extends <literal>SQLRecoverableException</literal>, now that it exists).
+		   </para>
+	  
+	       <note>
+		     <para>
+			 This change means that if you were catching 
+	         <literal>com.mysql.jdbc.CommunicationsException</literal> in your applications instead
+	         of looking at the SQLState class of &quot;08&quot;, and are moving to Java 6 
+	         (or newer), you need to change your imports to that exception
+	         to be <literal>com.mysql.jdbc.exceptions.jdbc4.CommunicationsException</literal>, as
+	         the old class will not be instantiated for communications link-related
+	         errors under Java 6.
+			 </para>
+		   </note>
+		 </listitem>
+	  
+	     <listitem>
+		   <para>
+		   Added support for JDBC-4.0's client information. The backend storage
+	       of information provided via Connection.setClientInfo() and retrieved
+	       by Connection.getClientInfo() is pluggable by any class that implements
+	       the com.mysql.jdbc.JDBC4ClientInfoProvider interface and has a no-args
+	       constructor. 
+		   </para>
+		   
+		   <para>
+		   The implementation used by the driver is configured using the 
+	       <literal>clientInfoProvider</literal> configuration property (with a default of value 
+	       of &quot;com.mysql.jdbc.JDBC4CommentClientInfoProvider&quot;, an implementation
+	       which lists the client info as a comment prepended to every query
+	       sent to the server).
+		   </para>
+	  
+	       <para>
+		   This functionality is only available when using Java-6 or newer.
+		   </para>
+		 </listitem>
+	  
+	     <listitem>
+		   <para>
+		   Added support for JDBC-4.0's SQLXML interfaces.
+		   </para>
+		 </listitem>
+		   
+		 <listitem>
+		   <para>
+		   Added support for JDBC-4.0's <literal>Wrapper</literal> interface.
+		   </para>
+		 </listitem>
+		 
+	     <listitem>
+		   <para>
+		   Added support for JDBC-4.0's <literal>NCLOB</literal>, and 
+		   <literal>NCHAR</literal>/<literal>NVARCHAR</literal> types.
+		   </para>
+		 </listitem>
+	   </itemizedlist>
     </section>
 
   </section>

@@ -58,6 +165,193 @@
 
     <title>Changes in MySQL Connector/J 5.0.x</title>
 
+	<section id="cj-news-5-0-6">
+
+      <title>Changes in MySQL Connector/J 5.0.6 (Not yet released)</title>
+	  
+	  <para>
+        Functionality added or changed:
+      </para>
+
+      <itemizedlist>
+
+        <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.
+		  </para>
+		</listitem>
+	  
+	    <listitem>
+          <para>
+	      New configuration property, <literal>enableQueryTimeouts</literal> (default &quot;true&quot;). 
+		  </para>
+		  
+		  <para>	  
+	      When enabled, query timeouts set via <literal>Statement.setQueryTimeout()</literal> use a 
+	      shared <literal>java.util.Timer</literal> instance for scheduling. Even if the timeout 
+	      doesn't expire before the query is processed, there will be 
+	      memory used by the TimerTask for the given timeout which won't be 
+	      reclaimed until the time the timeout would have expired if it 
+	      hadn't been cancelled by the driver. High-load environments 
+	      might want to consider disabling this functionality. (this configuration 
+	      property is part of the &quot;maxPerformance&quot; configuration bundle).
+		  </para>
+		</listitem>
+	  
+	    <listitem>
+          <para>
+	      Added configuration property <literal>padCharsWithSpace</literal> (defaults to 
+		  &quot;false&quot;). If set to &quot;true&quot;, and a result set column has the 
+		  <literal>CHAR</literal> type and the value does not fill the amount of characters 
+		  specified in the DDL for the column, the driver will pad the remaining characters 
+		  with space (for ANSI compliance).
+		  </para>
+		</listitem>
+	  
+        <listitem>
+		  <para>
+	      Added configuration property <literal>useDynamicCharsetInfo</literal>. If set to &quot;false&quot;
+	      (the default), the driver will use a per-connection cache of character set 
+	      information queried from the server when necessary, or when set to &quot;true&quot;,
+	      use a built-in static mapping that is more efficient, but isn't aware of 
+	      custom character sets or character sets implemented after the release of 
+	      the JDBC driver.
+		  </para>
+	  
+	      <note>
+		    <para>
+	        Note: this only affects the <literal>padCharsWithSpace</literal> configuration property and the 
+            <literal>ResultSetMetaData.getColumnDisplayWidth()</literal> method.
+		    </para>
+		  </note>
+		</listitem>
+		
+		<listitem>
+		  <para> 
+	      More intelligent initial packet sizes for the &quot;shared&quot; packets are used 
+	      (512 bytes, rather than 16K), and initial packets used during handshake are now sized 
+		  appropriately as to not require reallocation.
+		  </para>
+		</listitem>
+		
+	  </itemizedlist>
+	  
+	  <para>
+        Bugs fixed:
+      </para>
+
+      <itemizedlist>
+	  
+	    <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 #25545)
+	      </para>
+        </listitem>
+
+	    <listitem>
+          <para>
+		  <literal>PreparedStatement</literal> is not closed in 
+	      <literal>BlobFromLocator.getBytes()</literal>. (Bug #26592)
+	      </para>
+        </listitem>
+
+	    <listitem>
+          <para>
+		  Whitespace surrounding storage/size specifiers in 
+	      stored procedure parameters declaration causes <literal>NumberFormatException</literal> to 
+	      be thrown when calling stored procedure on JDK-1.5 or newer, as the Number
+	      classes in JDK-1.5+ are whitespace intolerant. (Bug #25624)
+          </para>
+        </listitem>	  
+	  
+	    <listitem>
+          <para>
+		  When the configuration property <literal>useCursorFetch</literal> was set to
+		  &quot;true&quot;, sometimes server would return
+	      new, more exact metadata during the execution of the server-side prepared
+	      statement that enables this functionality, which the driver ignored (using
+	      the original metadata returned during prepare()), causing corrupt reading
+	      of data due to type mismatch when the actual rows were returned. (Bug #26173)
+	      </para>
+        </listitem>
+
+	    <listitem>
+          <para>
+		  Comments in DDL of stored procedures/functions confuse 
+	      procedure parser, and thus metadata about them can not be created, leading to
+	      inability to retrieve said metadata, or execute procedures that have certain
+	      comments in them. (Bug #26959)
+	      </para>
+        </listitem>
+
+	    <listitem>
+          <para>
+		  Fast date/time parsing doesn't take into
+	      account 00:00:00 as a legal value. (Bug #26789)
+	      </para>
+        </listitem>
+	 
+	    <listitem>
+          <para>
+		  <literal>ResultSet.get*()</literal> with a column index &lt; 1 returns 
+	      misleading error message. (Bug #27317)
+	      </para>
+        </listitem>
+	  
+	    <listitem>
+          <para>
+		  <literal>Statement.setMaxRows()</literal> is not effective on result 
+	      sets materialized from cursors. (Bug #25517)
+	      </para>
+        </listitem>
+	 
+	    <listitem>
+          <para><literal>CALL /* ... */ some_proc()</literal> doesn't work. As a side effect
+	      of this fix, you can now use <literal>/* */</literal> and <literal>#</literal> comments when preparing statements using
+	      client-side prepared statement emulation. (Bug #27400)
+	      </para>
+	  
+	      <para>
+	      If the comments happen to contain parameter markers '?', they will be treated
+	      as belonging to the comment (i.e. not recognized) rather than being a parameter
+	      of the statement.
+	      </para>
+	  
+	      <note>
+		    <para>
+	        The statement when sent to the server will contain the comments
+	        as-is, they're not stripped during the process of preparing the <literal>PreparedStatement</literal>
+	        or <literal>CallableStatement</literal>.
+	        </para>
+		  </note>
+		</listitem>
+	  
+	    <listitem>
+          <para><literal>BIT(> 1)</literal> is returned as <literal>java.lang.String</literal> from <literal>ResultSet.getObject()</literal>
+	      rather than <literal>byte[]</literal>. (Bug #25328)
+	      </para>
+        </listitem>
+	  
+	    <listitem>
+          <para>
+		  <literal>CallableStatements</literal> with <literal>OUT/INOUT</literal> parameters that
+	      are "binary" (<literal>BLOB</literal>, <literal>BIT</literal>, <literal>(VAR)BINARY</literal>, <literal>JAVA_OBJECT</literal>) have extra 7 bytes.
+	     (Bug #25715)
+	      </para>
+        </listitem>
+	
+	    <listitem>
+          <para><literal>Connection.getTransactionIsolation()</literal> uses
+	      &quot;<literal>SHOW VARIABLES LIKE</literal>&quot; which is very inefficient on MySQL-5.0+ servers. (Bug #27655)
+	      </para>
+        </listitem>
+		
+	  </itemizedlist>
+	  
+	</section>
+	
     <section id="cj-news-5-0-5">
 
       <title>Changes in MySQL Connector/J 5.0.5 (02 March 2007)</title>


Thread
svn commit - mysqldoc@docsrva: r5809 - trunk/refman-commonmmatthews10 Apr