On Saturday, October 16, 2010 6:18 AM, Martin J. Evans wrote: > On 15/10/2010 22:20, Roode, Eric wrote: >> Hello all, >> >> DBI docs says that statement handle method execute() returns undef on >> error. I have found a situation where that does not hold. Was hoping >> someone could help me out, maybe there's a workaround. > > You need to read further down that entry where it says: > > "If the number of rows affected is not known, then execute returns -1." > > Admittedly, in your case it looks like an error from the driver > error message but it did not return an error so perhaps you stopped > when you saw undef for error.
I knew perfectly well that -1 means "number of rows unknown". I didn't see how that could apply to "[Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'enabled', table 'feeds'; column does not allow nulls. INSERT fails. (SQL-23000) [state was 23000 now 01000] [Microsoft][ODBC SQL Server Driver] [SQL Server]The statement has been terminated. (SQL-01000)" That's just an error, plain and simple. I'm perfectly willing to accept that it may not have been reported as an error, due to a bug in Microsoft's driver or whatever, but to suggest that I didn't read the docs and therefore didn't interpret -1 correctly is ridiculous. -- Eric