[CSCMail-Users] DBD::CSV
Brought to you by:
countzer0
|
From: Steven K. <st...@re...> - 2001-10-17 23:33:45
|
The use of DBD::CSV as a database driver is no longer supported in
CSCMail, as of version 1.7.10
If you must use CSV instead of a real database, do not upgrade to
1.7.10, as CSCMail will not run.
The reason for this is a bug in the CSV driver that causes it to
improperly handle NULL data fields.
Also, the CSV driver does not properly deal with bind variables that are
dereferenced pointers.
Example:
$foo = 1;
&a(\$foo);
sub a {
( $ref ) = @_;
$bar = ${$ref};
# prints a "1"
print ($bar, "\n");
# returns no values, even if there are rows where id == 1
$query = $dbh->prepare("select name from boxlist where id = ?");
$query->execute($bar);
# returns all rows with id == 1
$bam = 1;
$query->execute($bam);
}
These are completely equivalent perl expressiens, and in fact all other
DBD's handle this without any issues... DBD::CSV does not... I am not
even sure how it finds out that $bar holds a dereferenced value, since
Data::Dumper doesn't seem to know... (dumping $bar and $bam show
identical data structures...)
I appologize to any users still using CSV, I plan to have a non database
dependant C version usable soon (I know, I've been saying that for a
year now.. but I am finally working on CSCMail again...)
Thank you for using CSCMail...
-CZ
|