DBD::mysql 3.0004 and 3.0004_1 released

[email protected] (Patrick Galbraith) Sat, 27 May 2006 10:39:30 -0700
Newsgroups perl.dbi.dev,perl.dbi.users,perl.dbi.announce
Message-ID <[email protected]>
Dear DBD::mysql users,

This announcement comes a few days late, but DBD::mysql version 3.0004 
(stable, production) and 3.0004_1 (dev) have been released!

Version 3.0004 is the production version with server-side prepare 
statements turned off by default, and 3.0004_1 is the development 
version with server-side prepare statements turned on by default.

The changes in 3.0004, as listed in the changelog:
  * Fix dbd_st_finish which closed the handle prematurely (Martin Evans)
  * Compile issues (Martin Evans)
  * Fix to dbd_bind_ph to deal with numbers (ints, floats) correctly
    (Alexey Stroganov)
  * Test changes - bind_param 41 and 42

The changes to 3.0004_1 as listed in the changelog:

 * Fix dbd_st_finish which closed the handle prematurely (Martin Evans)
  * Compile issues (Martin Evans)
  * Small change to get utf8 data returned. One still has to:
      $dbh->do("set character set utf8");
      $dbh->do("set names utf8");

    to get utf8 back and even then you only get it back if the
    column is defined as utf8 in mysql.
  * Fix to dbd_bind_ph to deal with numbers (ints, floats) correctly
    (Alexey Stroganov)
  * Test changes - bind_param 41 and 42
  * Turned off 70takeimp test

Note: to turn on server-side prepared statements, simply append 
";mysql_server_prepare=1" to the connect string or via the driver 
handle. Please refer to documentation for further details.

Notes:

* The development (3.0004_1) version supports multiple result sets from 
stored procedures. Documentation and sample code (in the ./eg dir) is 
included on how to use multiple result sets. Also, the perldoc has 
information on multiple result sets.

* To turn off server-side prepare statements to have emulated prepared 
statements, append ";mysql_emulated_prepare=0" in the connect string or 
via the driver handle.

*As listed in the second changelog, this code is now much better at 
handling SQL statements that aren't supported in the prepared statement 
C API, and silently deals with determining whether or not to use the 
prepared statement calls.

I really appreciate the help of Martin Evans, Alexey Stroganov, Henri 
Asseily, as well as the rest of the community in helping by giving 
patches and feedback about various issues with the driver. Thank you!

NOTICE: Very soon, perhaps in a release or so, I intend to stabilise the 
dev release and make that the production release. This means that server 
side prepared statements will be turned on by default. I intend to test 
this thoroughly prior to making the switch, so that users don't have any 
problems when upgrading, when the time comes. This prepared statement 
API is only available with MySQL server versions 4.1 and above, so if 
you're using an older version, you won't notice anything. Though, be 
assured that even for the driver emulated handling of prepared 
statements, I will continue to make sure the code is improved.

As the community, one think you can do if you are interested in helping 
is to turn on server side prepare statements in 3.0004, or try the 
development driver, 3.0004_1 to see if there are any problems. I've 
tested the code as much as I can, but I know nothing tests code like 
1000s of developers thinking of unique ways of using the driver that I 
never could have imagined. If you find a bug, please report it to me, or 
at http://bugs.mysql.com. I'll fix that bug and add test coverage for it.

Coveati: Please make sure you don't use a threaded Perl with this driver 
on Solaris.

Again, if anyone has any problems or questions with the driver, please 
feel free to email me, or especially post to [email protected] , and if 
you find bugs, please report them to http://bugs.mysql.com

These versions for this module can be found at CPAN:

http://search.cpan.org/dist/DBD-mysql/

The files:

file: $CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-3.0004.tar.gz
size: 113043 bytes
md5: 5d328b9fdaf899eba6d72258242ad0a0

file: $CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-3.0004_1.tar.gz
size: 110175 bytes
md5: 4dfbd956417f5b036ab55defb8fdfac7

Kind regards,

Patrick Galbraith