Hello community, here is the log from the commit of package perl-DBD-mysql for openSUSE:Factory checked in at Mon Aug 29 14:08:30 CEST 2011. -------- --- perl-DBD-mysql/perl-DBD-mysql.changes 2011-05-09 23:53:40.000000000 +0200 +++ /mounts/work_src_done/STABLE/perl-DBD-mysql/perl-DBD-mysql.changes 2011-08-29 10:28:49.000000000 +0200 @@ -1,0 +2,17 @@ +Mon Aug 29 08:25:03 UTC 2011 - vcizek@suse.com + +- update to 4.020 +* Numerous (!! Thank you!!) fixes for prepared statements: Masahiro Chiba <nihen at megabbs +dot com> + - Chop blanks fixed + - UTF8 improvements + - fixed memory allocation for BLOBs + - auto-reconnect +* Fix in leak test, which failed sometime due to first assignment $prev_size over +paging (Masahiro Chiba) +* Catalog test allows use of schemas other than 'test' (Masahiro Chiba) +* Documentation fix for auto_reconnect (Karen Etheridge <ether at cpan dot +org>) +* Win32 and general installation fixes (Alexandr Ciornii, http://chorny.net) + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- DBD-mysql-4.019.tar.gz New: ---- DBD-mysql-4.020.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-DBD-mysql.spec ++++++ --- /var/tmp/diff_new_pack.GLKb5K/_old 2011-08-29 14:05:31.000000000 +0200 +++ /var/tmp/diff_new_pack.GLKb5K/_new 2011-08-29 14:05:31.000000000 +0200 @@ -21,7 +21,7 @@ Name: perl-DBD-mysql %define cpan_name DBD-mysql Summary: MySQL driver for the Perl5 Database Interface (DBI) -Version: 4.019 +Version: 4.020 Release: 1 License: GPL+ or Artistic Group: Development/Libraries/Perl ++++++ DBD-mysql-4.019.tar.gz -> DBD-mysql-4.020.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/ChangeLog new/DBD-mysql-4.020/ChangeLog --- old/DBD-mysql-4.019/ChangeLog 2011-05-09 03:15:39.000000000 +0200 +++ new/DBD-mysql-4.020/ChangeLog 2011-08-20 20:39:24.000000000 +0200 @@ -1,25 +1,40 @@ -2011-05-08 Patrick Galbraith <patg@patg.net> Rob Hoelz <rhoelz@inoc.com> (4.019) +2011-08-15 Patrick Galbraith <patg at patg dot net> (4.020) +* Numerous (!! Thank you!!) fixes for prepared statements: Masahiro Chiba <nihen at megabbs +dot com> + - Chop blanks fixed + - UTF8 improvements + - fixed memory allocation for BLOBs + - auto-reconnect +* Fix in leak test, which failed sometime due to first assignment $prev_size over +paging (Masahiro Chiba) +* Catalog test allows use of schemas other than 'test' (Masahiro Chiba) +* Documentation fix for auto_reconnect (Karen Etheridge <ether at cpan dot +org>) +* Win32 and general installation fixes (Alexandr Ciornii, http://chorny.net) + + +2011-05-08 Patrick Galbraith <patg at patg dot net> Rob Hoelz <rhoelz at inoc dot com> (4.019) * Asynchronous support added by Rob Hoelz - Thanks! * Amiri Barksdale - Enable environment variables for installation options, add docs to POD - Thanks! * Pedro Melo - fix to change sv_undef to PL_sv_undef from 4.018 - Thanks! -2010-10-11 Patrick Galbraith <patg@patg.net> (4.018) +2010-10-11 Patrick Galbraith <patg at patg dot net> (4.018) * Added client and server info patch from Robert M. Jansen * Added documentation and tests for new features * More code cleanup -2010-08-11 Patrick Galbraith <patg@patg.net> (4.017) +2010-08-11 Patrick Galbraith <patg at patg dot net> (4.017) * BUG #60085, Andreas Koenig's patch for DBI changes * Updated documents -2010-07-10 Patrick Galbraith <patg@patg.net> (4.016) +2010-07-10 Patrick Galbraith <patg at patg dot net> (4.016) * Disabled mysql_bind_type_guessing due to one performance issue querying on a indexed character column unquoted will mean the index is not used * Fixed int types that should be bools -2010-07-09 Patrick Galbraith <patg@patg.net> (4.015) +2010-07-09 Patrick Galbraith <patg at patg dot net> (4.015) * BUG #56664 fixed t/40blobs.t skip_all logic (W. Phillip Moore) * BUG #57253 Fixed iteration past end of string (crash). (Chris Butler) * Added a new parameter for old behavior- mysql_bind_comment_placeholders which @@ -27,7 +42,7 @@ want that behavior. * Fixed bind_type_guessing - always on now -2010-04-14 Patrick Galbraith <patg@patg.net> (4.014) +2010-04-14 Patrick Galbraith <patg at patg dot net> (4.014) * BUG #30033 Fixed handling of comments to allow comments that contain characters that might otherwise cause placeholder detection to not work properly * BUG #53844, Fix for memory leak in stats. (Gregory Burmistrov) @@ -37,7 +52,7 @@ * BUG #41630, Typo in Makefile * Had to define true and false in dbdimp.h. Didn't work out of the box on Linux -2009-09-16 Patrick Galbraith <patg@patg.net> (4.013) +2009-09-16 Patrick Galbraith <patg at patg dot net> (4.013) * #49484: PATCH add support for MYSQL_INIT_COMMAND - Peter John Edwards * #48242: 'mysql_bind_type_guessing' doesn't work correctly @@ -45,7 +60,7 @@ * #45616: t/40blobs.t cannot pass without database access - ServerError() not declared - Thanks ysth http://ysth.livejournal.com/ -2009-06-18 Patrick Galbraith <patg@patg.net> (4.012) +2009-06-18 Patrick Galbraith <patg at patg dot net> (4.012) * Patch to bind_type_guessing from Craigslist, Thanks to Chris! Happiness is no quoted numbers. @@ -63,7 +78,7 @@ * Added bind-type-guessing options to Makefile.PL so the entire test suite can be run with bind_type_guessing set. -2009-04-13 Patrick Galbraith <patg@patg.net> (4.011) +2009-04-13 Patrick Galbraith <patg at patg dot net> (4.011) * Renamed unsafe_bind_type_guessing, fixed some of the logic. This can be used to deal with bug 43822 (https://rt.cpan.org/Ticket/Display.html?id=43822) @@ -73,15 +88,15 @@ (https://rt.cpan.org/Ticket/Display.html?id=42723) * Updated documentation, cruft cleanup (as always) -2008-10-24 Patrick Galbraith <patg@patg.net> (4.010) +2008-10-24 Patrick Galbraith <patg at patg dot net> (4.010) * Fix to dbd_bind_ph() for uninitialized value 'buffer_length' thanks for bug report and patch from Askniel.com (thanks!) -2008-10-21 Patrick Galbraith <patg@patg.net> (4.009) +2008-10-21 Patrick Galbraith <patg at patg dot net> (4.009) * Fix to re-enable TAKE_IMP_DATA_VERSION. Still have to ensure DBI version 1.607 or higher * Fix to escaped single quotes throwing off bind param detection. Patch from Zhurs (zhurs@yandex.ru) Spasibo! -2008-8-15 Patrick Galbraith <patg@patg.net> (4.008) +2008-8-15 Patrick Galbraith <patg at patg dot net> (4.008) * Multi statement patch, thanks to Chris Heath! * Disabled TAKE_IMP_DATA_VERSION because segfault with DBI < 1.607 * #29528: bind_param(..., SQL_FLOAT) ignores exponents - fixed, Thanks to @@ -90,19 +105,19 @@ http://rodgers.org.uk/ ! * Modified and disabled tests for MySQL version < 4.1 for unsupported features -2008-5-11 Patrick Galbraith <patg@patg.net> (4.007) +2008-5-11 Patrick Galbraith <patg at patg dot net> (4.007) * Took out mysql_server_init call where not needed * Complete re-write of test suit to use Test::More - tons of cleanups! * Makefile.PL changes to use current user in 'make test' if not defined -2007-12-26 Patrick Galbraith <patg@patg.net> (4.006) +2007-12-26 Patrick Galbraith <patg at patg dot net> (4.006) * Cleanups on OS X compile * Fixes to syntax errors on AIX * Removed test code that was leaving trace files around -2007-3-22 Patrick Galbraith <patg@patg.net> (4.005) +2007-3-22 Patrick Galbraith <patg at patg dot net> (4.005) * Fixed mysql_warning issue < 4.1 (reminers, patches, help from ROAM, (issue 25713) * makerealclean patch from ROAM (issue #25714) @@ -120,7 +135,7 @@ -2007-3-22 Patrick Galbraith <patg@patg.net> Jim Winstead <jimw@mysql.com> (4.004) +2007-3-22 Patrick Galbraith <patg at patg dot net> Jim Winstead <jimw@mysql.com> (4.004) * Work around a bug in old 3.23 servers by specifying NOT NULL for fields used as a primary key in tests. (Bug #20325, reported by Julian Ladisch) * Add support for mysql_warning_count statement handle attribute. (Bug #25457, @@ -135,11 +150,11 @@ * Fixed do_error definition (Scott Hildreth, Tim Bunce) * Conversion of test suite to Test::More -2007-3-5 Patrick Galbraith <patg@patg.net> Jim Winstead <jimw@mysql.com> (4.003) +2007-3-5 Patrick Galbraith <patg at patg dot net> Jim Winstead <jimw@mysql.com> (4.003) * Fix inclusion of non-primary keys in primary_key_info. (Bug #26786, reported and patch by Dave Rolsky) -2007-3-1 Patrick Galbraith <patg@patg.net> Jim Winstead <jimw@mysql.com> (4.002) +2007-3-1 Patrick Galbraith <patg at patg dot net> Jim Winstead <jimw@mysql.com> (4.002) * Fix re-exec of Makefile.PL when forcing $ENV{LANG} to 'C'. (RT #25233, reported by Slaven Rezic) * Rewrote table_info method to support all arguments (previously it would @@ -169,7 +184,7 @@ Dave Rolsky, and final implementation based on Connector/J code) -2007-1-8 Jim Winstead <jimw@mysql.com> Patrick Galbraith <patg@patg.net> (4.001) +2007-1-8 Jim Winstead <jimw@mysql.com> Patrick Galbraith <patg at patg dot net> (4.001) * Fix handling of unsigned integer values in result sets when using server-side prepared statements (they were not retrieved at all). * Fix handling of signed integer values when using server-side prepared @@ -209,7 +224,7 @@ * Tested with ALL mysql versions, fixed 40types, 40bind_param tests to work with 4.0, 4.1 * Fixed dbdimp.c to not test for MYSQL_DATA_TRUNCATED unless >= mysql 5.0 -2006-12-22 Patrick Galbraith <patg@patg.net>, Alexey Stroganov (4.00) +2006-12-22 Patrick Galbraith <patg at patg dot net>, Alexey Stroganov (4.00) * Added Alexey Stroganov's patch which fixes varying number of columns in multiple result sets. Added new test cases to 80procs.t based of his test script (bug #21028) (Thanks Alexey!). Also fixed 80procs.t to allow @@ -223,11 +238,11 @@ * Turned off prepared statements by default * Tested this with 5.1, 5.0, 4.1, 4.0. Works with ALL these versions! -2006-10-10 Patrick Galbraith <patg@patg.net>, Alexey Stroganov (3.0009_1) +2006-10-10 Patrick Galbraith <patg at patg dot net>, Alexey Stroganov (3.0009_1) * Added fbind and bind alloc to dbd_st_describe. This was causing a crash when using with mod_perl -2006-10-10 Patrick Galbraith <patg@patg.net> (3.0008_1) +2006-10-10 Patrick Galbraith <patg at patg dot net> (3.0008_1) * Added patch for SSL Verify Certificate (Thanks Eric Chen!) * Added multiple fixes to dbd_st_prepare which fixed variable overwrite and unset increment counter. Also improved loop which checks statements @@ -238,7 +253,7 @@ (Thanks to Eric Milkie!) * Fixed casting of num_params to unsigned int in calls to NewZ in mysql.xs -2006-10-07 Patrick Galbraith <patg@patg.net>, Jim Winstead <jimw@mysql.com> +2006-10-07 Patrick Galbraith <patg at patg dot net>, Jim Winstead <jimw@mysql.com> (3.0007_2) * Added UTF8 patch from Dominic Mitchell (Thanks!) * Fixed declaration of "row" in mysql_st_internal_execute which caused compile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/INSTALL.html new/DBD-mysql-4.020/INSTALL.html --- old/DBD-mysql-4.019/INSTALL.html 2011-05-09 03:20:17.000000000 +0200 +++ new/DBD-mysql-4.020/INSTALL.html 2011-08-20 20:40:49.000000000 +0200 @@ -4,15 +4,13 @@ <head> <title>INSTALL - How to install and configure DBD::mysql</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> -<link rev="made" href="mailto:root@localhost" /> +<link rev="made" href="mailto:_www@b04.apple.com" /> </head> <body style="background-color: white"> - -<!-- INDEX BEGIN --> -<div name="index"> <p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> <ul> @@ -47,11 +45,9 @@ <li><a href="#known_problems">KNOWN PROBLEMS</a></li> <li><a href="#support">SUPPORT</a></li> </ul> - -<hr name="index" /> -</div> <!-- INDEX END --> +<hr /> <p> </p> <h1><a name="name">NAME</a></h1> @@ -92,7 +88,7 @@ <hr /> <h1><a name="prerequisites">PREREQUISITES</a></h1> <dl> -<dt><strong><a name="perl" class="item">Perl</a></strong></dt> +<dt><strong><a name="item_perl">Perl</a></strong> <dd> <p>Preferrably a version of Perl, that comes preconfigured with @@ -100,33 +96,40 @@ come with Perl. For Windows, ActivePerl is recommended, see <a href="http://www.activestate.com">http://www.activestate.com</a> for details.</p> </dd> -<dt><strong><a name="mysql" class="item">MySQL</a></strong></dt> +</li> +<dt><strong><a name="item_mysql">MySQL</a></strong> <dd> <p>You need not install the actual MySQL database server, the client files and the devlopment files are sufficient. For example, Fedora Core 4 Linux distribution comes with RPM files -(using YUM) <strong>mysql.i386</strong> and <strong>mysql-server.i386</strong> (use "yum search" +(using YUM) <strong>mysql.i386</strong> and <strong>mysql-server.i386</strong> (use ``yum search'' to find exact package names). These are sufficient, if the MySQL server is located on a foreign machine. You may also create client files by compiling from the MySQL source distribution and using</p> +</dd> +<dd> <pre> configure --without-server</pre> +</dd> +<dd> <p>If you are using Windows and need to compile from sources (which is only the case if you are not using ActivePerl), then you must ensure that the header and library files are -installed. This may require choosing a "Custom installation" +installed. This may require choosing a ``Custom installation'' and selecting the appropriate option when running the MySQL setup program.</p> </dd> -<dt><strong><a name="dbi" class="item">DBI</a></strong></dt> +</li> +<dt><strong><a name="item_dbi">DBI</a></strong> <dd> <p>DBD::mysql is a DBI driver, hence you need DBI. It is available from the same source where you got the DBD::mysql distribution from.</p> </dd> -<dt><strong><a name="c_compiler" class="item">C compiler</a></strong></dt> +</li> +<dt><strong><a name="item_c_compiler">C compiler</a></strong> <dd> <p>A C compiler is only required, if you install from source. In @@ -135,17 +138,21 @@ it is the same C compiler that was used for compiling Perl and MySQL! Otherwise you will almost definitely encounter problems because of differences in the underlying C runtime libraries.</p> +</dd> +<dd> <p>In the worst case, this might mean to compile Perl and MySQL yourself. But believe me, experience shows that a lot of problems are fixed this way.</p> </dd> -<dt><strong><a name="gzip_libraries" class="item">Gzip libraries</a></strong></dt> +</li> +<dt><strong><a name="item_gzip_libraries">Gzip libraries</a></strong> <dd> <p>Late versions of MySQL come with support for compression. Thus it <strong>may</strong> be required that you have install an RPM package like libz-devel, libgz-devel or something similar.</p> </dd> +</li> </dl> <p> </p> @@ -246,7 +253,8 @@ (see <a href="#configuration">Configuration</a>) or automatically using the mysql_config binary which comes with most MySQL distributions. If your MySQL distribution contains mysql_config the easiest method is to ensure this binary -is on your path.</p> +is on your path. +</p> <pre> e.g.</pre> @@ -294,8 +302,8 @@ perl Makefile.PL make make test</pre> -<p>(On Windows you may need to replace "make" with "nmake" or -"dmake".) If the tests seem to look fine, you may continue with</p> +<p>(On Windows you may need to replace ``make'' with ``nmake'' or +``dmake''.) If the tests seem to look fine, you may continue with</p> <pre> make install</pre> <p>If the compilation (make) or tests fail, you might need to @@ -308,7 +316,7 @@ <p> </p> <h2><a name="configuration">Configuration</a></h2> -<p>The install script "Makefile.PL" can be configured via a lot of +<p>The install script ``Makefile.PL'' can be configured via a lot of switches. All switches can be used on the command line. For example, the test database:</p> <pre> @@ -318,75 +326,107 @@ This is described later on.</p> <p>Available switches are:</p> <dl> -<dt><strong><a name="testdb" class="item">testdb</a></strong></dt> +<dt><strong><a name="item_testdb">testdb</a></strong> <dd> <p>Name of the test database, defaults to <strong>test</strong>.</p> </dd> -<dt><strong><a name="testuser" class="item">testuser</a></strong></dt> +</li> +<dt><strong><a name="item_testuser">testuser</a></strong> <dd> <p>Name of the test user, defaults to empty. If the name is empty, then the currently logged in users name will be used.</p> </dd> -<dt><strong><a name="testpassword" class="item">testpassword</a></strong></dt> +</li> +<dt><strong><a name="item_testpassword">testpassword</a></strong> <dd> <p>Password of the test user, defaults to empty.</p> </dd> -<dt><strong><a name="testhost" class="item">testhost</a></strong></dt> +</li> +<dt><strong><a name="item_testhost">testhost</a></strong> <dd> <p>Host name or IP number of the test database; defaults to localhost.</p> </dd> -<dt><strong><a name="testport" class="item">testport</a></strong></dt> +</li> +<dt><strong><a name="item_testport">testport</a></strong> <dd> <p>Port number of the test database</p> </dd> -<dt><strong><a name="ps_protcol_1_or_0" class="item">ps-protcol=1 or 0</a></strong></dt> +</li> +<dt><strong><a name="item_ps_2dprotcol_3d1_or_0">ps-protcol=1 or 0</a></strong> <dd> <p>Whether to run the test suite using server prepared statements or driver emulated prepared statemetns. ps-protocol=1 means use server prepare, ps-protocol=0 means driver emulated.</p> </dd> -<dt><strong><a name="cflags" class="item">cflags</a></strong></dt> +</li> +<dt><strong><a name="item_cflags">cflags</a></strong> <dd> <p>This is a list of flags that you want to give to the C compiler. The most important flag is the location of the MySQL header files. For example, on Red Hat Linux the header files are in /usr/include/mysql and you might try</p> +</dd> +<dd> <pre> -I/usr/include/mysql</pre> +</dd> +<dd> <p>On Windows the header files may be in C:\mysql\include and you might try</p> +</dd> +<dd> <pre> -IC:\mysql\include</pre> +</dd> +<dd> <p>The default flags are determined by running</p> +</dd> +<dd> <pre> mysql_config --cflags</pre> +</dd> +<dd> <p>More details on the C compiler flags can be found in the following section. <a href="#compiler_flags">Compiler flags</a>.</p> </dd> -<dt><strong><a name="libs" class="item">libs</a></strong></dt> +</li> +<dt><strong><a name="item_libs">libs</a></strong> <dd> <p>This is a list of flags that you want to give to the linker or loader. The most important flags are the locations and names of additional libraries. For example, on Red Hat Linux your MySQL client libraries are in /usr/lib/mysql and you might try</p> +</dd> +<dd> <pre> -L/usr/lib/mysql -lmysqlclient -lz</pre> +</dd> +<dd> <p>On Windows the libraries may be in C:\mysql\lib and</p> +</dd> +<dd> <pre> -LC:\mysql\lib -lmysqlclient</pre> +</dd> +<dd> <p>might be a good choice. The default flags are determined by running</p> +</dd> +<dd> <pre> mysql_config --libs</pre> +</dd> +<dd> <p>More details on the linker flags can be found in a separate section. <a href="#linker_flags">Linker flags</a>.</p> </dd> +</li> </dl> <p>If a switch is not present on the command line, then the script <code>mysql_config</code> will be executed. This script comes @@ -408,7 +448,7 @@ flags for the C compiler. The linker flags, which you find in the next section, are another story.</p> <p>The determination of the C compiler flags is usually left to -a configuration script called <em class="file">mysql_config</em>, which can be +a configuration script called <em>mysql_config</em>, which can be invoked with</p> <pre> mysql_config --cflags</pre> @@ -418,12 +458,12 @@ -L/usr/include/mysql</pre> <p>The C compiler must find some header files. Header files have the extension <code>.h</code>. MySQL header files are, for example, -<em class="file">mysql.h</em> and <em class="file">mysql_version.h</em>. In most cases the header +<em>mysql.h</em> and <em>mysql_version.h</em>. In most cases the header files are not installed by default. For example, on Windows it is an installation option of the MySQL setup program (Custom installation), whether the header files are installed or not. On Red Hat Linux, you need to install an RPM archive -<em class="file">mysql-devel</em> or <em class="file">MySQL-devel</em>.</p> +<em>mysql-devel</em> or <em>MySQL-devel</em>.</p> <p>If you know the location of the header files, then you will need to add an option</p> <pre> @@ -437,7 +477,7 @@ you'll find more details in the troubleshooting section. <a href="#known_problems">KNOWN PROBLEMS</a></p> <p>The determination of the C compiler flags is usually left to -a configuration script called <em class="file">mysql_config</em>, which can be +a configuration script called <em>mysql_config</em>, which can be invoked with</p> <pre> mysql_config --libs</pre> @@ -448,34 +488,52 @@ <p>The following items typically need to be configured for the linker:</p> <dl> -<dt><strong><a name="the_mysqlclient_library" class="item">The mysqlclient library</a></strong></dt> +<dt><strong><a name="item_the_mysqlclient_library">The mysqlclient library</a></strong> <dd> <p>The MySQL client library comes as part of the MySQL distribution. Depending on your system it may be a file called</p> +</dd> +<dd> <pre> F<libmysqlclient.a> statically linked library, Unix F<libmysqlclient.so> dynamically linked library, Unix F<mysqlclient.lib> statically linked library, Windows F<mysqlclient.dll> dynamically linked library, Windows</pre> +</dd> +<dd> <p>or something similar.</p> +</dd> +<dd> <p>As in the case of the header files, the client library is typically not installed by default. On Windows you will need to select them while running the MySQL setup program (Custom installation). On -Red Hat Linux an RPM archive <em class="file">mysql-devel</em> or <em class="file">MySQL-devel</em> must +Red Hat Linux an RPM archive <em>mysql-devel</em> or <em>MySQL-devel</em> must be installed.</p> +</dd> +<dd> <p>The linker needs to know the location and name of the mysqlclient library. This can be done by adding the flags</p> +</dd> +<dd> <pre> -L<lib directory> -lmysqlclient</pre> +</dd> +<dd> <p>or by adding the complete path name. Examples:</p> +</dd> +<dd> <pre> -L/usr/lib/mysql -lmysqlclient -LC:\mysql\lib -lmysqlclient</pre> +</dd> +<dd> <p>If you would like to use the static libraries (and there are excellent reasons to do so), you need to create a separate directory, copy the static libraries to that place and use the -L switch above to point to your new directory. For example:</p> +</dd> +<dd> <pre> mkdir /tmp/mysql-static cp /usr/lib/mysql/*.a /tmp/mysql-static @@ -485,20 +543,28 @@ make install rm -rf /tmp/mysql-static</pre> </dd> -<dt><strong><a name="the_gzip_library" class="item">The gzip library</a></strong></dt> +</li> +<dt><strong><a name="item_the_gzip_library">The gzip library</a></strong> <dd> <p>The MySQL client can use compression when talking to the MySQL server, a nice feature when sending or receiving large texts over a slow network.</p> +</dd> +<dd> <p>On Unix you typically find the appropriate file name by running</p> +</dd> +<dd> <pre> ldconfig -p | grep libz ldconfig -p | grep libgz</pre> +</dd> +<dd> <p>Once you know the name (libz.a or libgz.a is best), just add it to the list of linker flags. If this seems to be causing problem you may also try to link without gzip libraries.</p> </dd> +</li> </dl> <p> </p> @@ -532,53 +598,64 @@ unstable.</p> <p>Install MySQL (if you havn't already)</p> <dl> -<dt><strong><a name="_" class="item">-</a></strong></dt> +<dt><strong><a name="item__2d">-</a></strong> <dd> <p>download the MySQL Windows Binaries from <a href="http://www.mysql.com/downloads/index.html">http://www.mysql.com/downloads/index.html</a></p> </dd> -<dt><strong><a name="_2" class="item">-</a></strong></dt> +</li> +<dt><strong>-</strong> <dd> <p>unzip mysql-<version>-win.zip into some temporary location</p> </dd> -<dt><strong><a name="_3" class="item">-</a></strong></dt> +</li> +<dt><strong>-</strong> <dd> <p>start the setup.exe there and follow the instructions</p> </dd> -<dt><strong><a name="_4" class="item">-</a></strong></dt> +</li> +<dt><strong>-</strong> <dd> <p>start the server</p> </dd> -<dt><strong><a name="_5" class="item">-</a></strong></dt> +</li> +<dt><strong>-</strong> <dd> <p>alternatively download, install and start the server on a remote server, on what supported OS ever</p> </dd> +</li> </dl> <p>Build MySQL clients under Cygwin:</p> <dl> -<dt><strong><a name="_6" class="item">-</a></strong></dt> +<dt><strong>-</strong> <dd> <p>download the MySQL LINUX source from <a href="http://www.mysql.com/downloads/index.html">http://www.mysql.com/downloads/index.html</a></p> </dd> -<dt><strong><a name="_7" class="item">-</a></strong></dt> +</li> +<dt><strong>-</strong> <dd> <p>unpack mysql-<version>.tar.gz into some tmp location</p> </dd> -<dt><strong><a name="_8" class="item">-</a></strong></dt> +</li> +<dt><strong>-</strong> <dd> <p>cd into the unpacked dir mysql-<version></p> +</dd> +<dd> <pre> ./configure --prefix=/usr/local/mysql --without-server</pre> +</dd> +<dd> <p>This prepares the Makefile with the installed Cygwin features. It takes some time, but should finish without error. The 'prefix', as given, installs the whole Cygwin/MySQL thingy into a location not @@ -586,35 +663,46 @@ Windows binaries. The --without-server parameter tells configure to only build the clients.</p> </dd> -<dt><strong><a name="_9" class="item">-</a></strong></dt> +</li> +<dt><strong>-</strong> <dd> <pre> make</pre> +</dd> +<dd> <p>This builds all MySQL client parts ... be patient. It should finish finally without any error.</p> </dd> -<dt><strong><a name="_10" class="item">-</a></strong></dt> +<dt><strong>-</strong> <dd> <pre> make install</pre> +</dd> +<dd> <p>This installs the compiled client files under /usr/local/mysql/. Remember, you don't need anything except the library under /usr/local/mysql/lib and the headers under /usr/local/mysql/include!</p> +</dd> +<dd> <p>Essentially you are now done with this part. If you want, you may try your compiled binaries shortly; for that, do:</p> </dd> -<dt><strong><a name="_11" class="item">-</a></strong></dt> +<dt><strong>-</strong> <dd> <pre> cd /usr/local/mysql/bin ./mysql -h 127.0.0.1</pre> +</dd> +<dd> <p>The host (-h) parameter 127.0.0.1 targets the local host, but forces the mysql client to use a TCP/IP connection. The default would be a pipe/socket connection (even if you say '-h localhost') and this doesn't work between Cygwin and Windows (as far as I know).</p> +</dd> +<dd> <p>If you have your MySQL server running on some other box, then please substitute '127.0.0.1' with the name or IP-number of that box.</p> </dd> @@ -633,64 +721,77 @@ <p>You are now ready to build DBD::mysql!</p> <p>Build DBD::mysql:</p> <dl> -<dt><strong><a name="_12" class="item">-</a></strong></dt> +<dt><strong>-</strong> <dd> <p>download DBD-mysql-<version>.tar.gz from CPAN</p> </dd> -<dt><strong><a name="_13" class="item">-</a></strong></dt> +</li> +<dt><strong>-</strong> <dd> <p>unpack DBD-mysql-<version>.tar.gz</p> </dd> -<dt><strong><a name="_14" class="item">-</a></strong></dt> +</li> +<dt><strong>-</strong> <dd> <p>cd into unpacked dir DBD-mysql-<version> you probably did that already, if you are reading this!</p> </dd> -<dt><strong><a name="_15" class="item">-</a></strong></dt> +</li> +<dt><strong>-</strong> <dd> <pre> cp /usr/local/mysql/bin/mysql_config .</pre> +</dd> +<dd> <p>This copies the executable script mentioned in the DBD::mysql docs from your just built Cywin/MySQL client directory; it knows about your Cygwin installation, especially about the right libraries to link with.</p> </dd> -<dt><strong><a name="_16" class="item">-</a></strong></dt> +<dt><strong>-</strong> <dd> <pre> perl Makefile.PL --testhost=127.0.0.1</pre> +</dd> +<dd> <p>The --testhost=127.0.0.1 parameter again forces a TCP/IP connection to the MySQL server on the local host instead of a pipe/socket connection for the 'make test' phase.</p> </dd> -<dt><strong><a name="_17" class="item">-</a></strong></dt> +<dt><strong>-</strong> <dd> <pre> make</pre> +</dd> +<dd> <p>This should run without error</p> </dd> -<dt><strong><a name="_18" class="item">-</a></strong></dt> +<dt><strong>-</strong> <dd> <pre> make test</pre> +</dd> +<dd> <p>with DBD-mysql-2.1022 or earlier you will see several errors in dbdadmin.t, mysql.t and mysql2.t; with later versions you should not get errors (except possibly one, indicating, that some tables could not be dropped. I'm hunting for a solution to that problem, but have none yet).</p> </dd> -<dt><strong><a name="_19" class="item">-</a></strong></dt> +<dt><strong>-</strong> <dd> <pre> make install</pre> +</dd> +<dd> <p>This installs DBD::mysql into the Perl hierarchy.</p> </dd> </dl> @@ -705,10 +806,10 @@ <hr /> <h1><a name="known_problems">KNOWN PROBLEMS</a></h1> <ol> -<li><strong><a name="_" class="item">)</a></strong> +<li><strong><a name="item__29">)</a></strong> <p>Some Linux distributions don't come with a gzip library by default. -Running "make" terminates with an error message like</p> +Running ``make'' terminates with an error message like</p> <pre> LD_RUN_PATH="/usr/lib/mysql:/lib:/usr/lib" gcc -o blib/arch/auto/DBD/mysql/mysql.so -shared @@ -722,11 +823,11 @@ libz-devel, libgz-devel, zlib-devel or gzlib-devel or something similar.</p> </li> -<li><strong><a name="_2" class="item">)</a></strong> +<li><strong>)</strong> <p>If Perl was compiled with gcc or egcs, but MySQL was compiled with another compiler or on another system, an error message like -this is very likely when running "Make test":</p> +this is very likely when running ``Make test'':</p> <pre> t/00base............install_driver(mysql) failed: Can't load '../blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: @@ -747,7 +848,7 @@ -L<directory> -lgcc</pre> <p>to the list of C compiler flags. <a href="#configuration">Configuration</a>. <a href="#linker_flags">Linker flags</a>.</p> </li> -<li><strong><a name="_3" class="item">)</a></strong> +<li><strong>)</strong> <p>There are known problems with shared versions of libmysqlclient, at least on some Linux boxes. If you receive an error message @@ -771,7 +872,7 @@ previous section on linker flags. <a href="#configuration">Configuration</a>. <a href="#linker_flags">Linker flags</a>.</p> </li> -<li><strong><a name="_4" class="item">)</a></strong> +<li><strong>)</strong> <p>Red Hat 8 & 9 set the Default locale to UTF which causes problems with MakeMaker. To build DBD::mysql on these systems, do a 'unset LANG' @@ -788,7 +889,8 @@ <a href="http://www.mysql.com">http://www.mysql.com</a> for archive locations.</p> <p>If you don't find an appropriate posting and reply in the mailing list, please post a question. Typically a reply will -be seen within one or two days.</p> +be seen within one or two days. +</p> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/META.yml new/DBD-mysql-4.020/META.yml --- old/DBD-mysql-4.019/META.yml 2011-05-09 03:20:17.000000000 +0200 +++ new/DBD-mysql-4.020/META.yml 2011-08-20 20:40:49.000000000 +0200 @@ -1,23 +1,27 @@ --- #YAML:1.0 name: DBD-mysql -version: 4.019 +version: 4.020 abstract: A MySQL driver for the Perl5 Database Interface (DBI) author: - Rudy Lippan <rlippan@remotelinux.com> -license: unknown +license: perl distribution_type: module configure_requires: - ExtUtils::MakeMaker: 0 + DBI: 1.08 build_requires: ExtUtils::MakeMaker: 0 requires: Data::Dumper: 0 DBI: 1.08 + perl: 5.005 + Test::More: 0 +resources: + repository: https://github.com/CaptTofu/DBD-mysql no_index: directory: - t - inc -generated_by: ExtUtils::MakeMaker version 6.55_02 +generated_by: ExtUtils::MakeMaker version 6.54 meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/Makefile.PL new/DBD-mysql-4.020/Makefile.PL --- old/DBD-mysql-4.019/Makefile.PL 2011-05-09 03:12:07.000000000 +0200 +++ new/DBD-mysql-4.020/Makefile.PL 2011-08-20 20:35:59.000000000 +0200 @@ -1,5 +1,6 @@ # -*- cperl -*- +use 5.005; use Config; BEGIN { @@ -356,9 +357,22 @@ 'A MySQL driver for the Perl5 Database Interface (DBI)'; $o{'PREREQ_PM'} = { 'DBI' => 1.08, 'Data::Dumper' => 0 }; + %o=(%o, + LICENSE => 'perl', + MIN_PERL_VERSION => '5.005', + META_MERGE => { + resources => { + repository => 'https://github.com/CaptTofu/DBD-mysql', + }, + }, + BUILD_REQUIRES => { 'Test::More' => 0, + }, + CONFIGURE_REQUIRES => { 'DBI' => 1.08, + }, + ); } -ExtUtils::MakeMaker::WriteMakefile(%o); +WriteMakefile1(%o); exit 0; @@ -930,6 +944,30 @@ package main; + + +sub WriteMakefile1 { #Written by Alexandr Ciornii, version 0.21. Added by eumm-upgrade. + my %params=@_; + my $eumm_version=$ExtUtils::MakeMaker::VERSION; + $eumm_version=eval $eumm_version; + die "EXTRA_META is deprecated" if exists $params{EXTRA_META}; + die "License not specified" if not exists $params{LICENSE}; + if ($params{BUILD_REQUIRES} and $eumm_version < 6.5503) { + #EUMM 6.5502 has problems with BUILD_REQUIRES + $params{PREREQ_PM}={ %{$params{PREREQ_PM} || {}} , %{$params{BUILD_REQUIRES}} }; + delete $params{BUILD_REQUIRES}; + } + delete $params{CONFIGURE_REQUIRES} if $eumm_version < 6.52; + delete $params{MIN_PERL_VERSION} if $eumm_version < 6.48; + delete $params{META_MERGE} if $eumm_version < 6.46; + delete $params{META_ADD} if $eumm_version < 6.46; + delete $params{LICENSE} if $eumm_version < 6.31; + delete $params{AUTHOR} if $] < 5.005; + delete $params{ABSTRACT_FROM} if $] < 5.005; + delete $params{BINARY_LOCATION} if $] < 5.005; + + ExtUtils::MakeMaker::WriteMakefile(%params); +} __DATA__ my %opts = (); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/dbdimp.c new/DBD-mysql-4.020/dbdimp.c --- old/DBD-mysql-4.019/dbdimp.c 2011-05-09 03:11:37.000000000 +0200 +++ new/DBD-mysql-4.020/dbdimp.c 2011-08-20 20:35:59.000000000 +0200 @@ -3351,6 +3351,9 @@ */ else { + /* mysql_stmt_store_result to update MYSQL_FIELD->max_length */ + my_bool on = 1; + mysql_stmt_attr_set(stmt, STMT_ATTR_UPDATE_MAX_LENGTH, &on); /* Get the total rows affected and return */ if (mysql_stmt_store_result(stmt)) goto error; @@ -3443,12 +3446,6 @@ if (imp_sth->use_server_side_prepare && ! imp_sth->use_mysql_use_result) { - if (DBIc_ACTIVE(imp_sth) && !(mysql_st_clean_cursor(sth, imp_sth))) - { - do_error(sth, JW_ERR_SEQUENCE, - "Error happened while tried to clean up stmt", NULL); - return 0; - } imp_sth->row_num= mysql_st_internal_execute41( sth, DBIc_NUM_PARAMS(imp_sth), @@ -3590,20 +3587,23 @@ PerlIO_printf(DBILOGFP,"\t\ti %d col_type %d fbh->length %d\n", i, col_type, (int) fbh->length); PerlIO_printf(DBILOGFP, - "\t\tfields[i].length %d fields[i].type %d fields[i].charsetnr %d\n", - (int) fields[i].length, fields[i].type, + "\t\tfields[i].length %lu fields[i].max_length %lu fields[i].type %d fields[i].charsetnr %d\n", + (long unsigned int) fields[i].length, (long unsigned int) fields[i].max_length, fields[i].type, fields[i].charsetnr); } fbh->charsetnr = fields[i].charsetnr; +#if MYSQL_VERSION_ID < FIELD_CHARSETNR_VERSION + fbh->flags = fields[i].flags; +#endif buffer->buffer_type= mysql_to_perl_type(col_type); if (DBIc_TRACE_LEVEL(imp_xxh) >= 2) PerlIO_printf(DBILOGFP, "\t\tmysql_to_perl_type returned %d\n", col_type); - buffer->buffer_length= fields[i].length; + buffer->buffer_length= fields[i].max_length ? fields[i].max_length : fields[i].length; buffer->length= &(fbh->length); buffer->is_null= &(fbh->is_null); - Newz(908, fbh->data, fields[i].length, char); + Newz(908, fbh->data, buffer->buffer_length, char); switch (buffer->buffer_type) { case MYSQL_TYPE_DOUBLE: @@ -3824,24 +3824,43 @@ sv_setiv(sv, fbh->ldata); break; - case MYSQL_TYPE_STRING: - if (DBIc_TRACE_LEVEL(imp_xxh) >= 2) - PerlIO_printf(DBILOGFP, "\t\tst_fetch string data %s\n", fbh->data); - sv_setpvn(sv, fbh->data, fbh->length); - /*HELMUT*/ -#ifdef sv_utf8_decode - if(imp_dbh->enable_utf8) - sv_utf8_decode(sv); -#endif - break; - default: if (DBIc_TRACE_LEVEL(imp_xxh) >= 2) PerlIO_printf(DBILOGFP, "\t\tERROR IN st_fetch_string"); - sv_setpvn(sv, fbh->data, fbh->length); + STRLEN len= fbh->length; + /* ChopBlanks */ + if (ChopBlanks) + { +#if MYSQL_VERSION_ID >= FIELD_CHARSETNR_VERSION + /* see bottom of: http://www.mysql.org/doc/refman/5.0/en/c-api-datatypes.html */ + if (fbh->charsetnr != 63) +#else + if (!(fbh->flags & BINARY_FLAG)) +#endif + while (len && fbh->data[len-1] == ' ') + { --len; } + } + /* END OF ChopBlanks */ + + sv_setpvn(sv, fbh->data, len); + + /* UTF8 */ + /*HELMUT*/ +#if defined(sv_utf8_decode) && MYSQL_VERSION_ID >=SERVER_PREPARE_VERSION + +#if MYSQL_VERSION_ID >= FIELD_CHARSETNR_VERSION + /* see bottom of: http://www.mysql.org/doc/refman/5.0/en/c-api-datatypes.html */ + if (imp_dbh->enable_utf8 && fbh->charsetnr != 63) +#else + if (imp_dbh->enable_utf8 && !(fbh->flags & BINARY_FLAG)) +#endif + sv_utf8_decode(sv); +#endif + /* END OF UTF8 */ break; } + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/dbdimp.h new/DBD-mysql-4.020/dbdimp.h --- old/DBD-mysql-4.019/dbdimp.h 2011-05-09 03:11:37.000000000 +0200 +++ new/DBD-mysql-4.020/dbdimp.h 2011-08-20 20:35:59.000000000 +0200 @@ -27,7 +27,12 @@ /* For now, we hardcode this, but in the future, * we can detect capabilities of the MySQL libraries * we're talking to */ +#if defined(__WIN__) +#define MYSQL_ASYNC 0 +#else #define MYSQL_ASYNC 1 +#endif + /* * This is the version of MySQL wherer @@ -212,6 +217,9 @@ int charsetnr; double ddata; long ldata; +#if MYSQL_VERSION_ID < FIELD_CHARSETNR_VERSION + unsigned int flags; +#endif } imp_sth_fbh_t; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/lib/DBD/mysql.pm new/DBD-mysql-4.020/lib/DBD/mysql.pm --- old/DBD-mysql-4.019/lib/DBD/mysql.pm 2011-05-09 03:15:17.000000000 +0200 +++ new/DBD-mysql-4.020/lib/DBD/mysql.pm 2011-08-20 20:39:24.000000000 +0200 @@ -1,6 +1,7 @@ # -*- cperl -*- package DBD::mysql; +use 5.005; #$! is used use strict; use vars qw(@ISA $VERSION $err $errstr $drh); @@ -9,7 +10,7 @@ use Carp (); @ISA = qw(DynaLoader); -$VERSION = '4.019'; +$VERSION = '4.020'; bootstrap DBD::mysql $VERSION; @@ -1304,6 +1305,13 @@ AutoCommit is turned off, and when AutoCommit is turned off, DBD::mysql will not automatically reconnect to the server. +It is also possible to set the default value of the C<mysql_auto_reconnect> +attribute for the $dbh by passing it in the C<%attr> hash for C<DBI->connect>. + +Note that if you are using a module or framework that performs reconnections +for you (for example LDBIx::Connector in fixup mode), this value must be set +to 0. + =item mysql_use_result This attribute forces the driver to use mysql_use_result rather than @@ -1311,8 +1319,8 @@ tends to block other processes. (That's why mysql_store_result is the default.) -It is possible to set default value of the C<mysql_use_result> attribute -for $dbh using several ways: +It is possible to set the default value of the C<mysql_use_result> attribute +for the $dbh using several ways: - through DSN @@ -1324,7 +1332,7 @@ $dbh->{'mysql_use_result'}=1; #enable It is possible to set/unset the C<mysql_use_result> attribute after -creation of statement handle. See below. +creation of the statement handle. See below. =item mysql_enable_utf8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/mysql.xs new/DBD-mysql-4.020/mysql.xs --- old/DBD-mysql-4.019/mysql.xs 2011-05-09 03:11:37.000000000 +0200 +++ new/DBD-mysql-4.020/mysql.xs 2011-08-20 20:35:59.000000000 +0200 @@ -325,7 +325,9 @@ stmt= mysql_stmt_init(imp_dbh->pmysql); - if (mysql_stmt_prepare(stmt, str_ptr, strlen(str_ptr))) + if ((mysql_stmt_prepare(stmt, str_ptr, strlen(str_ptr))) && + (!mysql_db_reconnect(dbh) || + (mysql_stmt_prepare(stmt, str_ptr, strlen(str_ptr))))) { /* For commands that are not supported by server side prepared diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/t/40catalog.t new/DBD-mysql-4.020/t/40catalog.t --- old/DBD-mysql-4.019/t/40catalog.t 2011-05-09 03:11:37.000000000 +0200 +++ new/DBD-mysql-4.020/t/40catalog.t 2011-08-20 20:35:59.000000000 +0200 @@ -63,7 +63,7 @@ is($info->[0]->{FKTABLE_NAME}, "child"); is($info->[0]->{FKCOLUMN_NAME}, "parent_id"); - $sth= $dbh->foreign_key_info(undef, 'test', 'parent', undef, undef, undef); + $sth= $dbh->foreign_key_info(undef, undef, 'parent', undef, undef, undef); ($info)= $sth->fetchall_arrayref({}); is($info->[0]->{PKTABLE_NAME}, "parent"); @@ -71,7 +71,7 @@ is($info->[0]->{FKTABLE_NAME}, "child"); is($info->[0]->{FKCOLUMN_NAME}, "parent_id"); - $sth= $dbh->foreign_key_info(undef, undef, undef, undef, 'test', 'child'); + $sth= $dbh->foreign_key_info(undef, undef, undef, undef, undef, 'child'); ($info)= $sth->fetchall_arrayref({}); is($info->[0]->{PKTABLE_NAME}, "parent"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/t/40server_prepare.t new/DBD-mysql-4.020/t/40server_prepare.t --- old/DBD-mysql-4.019/t/40server_prepare.t 2011-05-08 16:23:14.000000000 +0200 +++ new/DBD-mysql-4.020/t/40server_prepare.t 2011-08-20 20:35:59.000000000 +0200 @@ -19,7 +19,7 @@ if ($@) { plan skip_all => "ERROR: $@. Can't continue test"; } -plan tests => 21; +plan tests => 27; ok(defined $dbh, "connecting"); @@ -68,4 +68,17 @@ ok ($dbh->do(qq{DROP TABLE t2}), "cleaning up"); +# +# Bug LONGBLOB wants 4GB memory +# +ok($dbh->do(qq{DROP TABLE IF EXISTS t3}), "making slate clean"); +ok($dbh->do(q{CREATE TABLE t3 (id INT, mydata LONGBLOB)}), "creating test table"); +my $sth3; +ok($sth3 = $dbh->prepare(q{INSERT INTO t3 VALUES (?,?)})); +ok($sth3->execute(1, 2), "insert t3"); + +is_deeply($dbh->selectall_arrayref('SELECT id, mydata FROM t3'), [[1, 2]]); + +ok ($dbh->do(qq{DROP TABLE t3}), "cleaning up"); + $dbh->disconnect(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/t/50chopblanks.t new/DBD-mysql-4.020/t/50chopblanks.t --- old/DBD-mysql-4.019/t/50chopblanks.t 2011-05-08 16:23:14.000000000 +0200 +++ new/DBD-mysql-4.020/t/50chopblanks.t 2011-08-20 20:35:59.000000000 +0200 @@ -22,7 +22,11 @@ plan skip_all => "ERROR: $DBI::errstr. Can't continue test"; } -plan tests => 29; +plan tests => 29 * 2; + +for my $mysql_server_prepare (0, 1) { +eval {$dbh= DBI->connect($test_dsn . ';mysql_server_prepare=' . $mysql_server_prepare, $test_user, $test_password, + { RaiseError => 1, PrintError => 1, AutoCommit => 0 });}; ok $dbh->do("DROP TABLE IF EXISTS $table"), "drop table if exists $table"; @@ -75,3 +79,4 @@ ok $sth2->finish; ok $dbh->do("DROP TABLE $table"), "drop $table"; ok $dbh->disconnect; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/t/55utf8.t new/DBD-mysql-4.020/t/55utf8.t --- old/DBD-mysql-4.019/t/55utf8.t 2011-05-08 16:23:14.000000000 +0200 +++ new/DBD-mysql-4.020/t/55utf8.t 2011-08-20 20:35:59.000000000 +0200 @@ -28,7 +28,11 @@ plan skip_all => "SKIP TEST: You must have MySQL version 5.0 and greater for this test to run"; } -plan tests => 15; +plan tests => 16 * 2; + +for my $mysql_server_prepare (0, 1) { +$dbh= DBI->connect($test_dsn . ';mysql_server_prepare=' . $mysql_server_prepare, $test_user, $test_password, + { RaiseError => 1, PrintError => 1, AutoCommit => 0 }); ok $dbh->do("DROP TABLE IF EXISTS $table"); @@ -37,7 +41,8 @@ name VARCHAR(64) CHARACTER SET utf8, bincol BLOB, shape GEOMETRY, - binutf VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin + binutf VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin, + profile TEXT CHARACTER SET utf8 ) EOT @@ -57,13 +62,13 @@ $dbh->{mysql_enable_utf8}=1; my $query = <<EOI; -INSERT INTO $table (name, bincol, shape, binutf) - VALUES (?,?, GeomFromText('Point(132865 501937)'), ?) +INSERT INTO $table (name, bincol, shape, binutf, profile) + VALUES (?, ?, GeomFromText('Point(132865 501937)'), ?, ?) EOI -ok $dbh->do($query, {}, $utf8_str,$blob, $utf8_str), "INSERT query $query\n"; +ok $dbh->do($query, {}, $utf8_str, $blob, $utf8_str, $utf8_str), "INSERT query $query\n"; -$query = "SELECT name,bincol,asbinary(shape), binutf FROM $table LIMIT 1"; +$query = "SELECT name,bincol,asbinary(shape), binutf, profile FROM $table LIMIT 1"; my $sth = $dbh->prepare($query) or die "$DBI::errstr"; ok $sth->execute; @@ -76,6 +81,7 @@ cmp_ok $ref->[0], 'eq', $utf8_str; cmp_ok $ref->[3], 'eq', $utf8_str; +cmp_ok $ref->[4], 'eq', $utf8_str; SKIP: { eval {use Encode;}; @@ -92,3 +98,4 @@ ok $dbh->do("DROP TABLE $table"); ok $dbh->disconnect; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/t/60leaks.t new/DBD-mysql-4.020/t/60leaks.t --- old/DBD-mysql-4.019/t/60leaks.t 2011-05-08 16:23:14.000000000 +0200 +++ new/DBD-mysql-4.020/t/60leaks.t 2011-08-20 20:35:59.000000000 +0200 @@ -89,6 +89,10 @@ $not_ok++; } } + else { + $prev_size = $size; + $size = size(); + } $prev_size = $size; } } @@ -121,6 +125,10 @@ $not_ok++; } } + else { + $prev_size = $size; + $size = size(); + } $prev_size = $size; } } @@ -168,6 +176,10 @@ ++$not_ok; } } + else { + $prev_size = $size; + $size = size(); + } $prev_size = $size; } } @@ -202,6 +214,10 @@ ++$not_ok; } } + else { + $prev_size = $size; + $size = size(); + } $prev_size = $size; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-mysql-4.019/t/mysql.mtest new/DBD-mysql-4.020/t/mysql.mtest --- old/DBD-mysql-4.019/t/mysql.mtest 2011-05-09 03:17:10.000000000 +0200 +++ new/DBD-mysql-4.020/t/mysql.mtest 2011-08-20 20:40:00.000000000 +0200 @@ -3,13 +3,13 @@ 'embedded' => '', 'ssl' => 0, 'nocatchstderr' => 0, - 'libs' => '-rdynamic -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm', - 'testhost' => '127.0.0.1', + 'libs' => '-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm', + 'testhost' => '', 'nofoundrows' => 0, 'testdb' => 'test', - 'cflags' => '-I/usr/local/mysql/include/mysql -g -DUNIV_LINUX -DUNIV_LINUX', - 'testuser' => 'ec2-user', - 'testpassword' => 's3kr1t', + 'cflags' => '-I/usr/local/mysql/include/mysql -g -Wextra -Wwrite-strings -m64 -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL', + 'testuser' => 'root', + 'testpassword' => '', 'testsocket' => '' }; $::test_host = $opt->{'testhost'}; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org