DBD::ODBC 1.36_2 is now on CPAN. I'm afraid this makes some incompatible changes with the last full release and for that I appologise. It seems I was just too ambitious defaulting the internal execute_for_fetch to on. I suspected some ODBC drivers would have bugs which prevented them from working but there are just too many actively used drivers for me to test them all and I hoped this would encourage fixes to them. As it turns out all that happened as I got a number of requests to disable execute_for_fetch for some ODBC drivers and that put me in the position of having to look after a list of broken drivers - something I don't have the time to do.
At this point in time I have been told execute_for_fetch won't work with MS Access at all (unbelievable since the support required is core ODBC and it's Microsoft - who were involved in defining ODBC), freeTDS, the OS firebird driver and SQLite. I know it works with both the Windows MS SQL Server drivers (although I have one unreproducible report for the MS SQL Server ODBC driver), the Oracle driver and the Easysoft ODBC Drivers .
As a result, the default for execute_for_fetch is now off so if you want the extra speed you'll have to enable it and due to a silly decision on my part the name of the attribute to set it has changed to odbc_array_operations. The full changes are below and I will release this as a full version at the end of the week.
* not strictly a bug fix, more a workaround. MS Access mdb driver reports 22 for the size of doubles but then returns an empty string for long doubles that still fit in 22 chrs. rt 69864.
[CHANGE IN BEHAVIOUR]
* The odbc_disable_array_operations has been replaced with odbc_array_operations and the default for array operations is off. Sorry, but I warned this was experimental. The ODBC_DISABLE_ARRAY_OPERATIONS env var remains.
* Rewrote parts of "Unicode implementation in DBD::ODBC" to describe UTF-16/UCS-2 internal implementation.
* Changed ordering of some of the pod sections.