$Id: CHANGES,v 1.23 2010/03/28 11:23:45 mpeppler Exp $

2.19 Bug Fixes

        Fixed incorrect handling of various "new" datatypes (date,
        time, bigint, bigdatetime).
        
        Other Bug Fixes:
        
        640 -   Sybase::BLK fails due to system table ordering issues 
                consequence of row level locking on system tables in
                15.0.2 and later.

2.18 Bug Fixes

        Various BLK fixes.
        Fixed Sybase::BCP and Sybase::BLK tests which failed against
        12.5.3 servers (changes on the Server side).

        Bugs Fixed:

        577 - perl Makefile.PL fails if umask is 0.

2.17 Kerberos Network login

        Support for CS_SEC_NETWORKAUTH and CS_SEC_SERVERPRINCIPAL
        connection properties in Sybase::CTlib.
        Support CS_SERVERADDR connection properties in Sybase::CTlib,
        and also allow the $server parameter to ct_connect to be
        specified as "host:port" (requires OpenClient 12.5.1 or later).
        Some documentation changes/improvements in Sybase::CTlib.

        Bug Fixes
        546     umask checking doesn't work on Windows.
        555     blk_rowxfer doesn't handle datatype conversion errors.
        560     Long binary columns are truncated by ct_fetch.
        542     Fetch binary in raw format.
        538     DBlib doesn't export TRACE_xxx symbols.

2.16 Various bug fixes

        Added DBSETLENCRYPT() to Sybase::DBlib.
        Added DBDEAD() to Sybase::Sybperl.
        Rearranged the directory structure somewhat so that all the
        tests are now in one directory and are run as one unit.
        64-bit builds should now be detected automatically (assuming
        the perl binary was built in 64-bit mode)
        Split out the documentation so that there are now pod entries
        in DBlib.pm and CTlib.pm.

        Bug Fixes
        494   Do not try to use the ocs.cfg file if it exists.
        499   Change MAXNAME to DBMAXNAME in the DBlib source.
        500   $date->info return invalid data.
        511   Change login to syb_login in DBlib.xs (work-around for FreeBSD).
        516   Money/Numeric values lose precision when not using 
              UseMoney/UseNumeric.
        518   looking for non-existent library file (solaris 2.8/ASE 12.5.0.3
              perl 5.8)
        498   Problem compiling sybperl under HP-UX 64-bit mode.
        488   Sybase::CTlib and DBD::Sybase end up using the same error 
              handler
        470   BLK.pm does not handle empty columns as NULL, and does not 
              have retry logic of BCP.pm
        410   BCP.pm has regex bug.
        379   Sybase::BCP::config() does not correctly handle incremental 
              changes

2.15 Various bug fixes

        Support for 64bit OpenClient on platforms that support this
        (Thanks to Pamela Schulz for her help with this)
        Added CTlib/t/xblk.t and CTlib/t/prepare.t test scripts.
        CS_BLK_CANCEL was not exported.
        For building with FreeTDS you can now add -DNOBLK to the 
        EXTRA_DEFS line in CONFIG.

        Bug Fixes
        468   Makefile.PL has syntax error when used with perl 5.8.x
        460   Idem.
        439   Makefile.PL fails for very old Sybase installation (i.e.
              installation with no CT-Library)
        423   Fix Makefile.PL for Win32 builds.
        422   t/bcp.t fails against 11.0.3.3 linux servers.

2.14 And more (minor) bug fixes

        config.pl's getExtraLibs() now tries to determine the Client
        Library version to avoid linking with -linsck or -ltli for
        OC 11 or later (as the correct library is loaded dynamically 
        based on the values defined in $SYBASE/config/libtcl.cfg)
        Added support for CS_HAFAILOVER connect option (thanks to 
        Ranko Popovic)
        Added CTlib version of nsql().
        Documentation patches from Geoffrey Rommel.
        Fixed memory leak when using UseDateTime/UseMoney/UseNumeric.
        Add Async calls for CTlib (ct_poll(), etc).
        Add CS_DATA_LCHAR connection capability.
        Add ct_dyn_prepare() and ct_dyn_execute() to handle "dynamic SQL"
        - thanks to Masatsuyo Takahas for the patch.
        Add experimental blk_() calls.
        Ask for the PWD entries during the perl Makefile.PL phase.
        Add Sybase::BLK module (based on Sybase::BCP) (many* thanks to
        Scott Zetlan for this!)
        
        Bug Fixes
        309   Sybase::BCP fails test if server is set to use 
              datarows locking by default.

