{"id":53,"date":"2006-06-01T07:44:17","date_gmt":"2006-06-01T15:44:17","guid":{"rendered":"http:\/\/wp.colliertech.org\/cj\/?p=53"},"modified":"2006-06-01T07:44:17","modified_gmt":"2006-06-01T15:44:17","slug":"new-release-of-dbdmysql-v30004","status":"publish","type":"post","link":"https:\/\/wp.c9h.org\/cj\/?p=53","title":{"rendered":"New release of DBD::mysql (v3.0004)"},"content":{"rendered":"<p>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&#8217;t used this tool yet, I recommend you write a hello world program to get familiar with it.  Good stuff.<\/p>\n<pre>\r\nDear DBD::mysql users,\r\n\r\nThis announcement comes a few days late, but DBD::mysql version 3.0004\r\n(stable, production) and 3.0004_1 (dev) have been released!\r\n\r\nVersion 3.0004 is the production version with server-side prepare\r\nstatements turned off by default, and 3.0004_1 is the development\r\nversion with server-side prepare statements turned on by default.\r\n\r\nThe changes in 3.0004, as listed in the changelog:\r\n  * Fix dbd_st_finish which closed the handle prematurely (Martin Evans)\r\n  * Compile issues (Martin Evans)\r\n  * Fix to dbd_bind_ph to deal with numbers (ints, floats) correctly\r\n    (Alexey Stroganov)\r\n  * Test changes - bind_param 41 and 42\r\n\r\nThe changes to 3.0004_1 as listed in the changelog:\r\n\r\n* Fix dbd_st_finish which closed the handle prematurely (Martin Evans)\r\n  * Compile issues (Martin Evans)\r\n  * Small change to get utf8 data returned. One still has to:\r\n      $dbh->do(\"set character set utf8\");\r\n      $dbh->do(\"set names utf8\");\r\n\r\n    to get utf8 back and even then you only get it back if the\r\n    column is defined as utf8 in mysql.\r\n  * Fix to dbd_bind_ph to deal with numbers (ints, floats) correctly\r\n    (Alexey Stroganov)\r\n  * Test changes - bind_param 41 and 42\r\n  * Turned off 70takeimp test\r\n\r\nNote: to turn on server-side prepared statements, simply append\r\n\";mysql_server_prepare=1\" to the connect string or via the driver\r\nhandle. Please refer to documentation for further details.\r\n\r\nNotes:\r\n\r\n* The development (3.0004_1) version supports multiple result sets from\r\nstored procedures. Documentation and sample code (in the .\/eg dir) is\r\nincluded on how to use multiple result sets. Also, the perldoc has\r\ninformation on multiple result sets.\r\n\r\n* To turn off server-side prepare statements to have emulated prepared\r\nstatements, append \";mysql_emulated_prepare=0\" in the connect string or\r\nvia the driver handle.\r\n\r\n*As listed in the second changelog, this code is now much better at\r\nhandling SQL statements that aren't supported in the prepared statement\r\nC API, and silently deals with determining whether or not to use the\r\nprepared statement calls.\r\n\r\nI really appreciate the help of Martin Evans, Alexey Stroganov, Henri\r\nAsseily, as well as the rest of the community in helping by giving\r\npatches and feedback about various issues with the driver. Thank you!\r\n\r\nNOTICE: Very soon, perhaps in a release or so, I intend to stabilise the\r\ndev release and make that the production release. This means that server\r\nside prepared statements will be turned on by default. I intend to test\r\nthis thoroughly prior to making the switch, so that users don't have any\r\nproblems when upgrading, when the time comes. This prepared statement\r\nAPI is only available with MySQL server versions 4.1 and above, so if\r\nyou're using an older version, you won't notice anything. Though, be\r\nassured that even for the driver emulated handling of prepared\r\nstatements, I will continue to make sure the code is improved.\r\n\r\nAs the community, one think you can do if you are interested in helping\r\nis to turn on server side prepare statements in 3.0004, or try the\r\ndevelopment driver, 3.0004_1 to see if there are any problems. I've\r\ntested the code as much as I can, but I know nothing tests code like\r\n1000s of developers thinking of unique ways of using the driver that I\r\nnever could have imagined. If you find a bug, please report it to me, or\r\nat http:\/\/bugs.mysql.com. I'll fix that bug and add test coverage for it.\r\n\r\nCoveati: Please make sure you don't use a threaded Perl with this driver\r\non Solaris.\r\n\r\nAgain, if anyone has any problems or questions with the driver, please\r\nfeel free to email me, or especially post to dbi-users@perl.org , and if\r\nyou find bugs, please report them to http:\/\/bugs.mysql.com\r\n\r\nThese versions for this module can be found at CPAN:\r\n\r\nhttp:\/\/search.cpan.org\/dist\/DBD-mysql\/\r\n\r\nThe files:\r\n\r\nfile: $CPAN\/authors\/id\/C\/CA\/CAPTTOFU\/DBD-mysql-3.0004.tar.gz\r\nsize: 113043 bytes\r\nmd5: 5d328b9fdaf899eba6d72258242ad0a0\r\n\r\nfile: $CPAN\/authors\/id\/C\/CA\/CAPTTOFU\/DBD-mysql-3.0004_1.tar.gz\r\nsize: 110175 bytes\r\nmd5: 4dfbd956417f5b036ab55defb8fdfac7\r\n\r\nKind regards,\r\n\r\nPatrick Galbraith\r\n<\/pre>\n\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=cjamescollier\" class=\"twitter-share-button\">Tweet<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>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&#8217;t used this tool yet, I recommend you write a hello world program to get familiar [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[53,12,18,45,20,8],"tags":[],"class_list":["post-53","post","type-post","status-publish","format-standard","hentry","category-dbdmysql","category-mysql","category-perl","category-release-announcements","category-sql","category-work"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1YDIB-R","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/53","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=53"}],"version-history":[{"count":0,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/53\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=53"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=53"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=53"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}