I noticed the same problem and recently had to revert back to 1.005
myself.  The 1.005 version was choking on simple statements like:

UPDATE table
SET name='your_name',value='your_value'
WHERE id<>''

In 1.004 this worked fine.  In 1.005 no updates occurred.  This was
also the case for SELECT statements.  I tested with DBI 1.28 and 1.32
on both versions and found that a simple SQL::Statement change fixed
the issue.

I remember Jeff saying that a new SQL::Statement has been in the works
for some time, and figured that this issue is so obvious that there
had to be a fix for it and I could wait.  Sorry for not posting about
it previously. 


 
Nick Hendler
[EMAIL PROTECTED]

_________________________________________

From:    Matthew O. Persico <[EMAIL PROTECTED]>
Date:    Tuesday, July 29, 2003 
Time:    8:00:13 PM
Subject: SQL::Statement and 0-length strings

Perl 5.6.1, DBI 1.37, DBD::CSV 0.2002, SQL::Statement 1.005.

Once I upgraded to this combination of modules, my previously working program stopped 
doing so. In order to solve the problem, I had to drop back to the last known working 
version of
SQL::Statement -  0.1016.

The problem was that I had a value that was the empty string, When I generated the 
SQL, the empty string was represented by consecutive single quotes. When I tried to 
write to my table
via DBD::CSV, I got an error that looked for all the world as if SQL::Statement 
mis-parsed consecutive single quotes and tried to extend the value to the next quote 
it found, which was
beyond the comma and part of the next field.

Before I reduce to a small example and start working my way back from 1.005 to a 
version that works, is this a known problem and is there a configuration switch I can 
throw to fix it? I saw
nothing of the sort in the man pages.

Thanks
--
Matthew

Reply via email to