* Wed Mar 21 2018 email@example.com
- updated to 1.58
Various changes to the test suite to get better results with Postgres
Merged pull request 6 from genio which allows Makefile.PL argument -u
to be set via the environment variable DBD_ODBC_UNICODE
This version was removed from CPAN because it was uploaded with a nasty
bug in the diagnostics code.
* Fri Mar 02 2018 firstname.lastname@example.org
- updated to 1.57
* Fri Oct 07 2016 email@example.com
- updated to 1.56
Full release of the 1.53 development series
One version skipped because of indexing problems.
Add new FAQs
Strictly speaking this is a bug fix to DBI and not DBD::ODBC but DBI
now supports 64 bit row counts where an IV in perl is 64 bits. However, it
necessitated changes to DBD::ODBC to pick up the fix. odbc_rows (my workaround
since 2012) is still supported but should no longer be required so long as you
use this DBD::ODBC and DBI 1.633_92 or above.
Removed dbd_st_rows and now setting DBIc_ROW_COUNT.
Add tables and table_info section to deviations from the DBI spec.
Change column name in t/rt_101579.t as "method" is a reserved word
in. Teradata Thanks to Zhenyi Zhou.
Remove duplicate dynamic_config from META.yml.
* Tue Sep 01 2015 firstname.lastname@example.org
- updated to 1.52
Changes to the test suite to make it run better with Postgres thanks
to Greg Sabino Mullane.
Numerous errors in the test suite (with SQLite ODBC driver) mostly down to not
creating the test table first.
Try and make the test suite run ok for SQLite ODBC driver so I can use it
RT101579 - using bound input parameters for numeric columns (e.g.,
SQL_NUMERIC) only works the first time and will quite likey fail
with "string data, right truncation" on the second and subsequent
calls to execute. Thanks to Laura Cox for finding.
The table_info method (ANSI version only) was incorrectly passing
the table name for the type argument. I think this bug was
introduced last year.
RT100186 - handle VARBINARY(MAX) parameters with SQL Server native
client. Identify "libmsodbcsql*" as the MS ODBC Driver for Linux as
there are some specific workarounds for MS Native Client ODBC driver.
The 80_odbc_diags.t test could fail if a driver fails a table does
not exist test in the prepare instead of the execute.
Fixed sql_type_cast.t test which assumed column aliases which stay
Fixed 87_odbc_lob_read.t test which did not bow out of the test
properly if the database was not MS SQL Server.
Revised the query notification example and documentation.
Added a link to a better Query Notification article.
[CHANGE IN BEHAVIOUR]
As warned years ago, this release removes the odbc_old_unicode attribute.
If you have a good reason to use it speak up now before the next non-development
Fix rt89255: Fails to create test table for tests using PostgreSQL odbc driver.
Change test suite to fallback on PRECISION if COLUMN_SIZE is not found.
Added support for MS SQL Server Query Notification. See the new
section in the pod.
Added a currently undocumented (and experimental)
odbc_describe_param method on a statement handle which takes a
parameter number as the only argument and returns an array of the
data type, parameter size, decimal digits and nullable (as per
Added FAQ on truncated column names with freeTDS.
I have removed the "experimental" tag for odbc_getdiagfield and odbc_getdiagrec
Change to data_sources in 1.49_1 could lead to a compile error since
data_sources was not returning a value if an error occurred.
If you had a lot of DSNs on Windows (more than 280 but it depends on
the length of their names) and called the data_sources method it
could crash your script. Code internally changed to stop putting the DSNs
returned on the stack.
[CHANGE IN BEHAVIOUR]
As warned years ago, the private data_sources method has been
removed - use DBI one instead.
Added FAQ entry of maximum number of allowed parameters.
* Tue Jul 22 2014 email@example.com
- refreshed perl-DBD-ODBC-1.29-Makefile.diff
(it failed to apply after some of the previous updates)
* Mon Mar 17 2014 firstname.lastname@example.org
- updated to 1.48
Manifest has wrong filename for 90_trace_flags.t
Forgot to remove warning from ODBC.pm that this is a development
release and unicode change when I released 1.47.
* Mon Feb 24 2014 email@example.com
- updated to 1.47, see Changes for more
Full release of the 1.46 development releases.
Just some tidying up of dbdimp.c - shouldn't make a difference to anyone.
Further changes to this change file to make it CPAN::Changes spec.
NOTE the changes.cpanhq.com site does not yet support "unknown" for
When built with unicode support and odbc_old_unicode is not enabled
columns reported as SQL_LONGVARCHAR were not by default bound as
SQL_WCHAR and hence were not returned correctly unless the bind was
Added test 90_trace_flag.t
[CHANGE IN BEHAVIOUR]
As warned in release 1.45, the binding of unicode parameters to
char/varchar columns has changed significantly. If you don't attempt
to insert unicode into char/varchar columns or if you only inserted
unicode into nchar/nvarchar columns you should see no difference.
From this release, unicode data inserted into
char/varchar/longvarchar columns is bound as SQL_WCHAR and not
whatever the driver reports the parameter as (which is mostly
Previously if DBD::ODBC received an error or (SQL_SUCCESS_WITH_INFO)
from an ODBC API call and then the driver refused to return the
error state/text DBD::ODBC would issue its own error saying "Unable
to fetch information about the error" and state IM008. That state
was wrong and has been changed to HY000.
Some drivers cannot support catalogs and/or schema names in
SQLTables. Recent changes set the schema/catalog name to the empty
string (good reasons below) which causes "optional feature not
implemented" from MS Access (which does not support schemas - even
for a simply ping (which uses SQLTables)). Now we call
SQLCATALOG_NAME and SQLSCHEMA_USAGE on connect to ascertain support
which modifies SQLTables call.
* Tue Nov 26 2013 firstname.lastname@example.org
- updated to 1.45, see Changes for (a lot of) details
* Sat Jul 27 2013 email@example.com
- updated to 1.43, see Changes (a lot)
* Fri Dec 02 2011 firstname.lastname@example.org
- update to 1.33
* Enable multiple active statement support in 70execute_array.t for
drivers we recognise which support MAS.
* Change column_info to support Unicode catalog/schema/table/column
* Use SQLGetTypeInfoW on unicode builds.
* DBD::ODBC now allows unicode catalog/schema/table parameters to be
passed to table_info. Of course they will only reliably work with
a supporting Unicode ODBC driver.
* Added new odbc_driver_complete attribute allowing the ODBC Driver
Manager and ODBC Driver to throw dialogues for incomplete
connection strings or expired passwords etc.
* remove debugging printf which output "HERE" in some rare cases.
rt 72534 - thanks John Deighan for spotting this.
* The test 70execute_array.t could fail due to warning being output
if the driver does not support Multiple Active Statements.
* Fix bug in utf16_copy which was not adding a trailing NUL but I'm
not sure this affected anyone until I changed table_info this
* I omitted rt_68720.t from the 1.31 distribution which leads
to a warning as it is mentioned in the MANIFEST.
* new FAQ entries
* added note saying you cannot pass unicode schema/table/column
names to metadata calls like table_info/column_info currently.
* Changed line endings in README.af and README.unicode to be unix
line endings and native eol-style in subversion.
* Minor changes to Makefile.PL to save the opensuse guys patching.
* Added unicode_sql.pl and unicode_params.pl examples
* added more examples
* Sat Aug 27 2011 email@example.com
- fix deps
* perl(Test::Simple) >= 0.88
* perl(DBI) >= 1.609
* Fri Jun 24 2011 firstname.lastname@example.org
- update to 1.31
* An extra argument has been added to the sub associated with
odbc_err_handler. The arguments passed to the odbc_err_handler are
now state (string), error (string), native error code (number) and
the status returned from the last ODBC API. The status will be
SQL_ERROR (-1) for errors or SQL_SUCCESS_WITH_INFO (1) for
* Added support for StrictlyTyped and DiscardString to the bind_col
* Added the new odbc_describe_parameters attribute.
* 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
* Sat Jun 18 2011 email@example.com
- fix requires of examples
- use original tar
* Wed Mar 09 2011 firstname.lastname@example.org
- update to 1.29
* Fixed missing SQL_MAX_TABLE_NAME_LEN definition from test.
* Fixed problem with some drivers which batch "insert;select" where
SQLMoreResults is not required and an extra describe is done.
* Fixed "select 1" in 02simple.t for Firebird ODBC Driver.
* disconnect call added to 70execute_array.t was in the wrong place.
* Added support for DBI's new trace flags ENC, CON, TXN and
* And many other fixes and enhancements
* Fri Jan 07 2011 email@example.com
- update to 1.27
Minor fix to head in pod
rt63550 fix and test code and added pod notes on "do"
snprintf buffer overflow when GetTypeInfo values are negative
capture execute error in rt_62033.t
* Wed Dec 01 2010 firstname.lastname@example.org
- switch to perl_requires macro
* Thu Sep 23 2010 email@example.com
- update to 1.25
* Changed bind_col so it actually pays attention to the TYPE
attribute as you could not override the bind type of a bound
* Left a sv_undef in
* Change sprintf to snprintf for safety.
* 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.
* 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.
* 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).
* bugfixes, new FAQs
* Sun Jul 25 2010 firstname.lastname@example.org
- removed dos2unix usage
* Thu Jun 03 2010 email@example.com
update to 1.24
o please see Changes file
- recreated spec by cpanspec 1.78
- added examples to doc
* Fri Feb 26 2010 firstname.lastname@example.org
- update to 1.23
* bugfixes, test fixes