@(#)CHANGES 1.7 03/22/96
2.05 Bug Fixes
BugId Description
165 Make fails if DBLIBVS < 461.
166 bcp_sendrow() truncates binary (ie TEXT/IMAGE)
fields if they contain NULL bytes.
167 The 5.002 make install places local module in
$PERL5LIB/site_perl, which is searched *after*
$PERL5LIB.
169 -L$SYBASE/lib comes too late in the
$LDFLAGS/$LDDLFLAGS Makefile variables, which can
cause the wrong library to be referenced (tcl/tk's
libtcl.a vs. Sybase's).
170 Retrieving numeric data causes the fields to be
padded with spaces instead of being NULL terminated
after the last digit.
2.04 DBlib and CTlib Feature release.
New Sybase::BCP module.
** NOTE **
This version requires Perl 5.002.
- Added ct_describe to retrieve the information held in the
CS_DATAFMT structure for each column in the result set.
- Added Sybase::{CTlib, DBlib}::debug(level) which enables the
tracing of certain internal states and operations.
- Turned Sybase::CTlib and Sybase::DBlib database handle
attributes into a tied hash, so that invalid attribute names
(such as spelling mistakes) can be caught (NOTE: This is a
compile time option that can be turned OFF if you don't like
it). To allow add hoc attributes to be set by the programer
you can pass a hash reference as fifth parameter to the
dblogin/ct_connect calls with the additional attributes that
you want the DBlib or CTlib modules to recognize.
- Added Sybase::DBlib::DBSETLPACKET and
Sybase::DBlib::dbgetpacket to allow the use of non-default
network packet sizes (this can increase the performance
tremendously in certain situations).
- Sybase::DBlib can now return DATETIME and MONEY values in native
format, with the same functionality as Sybase::CTlib.
- Re-wrote and cleaned up some of the logic in
Sybase::DBlib::dbnextrow() and dbretdata().
- bcp_sendrow() can now take an array reference as data
parameter instead of a LIST. This is a small performance
improvement when processing wide tables. (Passing a LIST is
still supported).
- Added some additional regression tests.
- Reviewed the documentation.
- Sybase::BCP is a new module that attempts to make it easier
to use the bulk copy library. Sybase::BCP includes many
features such as input column re-ordering, failed batch
retries and date/time conversions. It is sub-classed from
the Sybase::DBlib module.
- Sybase::Login is a tkPerl login widget for sybperl. It
requires the Tk module. You will find it in
eg/Login.pm. Contributed by Brent B. Powers.
Bug Fixes:
BugId Description
158 Sybase::CTlib dumps core when retrieving "Extended
Error" data in the default Server Message handler.
159 Make DBSETLPACKET() available in DBlib.
161 make test fails for Sybase::DBlib, Sybase::Sybperl
with perl5.002gamma.
163 bcp_batch is not documented.
2.03 Bug fixes to Sybase::DBlib.
- Retrieving large numeric/decimal/identity values caused
floating point values in exponential notation to be
returned. This was due to the default behaviour of DBlibrary
to be compatible with release 4.6.1. This version
AUTOMATICALLY calls dbsetversion() to enable System 10
handling of numeric/decimal/identity data if you build against
a System 10 version of DBlibrary.
- Logging for dbwritetext() has been enabled by adding an
additional (optional) $log parameter. I'm not very happy with
the calling sequence (it's getting further and further from
the C version), but that's the cost of not doing it right from
the start, I guess...
BugId Description
155 Retrieving large integers (of numeric or decimal
data types) creates floating point data in
exponential notation.
156 dbsetversion() does not work.
123 Allow logging for dbwritetext().
2.02 Updates & Improvements to the CTlib and DBlib modules.
New Features:
- Sybase::CTlib::ct_sql() can now return an array of references
to associative arrays (one for each row).
- Sybase::CTlib::ct_fetchable() uses a precomputed hash to check
the fetchable status (suggested by Gisle Aas).
Added Sybase::CTlib::ct_cmd_alloc to allow multiple CS_COMMAND
structures with a single connection.
- Added Sybase::CTlib::ct_cmd_realloc to drop and realloc the
current CS_COMMAND structure.
- Added Sybase::DBlib::db*opt() calls. The dbsetopt() call was
implemented in version 1.0xx but somehow did not get recoded
in 2.x.
- Sybase::DBlib::sql() can now return an array of references to
associative arrays (one for each row).
Bug Fixes:
BugId Description
146 Need multiple CS_COMMAND structures for ct_cursor
operations.
147 $date->calc() changes both the original $date and
the new date.
148 Sybperl.pm does not export $DB_IN, $DB_OUT.
151 Sybperl.pm does not define &dbwritetext().
152 Sybperl.pm defines $main::ComputeID, sybperl 1.0xx
used $main::ComputeId.
2.01 For use with either Perl 5.001m or Perl 5.002.
New Features:
- CTlib DateTime, Money and Numeric data handling is now done
either in native mode (ie the data is converted to char
strings or floating precision only when needed which is
sometimes slow) or in 'convert' mode (all data is retrieved in
string or floating point format). The default is to retrieve
data in 'convert' mode. See the 'Attributes' sub-section in
the CTlib section of the manual (pod/sybperl.pod)
Bug Fixes
BugId Description
140 CTlib uses excessive amounts of memory.
The Makefile.PLs have been updated so that they work both with
5.001m (the version I recommend for production use at this
point) and 5.002 beta.
2.0b Updated to work with Perl 5.002 beta. This version *requires*
Perl 5.002beta1f, and MakeMaker.pm 5.14.
Bug fixes:
BugId Description
132 Bizarre copy of CODE in subroutine entry at
t/dblib.t line 93.
138 Problems installing sybperl after upgrading to
5.002 beta 1f.
In addition, the 'undef' bug that I uncovered in sybperl 2b3
has been fixed, so the -DUNDEF_BUG is not necessary anymore.
The MakeMaker utility has progressed, making the existence of
the infamous empty Sybase.xs file unnecessary.
2.0a Bug fixes:
BugId Description
130 CTlib/t/ctlib.t test fails on AIX
136 CTlib fails test on an Onyx running Irix
137 dbnextrow core dumps when retrieve row with binary
length > 140
135 Behaviour change of DBlib::sql not documented in README
133 MakeMaker 5.03 doesn't work with Sybperl.
Additional functionality:
DBlib::DBDEAD and DBlib::remove_xact have been added (thanks
to Joel Truher).
2.0 Base release.