2.13 Yet more bug fixes

        Correct EMBED_SYBASE handling (bug in config.pl script).
        Fix building for Sybase 12.0 (uses SYBASE_OCS environment 
        variable.)
        Added dbretlen(), dbretname(), dbrettype() to DBlib.
        Minor changes to support wide data in Sybase 12.5.

        340: Sybase::BCP fails unless REORDER is defined.
        342: DateTime calc method microseconds aren't.

2.12 More bug fixes

        Better EMBED_SYBASE, thanks to Mike Hiller.
        Added UseBix0x mode to CTlib.

        269: dbsqlsend() missing from Sybperl.pm emulation layer.
        315: -ldnet_stub directive in CONFIG ignored for OSF1/Tru64 Unix.
        312: DBINTERRUPT misspelled in DBlib.xs.

2.11 Various bug fixes.

        nsql() patch from W. Philipp Moore.
        Added EMBED_SYBASE configuration variable.
        dbreadtext() could cause a core dump if the internal call failed.
        Figured out what was needed to get Sybase::DBlib to talk to an 
        MS-SQL 7 dataserver. Sybase::CTlib still does not work with the
        normal, non-patched MS-SQL 7 server.
        Fixed bug 261: Money/Numeric potentially lose precision in
                       Sybase::CTlib.

2.10_02

        Fix incorrect dropping of locale structure in CTlib::DESTROY.
        Link pod/sybperl.pod to CTlib/CTlib.pod and DBlib/DBlib.pod so 
        that perldoc Sybase::DBlib now works.

2.10_01

        Added dbbylist().
        Added DBIORDESC() and DBIOWDESC() (contributed by David Worenklein)
        Modifications to nsql() contributed by W. Phillip Moore.
        Added minimal support for languages and charsets to Sybase::CTlib.

2.10 CTlib TEXT/IMAGE handling

**WARNING**

        Please see the sybperl.pod file for dbpoll() syntax
        changes.

        Added ct_get_data(), ct_send_data(), ct_data_info().
        Added some missing documentation.
        Added Sybase::CTlib::DBDEAD().
        Added Sybase::DBlib::dbcomputeinfo().

        Changed DBlib::dbpoll() to allow polling on a single handle.

        W. Philipp Moore supplied a patch to CTlib/Makefile.PL to 
        link with the Sybase _r (re-entrant) libraries if perl
        was compiled with threading enabled. **THERE IS NO GUARANTEE
        THAT A THREADED VERSION OF Sybase::CTlib WILL WORK CORRECTLY!!!***
        Please read README.thread for details.

        Bug Fixes:

        247: Sybase::DBlib::sql() returns invalid results in $doAssoc mode
             when multiple result sets are being processed.
        248: cs_dt_info(CS_DT_CONVFMT) doesn't work.

2.09_05 DBlib asynch calls

Added dbpoll(), dbsqlsend() to allow asynchronous calls to Sybase.

Applied W. Philipp Moore's patch to the nsql() routine.

2.09_04 DBlib dbreg*() calls

        Added dbreg*() calls to allow execution of OpenServer registered
        procedures.

2.09_03 Bug Fixes

        235: Calling DBlib's dbexit() breaks Sybase::DBlib on Win32
        236: Sybase::CTlib doesn't work with OC 11.x on Win32.

2.09_02 Bug Fixes

233: CTlib dumps core in DESTROY.

