Contribute |  Web Resources |  Past Polls |  Calendar |  Advanced Search |  Site Statistics |   RSS Feed Monday, May 12 2008 @ 04:42 AM IDT  
Topics
Home
Online Sales (7/0)
Online Books (2/0)
Online Marketing (45/0)
phpBB (3/0)
Mozilla Firefox Project (3/0)
SPAM Related (3/0)
Search Engines (16/1)
Hosting Related (20/0)
PHP Web Logs (28/0)
MySQL Web Logs (140/0)
Web Design (7/0)
System Related (4/0)
Security Related (9/0)
Apache Web Logs (32/0)

Weber Sites
PHP Code Search
Web Development Resources
PHP & MySQL Code Examples
PHP & MySQL forums
Web Development Index
Learn PHP playing Trivia
Web Site Templates
Web Development Content
What is My IP?
Web Site Uptime Monitor
Search Engines Monitor

User Functions
Username:

Password:

Don't have an account yet? Sign up as a New User

WeberDev Sponsors
Host where we host

Related Links
PHPClasses
XML meta language
PHPkitchen
PHP Editor
PHP Jobs
Ajax Tutorials
Webmaster Resources
Webmaster Forum
Dutch PHP resource

Events
There are no upcoming events

Older Stories
Monday 02-Jul
  • Connector/J 5.1.2 Beta Released (0)

  • Tuesday 26-Jun
  • MySQL Proxy 0.5.0 has been released (0)

  • Monday 18-Jun
  • MySQL Connector/Net 5.1.2 Beta has been released. (0)

  • Saturday 16-Jun
  • MySQL Connector/ODBC 3.51.16 is available! (0)

  • Friday 01-Jun
  • MySQL 5.1.19-beta has been released (0)

  • Wednesday 30-May
  • Interim snapshots now available for Connector/Net 5.1 (0)

  • Thursday 24-May
  • MySQL Connector/Net 5.1.1 has been released (0)

  • Tuesday 22-May
  • MySQL Newsletter: May 2007 (0)

  • Wednesday 16-May
  • MySQL Connector/J 5.0.6 Has Been Released (0)
  • MySQL GUI Tools for 5.0 Release 12 available for download - MySQL Workbench Status Update (0)

  • Web Sites
    Forex Trading Online forex trading platform
    Email to Fax Service
    Make Your Own Website

    MySQL Connector/J 5.0.6 Has Been Released   
    Wednesday, May 16 2007 @ 08:51 PM IDT
    Contributed by: berber

    MySQL Web LogsHi,

    MySQL Connector/J 5.0.6 a new version of the Type-IV all-Java JDBC driver for MySQL has been released.

    This is a bug fix release for the current production branch of Connector/J.

    Version 5.0.6 is suitable for use with any MySQL version including MySQL-4.1, MySQL-5.0, MySQL-5.1 beta or the MySQL-6.0 Falcon "Preview".

    It is now available in source and binary form from the Connector/J download pages at

    http://dev.mysql.com/downloads/connector/j/5.0.html

    and mirror sites (note that not all mirror sites may be up to date at this point of time - if you can't find this version on some mirror, please try again later or choose another download site.)

    As always, we recommend that you check the change log

    http://dev.mysql.com/doc/refman/5.0/en/cj-news.html

    and "Upgrading" sections

    http://dev.mysql.com/doc/refman/5.0/en/cj-upgrading.html

    in the manual before upgrading to be aware of changes in behavior that might affect your application.

    We welcome and appreciate your feedback, bug reports, bug fixes, patches etc.:

    http://forge.mysql.com/wiki/Contributing


    - -------------------------
    Performance Improvements
    - -------------------------

    - - Fixed BUG#27655 - Connection.getTransactionIsolation() uses "SHOW VARIABLES LIKE" which is very inefficient on MySQL-5.0+

    - - More intelligent initial packet sizes for the "shared" packets are used (512 bytes, rather than 16K), and initial packets used during handshake are now sized appropriately as to not require reallocation.

    - - 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 ReplicationConnection or "lbpool").

    If the JDBC URL starts with "jdbc:mysql:loadbalance://host-1,host-2,...host-n", the driver will create an implementation of java.sql.Connection that load balances requests across a series of MySQL JDBC connections to the given hosts, where the balancing takes place after transaction commit.

    Therefore, for this to work (at all), you must use transactions, even if only reading data.

    Physical connections to the given hosts will not be created until needed.

    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.

    There are two choices for load balancing algorithms, which may be specified by the "loadBalanceStrategy" JDBC URL configuration property:

    * "random" - 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.

    * "bestResponseTime" - the driver will route the request to the host that had the best response time for the previous transaction.

    - - When "useLocalSessionState" is set to "true" and connected to a MySQL-5.0 or later server, the JDBC driver will now determine whether an actual "commit" or "rollback" statement needs to be sent to the database when Connection.commit() or Connection.rollback() is called.

    This is especially helpful for high-load situations with connection pools that always call Connection.rollback() on connection check-in/check-out because it avoids a round-trip to the server.

    - - Driver will now use INSERT INTO ... VALUES (DEFAULT) form of statement for updatable result sets for ResultSet.insertRow(), rather than pre-populating the insert row with values from DatabaseMetaData.getColumns() (which results in a "SHOW FULL COLUMNS" on the server for every result set). If an application requires access to the default values before insertRow() has been called, the JDBC URL should be configured with "populateInsertRowWithDefaultValues" set to "true".

    This fix specifically targets performance issues with ColdFusion and the fact that it seems to ask for updatable result sets and touch the insert row no matter what the application does with them.

    - - Added configuration property "useDynamicCharsetInfo". If set to "false" (the default), the driver will use a per-connection cache of character set information queried from the server when necessary, or when set to "true", 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.

    Note: this only affects the "padCharsWithSpace" configuration property and the ResultSetMetaData.getColumnDisplayWidth() method.

    - ----------------------
    Usability Improvements
    - ----------------------

    - - Give better error message when "streaming" result sets, and the connection gets clobbered because of exceeding net_write_timeout on the server. (which is basically what the error message says too).

    - - Fixed BUG#27317 - ResultSet.get*() with a column index < 1 returns misleading error message.

    - - com.mysql.jdbc.[NonRegistering]Driver now understands URLs of the format "jdbc:mysql:replication://" and "jdbc:mysql:loadbalance://" which will create a ReplicationConnection (exactly like when using [NonRegistering]ReplicationDriver) and an experimenal load-balanced connection designed for use with SQL nodes in a MySQL Cluster/NDB environment, respectively.

    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 [NonRegistering]ReplicationDriver to eventually disappear, to be replaced with com.mysql.jdbc[NonRegistering]Driver with the new URL prefix.

    - - Fixed BUG#28085 - Generate more useful error messages for diagnostics when the driver thinks a result set isn't updatable. (Thanks to Ashley Martens for the patch).

    - -----------------
    Defects Addressed
    - -----------------

    - - Fixed BUG#25545 - Client options not sent correctly when using SSL, leading to stored procedures not being able to return results. Thanksto Don Cohen for the bug report, testcase and patch.

    - - Fixed BUG#26592 - PreparedStatement is not closed in BlobFromLocator.getBytes().

    - - Fixed BUG#25624 - Whitespace surrounding storage/size specifiers in stored procedure parameters declaration causes NumberFormatException to be thrown when calling stored procedure on JDK-1.5 or newer, as the Number classes in JDK-1.5+ are whitespace intolerant.

    - - Fixed BUG#26173 - When useCursorFetch=true, 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.

    - - Fixed BUG#26959 - 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.

    - - Fixed BUG#26789 - fast date/time parsing doesn't take into account 00:00:00 as a legal value.

    - - Fixed BUG#25517 - Statement.setMaxRows() is not effective on result sets materialized from cursors.

    - - New configuration property, "enableQueryTimeouts" (default "true"). When enabled, query timeouts set via Statement.setQueryTimeout() use a shared java.util.Timer 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 "maxPerformance" configuration bundle).

    - - Fixed BUG#27400 - CALL /* ... */ some_proc() doesn't work. As a side effect of this fix, you can now use /* */ and # comments when preparing statements using client-side prepared statement emulation.

    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.

    Note that the statement when sent to the server will contain the comments as-is, they're not stripped during the process of preparing the PreparedStatement or CallableStatement.

    - - Fixed BUG#25328 - BIT(> 1) is returned as java.lang.String from ResultSet.getObject() rather than byte[].

    - - Fixed BUG#25715 - CallableStatements with OUT/INOUT parameters that are "binary" (blobs, bits, (var)binary, java_object) have extra 7 bytes (which happens to be the _binary introducer!)

    - - Added configuration property "padCharsWithSpace" (defaults to "false"). If set to "true", and a result set column has the CHAR 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).

    - - Fixed issue where calling getGeneratedKeys() on a prepared statement after calling execute() didn't always return the generated keys (executeUpdate() worked fine however).

    - - Fixed issue where a failed-over connection would let an application call setReadOnly(false), when that call should be ignored until the connection is reconnected to a writable master unless "failoverReadOnly" had been set to "false".

      [ Views: 1049 ]  


    What's Related
  • http://dev.mysql.com/do...
  • http://dev.mysql.com/do...
  • http://dev.mysql.com/do...
  • http://forge.mysql.com/...
  • More by berber
  • More from MySQL Web Logs

  • Story Options
  • Mail Story to a Friend
  • Printable Story Format


  • Created this page in 0.05 seconds

     Copyright © 2008 WeberBlogs Site
     All trademarks and copyrights on this page are owned by their respective owners.

    powered by geeklog