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