Posted here to help any others that have this problem.
I updated my Debian workstation yesterday.
Suddenly, my web based application that I work on was telling me that inserting data into the mysql database was inserting zero rows. But, the data was actually being inserted!
my $rows = $sth->execute($data, $to, $add);
Always returned a value of '0E0' with no errors or warnings, when it should be returning a value of '1'. But, only when running under mod_perl.
However, all of my tests passed with flying colors... and eveything worked perfectly in a command line environment.
Something was obviously different between the two environments but no amount of poking on my part could figure out what that something was.
(Lesson learned: tee the output of apt-get upgrade to a file to record what software was changed!)
Anyways... I noticed I had two libmysqlclient* libraries installed...
After removing libmysqlclient10, leaving libmysqlclient12, everything works again.
Apparently, libmysqlclient10 is used by mysql navigator... which I don't use any way.
Does anyone know how mod_perl decides which mysql client library to load... and how I could have narrowed down the problem? I'm thinking the problem may be DBI related, since I use Apache::DBI in the mod_perl environment but not in the bash environment... but that is just a guess.
Right now, finding a solution was just blind luck on my part! I was minutes away from restoring my backup, but kept poking at it since the problem is not likely to go away as Debian stabilizes towards the next version.