r3067 - in /packages/libdbd-mysql-perl/trunk: ChangeLog MANIFEST META.yml dbdimp.c debian/changelog debian/control debian/rules eg/ lib/DBD/mysql.pm mysql.xs

gregoa-guest at users.alioth.debian.org gregoa-guest at users.alioth.debian.org
Sat Jun 17 12:48:10 UTC 2006


Author: gregoa-guest
Date: Sat Jun 17 12:48:07 2006
New Revision: 3067

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=3067
Log:
* New upstream release.
* Set Debhelper Compatibility level to 5.
* Added examples from eg/ directory to doc/examples/.

Added:
    packages/libdbd-mysql-perl/trunk/eg/
      - copied from r3066, packages/libdbd-mysql-perl/branches/upstream/current/eg/
Modified:
    packages/libdbd-mysql-perl/trunk/ChangeLog
    packages/libdbd-mysql-perl/trunk/MANIFEST
    packages/libdbd-mysql-perl/trunk/META.yml
    packages/libdbd-mysql-perl/trunk/dbdimp.c
    packages/libdbd-mysql-perl/trunk/debian/changelog
    packages/libdbd-mysql-perl/trunk/debian/control
    packages/libdbd-mysql-perl/trunk/debian/rules
    packages/libdbd-mysql-perl/trunk/lib/DBD/mysql.pm
    packages/libdbd-mysql-perl/trunk/mysql.xs

Modified: packages/libdbd-mysql-perl/trunk/ChangeLog
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libdbd-mysql-perl/trunk/ChangeLog?rev=3067&op=diff
==============================================================================
--- packages/libdbd-mysql-perl/trunk/ChangeLog (original)
+++ packages/libdbd-mysql-perl/trunk/ChangeLog Sat Jun 17 12:48:07 2006
@@ -1,3 +1,13 @@
+2006-06-10 Patrick Galbraith <patg at mysql.com) (3.0005)
+  * Fix dbd_st_finish in 3.0004 didn't clean up bind buffers resulting in
+    a memory leak. See eg/prepare_memory_usage.pl to see how this manifests
+    itself. Thanks to Jason Snell for giving me a good script to reproduce
+    this!
+  * Fix to parse_params, mysql.xs dbh->do, and bind_param to deal with
+    passing substr to "do" for placeholder value. Thanks Martin Waite for
+    the patch to parse_params (extended to mysql.xs "do" and bind_param for
+    server-side prepared statements.
+
 2006-05-17 Patrick Galbraith <patg at mysql.com) (3.0004)
   * Fix dbd_st_finish which closed the handle prematurely (Martin Evans)
   * Compile issues (Martin Evans)

Modified: packages/libdbd-mysql-perl/trunk/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libdbd-mysql-perl/trunk/MANIFEST?rev=3067&op=diff
==============================================================================
--- packages/libdbd-mysql-perl/trunk/MANIFEST (original)
+++ packages/libdbd-mysql-perl/trunk/MANIFEST Sat Jun 17 12:48:07 2006
@@ -28,6 +28,10 @@
 lib/Bundle/DBD/mysql.pm
 lib/Mysql/Statement.pm
 lib/Mysql.pm
+eg/prepare_memory_usage.pl
+eg/proc_example1.pl
+eg/proc_example2.pl
+eg/proc_example3.pl
 TODO
 myld
 constants.h

Modified: packages/libdbd-mysql-perl/trunk/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libdbd-mysql-perl/trunk/META.yml?rev=3067&op=diff
==============================================================================
--- packages/libdbd-mysql-perl/trunk/META.yml (original)
+++ packages/libdbd-mysql-perl/trunk/META.yml Sat Jun 17 12:48:07 2006
@@ -1,7 +1,7 @@
 # http://module-build.sourceforge.net/META-spec.html
 #XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
 name:         DBD-mysql
-version:      3.0004
+version:      3.0006
 version_from: lib/DBD/mysql.pm
 installdirs:  site
 requires:

Modified: packages/libdbd-mysql-perl/trunk/dbdimp.c
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libdbd-mysql-perl/trunk/dbdimp.c?rev=3067&op=diff
==============================================================================
--- packages/libdbd-mysql-perl/trunk/dbdimp.c (original)
+++ packages/libdbd-mysql-perl/trunk/dbdimp.c Sat Jun 17 12:48:07 2006
@@ -437,7 +437,15 @@
 
   for (i= 0, ph= params; i < num_params; i++, ph++)
   {
-    if (!ph->value  ||  !SvOK(ph->value))
+    int defined= 0;
+    if (ph->value)
+    {
+      if (SvMAGICAL(ph->value))
+        mg_get(ph->value);
+      if (SvOK(ph->value))
+        defined=1;
+    }
+    if (!defined)
       alen+= 3;  /* Erase '?', insert 'NULL' */
     else
     {
@@ -637,9 +645,12 @@
 int bind_param(imp_sth_ph_t *ph, SV *value, IV sql_type)
 {
   if (ph->value)
+  {
+    if (SvMAGICAL(ph->value))
+      mg_get(ph->value);
     (void) SvREFCNT_dec(ph->value);
-
-  ph->value = newSVsv(value);
+  }
+  ph->value= newSVsv(value);
 
   if (sql_type)
     ph->type = sql_type;
@@ -3031,6 +3042,35 @@
         return 0;
       }
     }
+    /* clean up other statement allocations */
+    if (DBIc_NUM_PARAMS(imp_sth) > 0)
+    {
+      if (dbis->debug >= 2)
+        PerlIO_printf(DBILOGFP,
+                      "\tFreeing %d parameters\n",
+                      DBIc_NUM_PARAMS(imp_sth));
+      FreeBind(imp_sth->bind);
+      FreeFBind(imp_sth->fbind);
+      imp_sth->bind= NULL;
+      imp_sth->fbind= NULL;
+    }
+    num_fields= DBIc_NUM_FIELDS(imp_sth);
+
+    if (imp_sth->fbh)
+    {
+      num_fields= DBIc_NUM_FIELDS(imp_sth);
+
+      for (fbh= imp_sth->fbh, i= 0; i < num_fields; i++, fbh++)
+      {
+        if (fbh->data)
+          Safefree(fbh->data);
+      }
+      FreeFBuffer(imp_sth->fbh);
+      FreeBind(imp_sth->buffer);
+      imp_sth->buffer= NULL;
+      imp_sth->fbh= NULL;
+    }
+
   }
 #endif
 

