Patrick released a new version of the perl MySQL connector. This .pm was my introduction to the mysql world, way back in the day. If you can program your way out of a perl brown paper bag and you haven’t used this tool yet, I recommend you write a hello world program to get familiar with it. Good stuff.
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 dbi-users@perl.org , 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