I've just uploaded DBD::ODBC 1.30_1 to CPAN. If you use Windows or a Unicode build of DBD::ODBC on non-Windows platforms you should really test this release as it contains a change in behaviour for Unicode. This release also contains a small but perhaps significant change to the silent rolling back of a transaction when disconnect was called when AutoCommit was disabled. The complete changes since 1.29 are below. Again, many thanks to all the people RTing issues and providing feedback/testing.
=head2 Changes in DBD::ODBC 1.30_1 May 12, 2011 [BUG FIXES] * Fixed some compiler warnings shown with -Wall including some printf formats that had extra/missing arguments. * Fixed t/70execute_array.t which was missing an "order by" in the check_data sub which could cause failures for drivers not returning the rows in the order they were inserted. * Minor fix to Makefile.PL to avoid issuing variable used in void context. [CHANGE IN BEHAVIOR] * DBD::ODBC used to quietly rollback any transactions when disconnect was called and AutoCommit was off. This can mask a problem and leads to different behavior when disconnect is called vs not calling disconnect (where you get a warning). This release issues a warning if you call disconnect and a transaction is in progress then it is rolled back. * DBD::ODBC used to bind char/varchar/longvarchar columns as SQL_CHAR meaning that in the unicode build of DBD::ODBC the bound column data would be returned 8bit in whatever character-set (codepage) the data was in, in the database. This was inconvenient and arguably a mistake. Columns like nchar/nvarchar etc were bound as SQL_WCHAR and returned as Unicode. This release changes the behaviour in a unicode build of DBD::ODBC to bind all char columns as SQL_WCHAR. This may inconvenience a few people who expected 8bit chars back, knew the char set and decoded them (sorry). See odbc_old_unicode to return to old behaviour. [ENHANCEMENTS] * added -w option to Makefile.PL to add "-Wall" to CCFLAGS and -fno-strict-aliasing so I can find warnings. * Cope with broken ODBC drivers that describe a parameter as SQL type 0. [OTHER] * Add "disconnect and transactions" to pod describing what DBD::ODBC does if you call disconnect with an outstanding transaction. * Reorganised FAQ for bound parameter issues and added a lot on bound parameter problems. * Added new FAQ entry for Firebird * Removed some unused variables and added some missing function prototypes Martin -- Martin J. Evans Easysoft Limited http://www.easysoft.com