This is a full release of all the 1.42_* development releases.
Minor fix to 10handler.t test suite which relied on a native error being true instead of defined.
Not all modules used in test code were specified in build_requires.
odbc_trace and odbc_trace_file are now full connection attributes so you can set them any time you like, not just in connect.
Added odbc_trace_file and odbc_trace attributes to the connect method so you can now enable ODBC API tracing from the connect method instead of having to use the ODBC Driver Manager. These also only enable ODBC API tracing in the application which made the call unlike the ODBC Driver Manager settings.
Changed any use of if SvUPGRADE to remove the if test as per email from Dave Mitchell and posting at http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-12/msg00424.....
DBD::ODBC's ExecDirect method did not return an SQLLEN so if you managed to affect a massive number of rows it would be cast to an int and hence precision lost.
When you called DBI's execute method and odbc_exec_direct was not set (the default) if you managed to affect more rows than would fit into an int you would get the incorrect count (NOTE on 32 bit platforms ODBC's SQLRowCount can only return a 32bit value anyway). You would get whatever casting an SQLLEN to an int would give you. The fix for this needs a change to DBI (see RT 81911) and the change would probably impact every DBD so until then DBD::ODBC will a) warn if an overflow occurs and Warn is set on the handle b) return INT_MAX and c) provide a new statement method odbc_rows which you can use to get the correct value.
New odbc_rows statement method (see above).
New rt_81911.t test case.