in reply to Re: Class::DBI and create: program memory just grows and grows
in thread Class::DBI and create: program memory just grows and grows

Here's the latest.   Who knows if it's just one thing or a mix, but DBI and the DBD's need to talk things over...   Somebody responded on the Class::DBI list saying he had a similar symptom, but with PostgreSQL.   And you said you were using DBD::SQLite?   Yikes.

Here's what I posted last to the Class::DBI maillist:
=====================================================

Oh dear. Here I was going to add a reply with my latest discovery and now you've got me _more_ worried. No, after playing some more, maybe less (see below), but now I think I'll get _you_ more worried.

Trying to replicate my previous program using plain DBI I ran into nearly the same memory growth problem, which astonished me. I started playing around and hit upon this. If you do the INSERT's using one prepare and multiple execute's with bind values, the memory size grows. If you instead do the INSERT's using do, even with bind values, you don't run into the problem.

With a sinking feeling I dove into Class::DBI and found that routine _insert_row(), called by _create() called by create(), also does execute()'s using bind values. So if plain DBI has this problem, Class::DBI will also.

Which got me freaked when I saw your report referencing the PostgreSQL driver, as I was thinking (hoping?) it was a bug in the MySQL driver.

I wandered about a short time at one of the DBI maillists and happened upon this bug report: "Memory Leak - DBD::mysql" http://www.mail-archive.com/dbi-users@perl.org/msg17934.html . After some doing I managed to force ActiveState's PPM to remove the latest DBD-mysql 2.9002 driver and install the older DBD-mysql 2.1026 driver. I was astonished *again* to find this 'fixed' my problem with execute() and bind values using plain DBI.

I went back and repaired all my debug attempts in the program using Class::DBI and - bliss - it works just fine with flat memory usage.

So here I am 36 hours later wondering where to report a bug against DBD::mysql and regretting bothering y'all with a 'Class::DBI' problem.

But, Heiko, where is your bug? ;-)
==============================================

Class:DBI maillist postings at
http://groups.kasei.com/mail/arc/cdbi-talk/2003-09/msg00164.html
http://groups.kasei.com/mail/arc/cdbi-talk/2003-09/msg00165.html
http://groups.kasei.com/mail/arc/cdbi-talk/2003-09/msg00166.html

  • Comment on Re: Re: Class::DBI and create: program memory just grows and grows