2.09_01 Bug Fixes

        This is a bug fix release. The only functional change is in the
        handling of attributes in Sybase::CTlib when using the 
        ct_cmd_alloc() call. If you use that call to open
        multiple cursors on the same connection then you should
        be aware that the attributes are shared between the handles
        opened for this connection (ie the handle created with
        ct_connect() and the handles created with ct_cmd_alloc().)

        Other fixes:

        218: length($buf) is incorrect after dbreadtext().
        223: dbreadtext() leaves garbage at the end of $buf
        224: dbreadtext() missing from Sybase::Sybperl
        226: Changing $user in dblogin() fails on NCR
        228: BCP RECORD_SEPARATOR error
        229: BCP & null_pattern error
        232: SEGV in ctutils.pl when inserting a duplicate row.

2.09 Performance Enhancements / Win32 portability release:

        Added nsql() routine to Sybase::DBlib (contributed by 
        W. Phillip Moore).

        Added dbcc.pl (run dbcc's and filter the error messages) and 
        SecureSql.pm (contributed by Olivier Mary) to the eg/
        directory.

        Bug fixes:

        216 Sybase::BCP fails under Win32 systems
        219 Silence some 'variable used only once' warnings.

2.08_52

        Added dbsetdefcharset() and dbsetdeflang() to Sybase::DBlib
        Added cs_dt_info() to Sybase::CTlib.
        Added ability to set certain connection properties in
        Sybase::CTlib.

        Bug Fixes:

        209: CTlib appends trailing \0 byte to string values.

2.08_51

        Added dbproc and ConInfo attributes back into the handle
        attributes.
        Fixed some small-ish bugs introduced by the changes in
        2.08_50.
        Merged in porting notes to Win32 from Krzysztof Koczyjan
        <krzysztofK@worldnet.att.net> (see README.win32 for details).

        Bug Fixes:

        194: CTlib has hard coded warn() calls in ct_connect()

2.08_50

        Avoids hash for storage of internal attributes data.
        Can return reference to a pre-allocated array.

        Bug Fixes

        Merged in porting notes for VMS from Charles Bailey 
        (baily@newman.upenn.edu)

2.08 New Features:

        Added dbpreptext(), dbreadtext(), dbmoretext(), dbsqlok()
        and force_dbclose() to Sybase::DBlib.
        Added dbspid() to Sybase::DBlib

        Bug Fixes

        Made some code adjustments to silence some perl 5.004
        warnings.
        Finally fixed the "'rpcInfo' is not a valid Sybase::DBlib
        attribute" bug...
        Fixed DBSETLPACKET() macro definition (for pre-system 10
        libraries).
        Fixed ct_config() so that integer values can be set and
        retrived. This implied adding a 'type' argument which defaults
        to CS_CHAR_TYPE, but must be set to CS_INT_TYPE if integer
        values are passed or retrieved.
        Fixed dbclose() in Sybperl.pm to really close connections.
        Renamed config to config.pl to avoid problems under Win/NT.
        ct_fetch() added an extra \0 at the end of TEXT/IMAGE data.
        Fixed a reorder bug in BCP.pm.
        Fixed Sybase::CTlib::ct_sql() to set $dbh->{RC} to CS_FAIL 
        when an error occurs in the processing.
        Sybase::DBlib::dbrpcxxx() calls where not returning any success
        or failure information.
        Sybase::CTlib::ct_col_types() returns CS_INT_TYPE for all integer
        types.

2.07 Bug Fixes

        Added ct_config() call to CTlib.
        Fixed memory leak when using TEXT data with the CTlib module.
        Fixed some data handling and column splitting problems in the
        BCP module.
        Improved data handling and data integrity in the bcp_*() calls
        in DBlib.

2.06 Bug Fixes

        Fixed memory leak when the -DDO_TIE compile time option is
        turned on.
        Fixed 32/64 bit pointer problem that caused CTlib to fail on
        the Dec Alpha.
        DESTROY function now makes sure that it only closes
        connections in the process that created them (ie a child
        process started via fork() would sometimes close the
        connections of the parent...)
        New, fully re-written dbschema.pl (thanks to David Whitmarsh)

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.

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.

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:

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:

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.