I'm pleased to announce the 1.25 release of DBD::ODBC.
A full list of changes since the last major release is listed below and at DBD::ODBC Changes
. New features include support for MS SQL Server's XML type, a new odbc_lob_read method, overriding of types on bind_col.
Many thanks to everyone who has reported issues and helped with the development and testing of DBD::ODBC and especially all my friends on #dbi, Perl Monks
and my colleagues at Easysoft Limited.
rt 61370 - default XML type parameters in SQL Server to SQL_WCHAR so they accept unicode strings.
Fixed missing SvSETMAGIC on a bound scalar which was causing length() to return the wrong result - see http://www.perlmonks.org/?node_id=860211
and a big thank you to Perl Monks and in particular ikegami.
Changed bind_col so it actually pays attention to the TYPE attribute as you could not override the bind type of a bound column before.
Left a sv_undef in - thanks smoke testers for finding that.
Change sprintf to snprintf for safety.
Added note from Robert Freimuth for obtaining the last insert ID in MS Access.
Changed all &sv_yes/&sv_no occurrances in XS to PL_sv_yes/PL_sv_no as the originals have now gone from blead Perl.
Minor change to fix missing newline in trace output.
Added a FAQ entry for how "use regional settings" in MS SQL Server breaks things.
Fix rt57957 reported by Marc Prewitt. DBD::ODBC was not ignoring named placeholders and ? inside comments. Comments are deemed as text between "/*" and "*/" (if not in a literal) and line comments begin with "--".
Added a FAQ on procedures not completing in MS SQL Server. Thanks to Peter Rabbitson for hitting this problem and reminding me I'd seen it a couple of times before.
Added a FAQ on equality comparisons with ntext columns.
Added pod for last_insert_id which is not currently supported.
Fix bug where if SQLMoreResults was called and failed it was not reported.
Removed some unused fields from the fbh structure which should save a little memory for each column in a result-set.
Started adding support for DBI's DiscardString and StrictlyTyped but not complete yet so don't use them yet.
Added experimental odbc_lob_read method - see pod. Thanks to tye and ikegami on perlmonks for pointing out some problems with my initial implementation.
Moved the binding of columns to the first call to fetch instead of after execute is called as it prevents bind_col overrriding the type used for binding and I needed it to support odbc_lob_read. This may have undesired affects so any testing of this release would be appreciated.
Added bind_col method so DBD::ODBC can support attributes on a bind_col call.
Removed support for DBI's blob_read - it was totally flawed and did not work at all. May replace in the future.
Added support for MS SQL Server XML type (SQL type -152). See rt 59621.
Added note on do method implementation in DBD::ODBC and how some may consider it to deviate from the DBI specification.
Corrected pod and private attributes for the odbc_SQL_DRIVER_ODBC_VER attribute which was documented as SQL_DRIVER_ODBC_VER.
Added FAQ on pauses on statement destruction when all the result-set has not been retrieved (mostly freeTDS and MS SQL Server ODBC Driver).
Fixed bug introduced in 1.24 where if you are using MS SQL Server, and you are preparing, binding placeholders and re-executing multiple times you may get a "Invalid character value for cast specification" error. Thanks to anonymous for spotting this and producing a standalone example of the problem that made it so much easier to find.