New test release 1.16_3 of DBD::ODBC
- From: martin.evans@xxxxxxxxxxxx (Martin Evans)
- Date: Mon, 08 Sep 2008 11:46:28 +0100
This is hopefully the last test release of DBD::ODBC before 1.17. Other than fix any bugs people find I won't be making any other changes. The changes in 1.16 series development releases can be found below. Note this is most likely the largest set of changes in DBD::ODBC since the very early days. If you use DBD::ODBC you are well advised to test this release and report back here with problems. If I get no negative feedback I will release this as 1.17 next week.
You can find the release on CPAN (when it works it way through) or at:
ftp://ftp.easysoft.com/pub/DBD-ODBC-1.16_3.tar.gz
=head2 Changes in DBD::ODBC 1.16_3 September 3, 2008
Changed Makefile.PL to add "-framework CoreFoundation" to linker line on
OSX/darwin.
Disallow building with iODBC if it is a unicode build.
More tracing for odbcconnect flag.
Fix bug in out connection string handling that attempted to use an out
connection string when SQLDriverConnect[W] fails.
Fixed yet more test count problems due to Test::NoWarnings not being
installed.
Skip private_attribute_info tests if DBI < 1.54
About a 30% rewrite of bound parameter code which started with an
attempt to support the new VARBINARY(MAX) and VARCHAR(MAX) columns in
SQL Server when the parameter length is > 400K in size (see elsewhere
in this Changelog). This is a seriously big change to DBD::ODBC to
attempt to be a bit more clever in its handling of drivers which
either do not support SQLDescribeParam or do support SQLDescribeParam
but cannot describe all parameters e.g., MS SQL Server ODBC driver
cannot describe "select ?, LEN(?)". If you specify the bound parameter
type in your calls to bind_param and run them to an ODBC driver which
supports SQLDescribeParam you may want to check carefully and probably
remove the parameter type from the bind_param method call.
Added rt_38977.t test to test suite to test varchar(max) and
varbinary(max) columns in SQL Server.
Moved most of README.unicode to ODBC.pm pod.
Added workaround for problem with the Microsoft SQL Server driver when
attempting to insert more than 400K into a varbinary(max) or
varchar(max) column. Thanks to Julian Lishev for finding the problem
and identifying 2 possible solutions.
=head2 Changes in DBD::ODBC 1.16_2 September 2, 2008
Removed szDummyBuffer field from imp_fbh_st and code in dbd_describe
which clears it. It was never used so this was a waste of time.
Changed the remaining calls to SQLAllocEnv, SQLAllocConnect and
SQLAllocStmt and their respective free calls to the ODBC 3.0
SQLAllocHandle and SQLFreeHandle equivalents.
Rewrote ColAttributes code to understand string and numeric attributes
rather than trying to guess by what the driver returns. If you see any
change in behaviour in ColAttributes calls you'll have to let me know
as there were a number of undocumented workarounds for drivers.
Unicode build of DBD::ODBC now supports:
=over
=item column names
The retrieval of unicode column names
=item SQL strings
Unicode in prepare strings (but not unicode parameter names) e.g.,
select unicode_column from unicode_table
is fine but
select * from table where column = :unicode_param_name
is not so stick to ascii parameter names if you use named parameters.
Unicode SQL strings passed to the do method are supported.
SQL strings passed to DBD::ODBC when the odbc_exec_direct attribute
is set will B<not> be passed as unicode strings - this is a limitation of
the odbc_exec_direct attribute.
=item connection strings
True unicode connection string support will require a new version
of DBI (post 1.607).
B<note> that even though unicode connection strings are
not supported currently DBD::ODBC has had to be changed to call
SQLDriverConnectW/SQLConnectW to indicate to the driver manager it's
intention to use some of the ODBC wide APIs. This only affects DBD::ODBC
when built for unicode.
=item odbcunicode trace flag
There is a new odbcunicode trace flag to enable unicode-specific
tracing.
=back
Skipped 40Unicode.t test if the ODBC driver is Oracle's ODBC as I
cannot make it work.
Changes internally to use sv_utf8_decode (where defined) instead of
setting utf8 flag.
Fix problems in the test when Test::NoWarnings is not installed.
Removed some unused variables that were leading to compiler warnings.
Changed a lot of tracing to use new odbcconnection flag
Changed to use dbd_db_login6_sv if DBI supports it.
Commented out a diag in 20SqlServer.t that was leading to confusion.
Added diag to 20SqlServer.t in mars test to explain why it may fail.
Various pod changes for clarification and to note odbc_err_handler is
deprecated.
Removed odbcdev trace flag - it was not really used.
New odbc_out_connect_string attribute for connections which returns
the ODBC driver out connection string.
=head2 Changes in DBD::ODBC 1.16_1 August 28, 2008
Fixed bug in odbc_cancel which was checking the ACTIVE flag was on
before calling SQLCancel. Non-select statements can also be cancelled
so this was wrong. Thanks to Dean Arnold for spotting.
Minor changes to test 01base to attempt to catch install_driver
failing, report it as a fail and skip other tests.
Fixed bug reported by James K. Lowden with asynchronous mode and
SQLParamData where the code was not expecting SQL_STILL_EXECUTING and
did not handle it
Added odbc_putdata_start attribute to determine when to start using
SQLPutData on lobs.
Fixed bug in lob inserts where decimal_digits was being set to the
size of the bound lob unnecessarily.
Minor change to connect/login code to delete driver-specific attributes
passed to connect so they do not have to be processed again when DBI
calls STORE with them.
New 12blob.t test.
A lot of code tidy up but not expecting any real benefit or detriment
when using DBD::ODBC.
Fixed retrieving [n]varchar(max) columns which were only returning 1
byte - thanks to Fumiaki Yoshimatsu and perl monks for finding it.
See http://markmail.org/message/fiym5r7q22oqlzsf#query:Fumiaki Yoshimatsu odbc+page:1+mid:fiym5r7q22oqlzsf+state:results
Various minor changes to get the CPANTS kwalitee score up.
fixed pod issues in FAQ.pm
moved mytest dir to examples
added generated_by and requires perl version to META.yml
added pod and pod-coverage tests
removed executable flag from Makefile.PL
added use warnings to some modules and tests
fixed pod errors in ODBC.pm
added AUTHOR and LICENSE section to ODBC.pm
added Test::NoWarnings to tests
Added support for setting the new(ish) DBI ReadOnly attribute on a
connection. See notes in pod.
Changes to test suite to work around problems in Oracle's instant
client 11r1 ODBC driver for Linux (SQLColAttributes problems - see
02simple.t).
New tests in 30Oracle.t for oracle procedures.
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com
.
- Prev by Date: RE: DBD::oracle DBD::ODBC DBI
- Next by Date: Re: DBD::oracle DBD::ODBC DBI
- Previous by thread: RE: DBD::oracle DBD::ODBC DBI
- Next by thread: Solved: Perl goes away during a MySQL execute call, with NO messages.
- Index(es):
Relevant Pages
|
Loading