Modified: packages/libdbd-mysql-perl/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libdbd-mysql-perl/trunk/debian/changelog?rev=3067&op=diff
==============================================================================
--- packages/libdbd-mysql-perl/trunk/debian/changelog (original)
+++ packages/libdbd-mysql-perl/trunk/debian/changelog Sat Jun 17 12:48:07 2006
@@ -1,3 +1,11 @@
+libdbd-mysql-perl (3.0006-1) unstable; urgency=low
+
+  * New upstream release.
+  * Set Debhelper Compatibility level to 5.
+  * Added examples from eg/ directory to doc/examples/.
+
+ -- gregor herrmann <gregor+debian at comodo.priv.at>  Sat, 17 Jun 2006 14:42:37 +0200
+
 libdbd-mysql-perl (3.0004-1) unstable; urgency=low
 
   * New upstream release.

Modified: packages/libdbd-mysql-perl/trunk/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libdbd-mysql-perl/trunk/debian/control?rev=3067&op=diff
==============================================================================
--- packages/libdbd-mysql-perl/trunk/debian/control (original)
+++ packages/libdbd-mysql-perl/trunk/debian/control Sat Jun 17 12:48:07 2006
@@ -2,9 +2,9 @@
 Section: perl
 Priority: optional
 Maintainer: Raphael Hertzog <hertzog at debian.org>
-Uploaders: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
+Uploaders: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>, gregor herrmann <gregor+debian at comodo.priv.at>
 Standards-Version: 3.7.2
-Build-Depends: perl (>= 5.8.0), debhelper (>= 4), libmysqlclient15-dev, libdbi-perl, zlib1g-dev (>= 1:1.1.3)
+Build-Depends: perl (>= 5.8.0), debhelper (>= 5), libmysqlclient15-dev, libdbi-perl, zlib1g-dev (>= 1:1.1.3)
 
 Package: libdbd-mysql-perl
 Architecture: any

Modified: packages/libdbd-mysql-perl/trunk/debian/rules
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libdbd-mysql-perl/trunk/debian/rules?rev=3067&op=diff
==============================================================================
--- packages/libdbd-mysql-perl/trunk/debian/rules (original)
+++ packages/libdbd-mysql-perl/trunk/debian/rules Sat Jun 17 12:48:07 2006
@@ -4,7 +4,7 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-export DH_COMPAT=4
+export DH_COMPAT=5
 
 ifndef PERL
 PERL = /usr/bin/perl 
@@ -59,6 +59,7 @@
 	dh_testroot
 	dh_installdocs README
 	dh_installchangelogs ChangeLog
+	dh_installexamples eg/*
 	dh_strip
 	dh_compress
 	dh_fixperms

Modified: packages/libdbd-mysql-perl/trunk/lib/DBD/mysql.pm
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libdbd-mysql-perl/trunk/lib/DBD/mysql.pm?rev=3067&op=diff
==============================================================================
--- packages/libdbd-mysql-perl/trunk/lib/DBD/mysql.pm (original)
+++ packages/libdbd-mysql-perl/trunk/lib/DBD/mysql.pm Sat Jun 17 12:48:07 2006
@@ -9,7 +9,7 @@
 use Carp ();
 @ISA = qw(DynaLoader);
 
-$VERSION = '3.0004';
+$VERSION = '3.0006';
 
 bootstrap DBD::mysql $VERSION;
 

Modified: packages/libdbd-mysql-perl/trunk/mysql.xs
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libdbd-mysql-perl/trunk/mysql.xs?rev=3067&op=diff
==============================================================================
--- packages/libdbd-mysql-perl/trunk/mysql.xs (original)
+++ packages/libdbd-mysql-perl/trunk/mysql.xs Sat Jun 17 12:48:07 2006
@@ -294,9 +294,17 @@
 
         for (i = 0; i < numParams; i++)
         {
+          int defined= 0;
           params[i].value = ST(i+3);
 
-          if ((SvOK(params[i].value) && params[i].value))
+          if (params[i].value)
+          {
+            if (SvMAGICAL(params[i].value))
+              mg_get(params[i].value);
+            if (SvOK(params[i].value))
+              defined= 1;
+          }
+          if (defined)
           {
             buffer = SvPV(params[i].value, slen);
             buffer_is_null = 0;




More information about the Pkg-perl-cvs-commits mailing list