Sybtcl change history


Version 1.0,  June 1992

     First general release - it lives!

--------------------------------------------------------------------------------

Version 1.1,  August 1992

     Added better handling for text and image datatypes.  Two new
     commands, sybwritetext and sybreadtext allow text/image columns
     to be read from/written to files.  Also added "maxtext" index into
     sybmsg to allow a larger amount (user defined) of text/image 
     to be returned via sybnext.

     Updated "wisql" sample program to use Tk 2.2 text widget, returned
     text columns are inserted into results listbox with breaks at 
     newlines, view names of rules, triggers, views in addtition to
     tables and procs.  Examine the text of rules, triggers, views, procs.
     Report count of rows returned.

     Added two more samples showing sybwritetext, sybreadtext commands.

     Updated man page for new features.

--------------------------------------------------------------------------------

Version 1.2,  October 1992

     Changed where dbsetopt is called to set DBTEXTSIZE.  Version 1.2
     fixes a bug introduced in version 1.1 that sometimes causes the server to
     abort a query with a 703 error (back-to-back execution of the exact
     same SQL code would alternate success and failure.)
     Accumulate server message numbers (msgno) the same way msgtext is 
     accumulated.

     Updated "wisql" - showFields now shows all characters of a column name
     (up to 30). Sybmsg(msgno) added to error messages.  Changed message 
     window to Message class.  Added arrow key bindings (right,left) to
     SQL Text window and Entry classes.  Added Shift-Return and Control-Return
     binding to SQL Text window to invoke "Execute".
     Added a menu button to the signon window to select a server from the
     interfaces file.

     Updated "pubs_pix" to set a large sybmsg(maxtext) value when 
     retrieving images.

     Updated man page for sybmsg(maxtext) and (sybmsgno).

--------------------------------------------------------------------------------

Version 1.3,  May 1993

     Fix sybtcl.c - error handler is passed a NULL pointer for oserrstr
     when the error is not related to oserr.  This seemed to be a
     problem on every machine except the one I developed on, where a
     vaild pointer to a nil string was passed.  This fixes segmentation
     faults that usually appear with a bad connect id or password.
     Also, two others - replace strncpy() with strcpy() in Tcl_SybSql, where
     no length was specified (or needed); in parse_columns(), if a 
     "nullvalue" was specified it never was copied - wrong buffer.

     Wisql changed to support Tk 3.0+ by changing the toplevel widget
     pathnames to lower case.  Change #! exec line to wishx to reflect
     Extended Tcl's new binary name.  Also find user "sybase" home
     directory in "ypcat passwd" or /etc/passwd if SYBASE environment
     variable is not set.
     Change the "Execute" menu button to "Cancel" while the SQL is
     exec'ed to cancel long running queries.

     Change other samples to exec /usr/local/bin/wishx.

     
--------------------------------------------------------------------------------

Version 2.0, October 1993

     Support for Tcl 7.0 - a few minor changes to the existing code.
     Added ?appname? argument on sybconnect from Jan Hendrik.
     Changed sizing of buffer in getting server messages.
     Changed malloc/free to ckalloc/ckfree if using TCL_MEM_DEBUG

     Wisql now called wisqlite & changed to Tk 3.3 new pack syntax.
     De Clarke's UCO Wisql included.

     New - Makefile and appinit sed script.

--------------------------------------------------------------------------------

Version 2.1, February 1994

     Added "commands" option to sybnext;  Sybtcl_Init() now returns (int).

     wisqlite - uses new sybnext when possible
     De Clarke's UCO Wisql included.

--------------------------------------------------------------------------------

Version 2.11, April 1994

     change sybtcl.c - allow sybcols to return column names on empty result set.

     De Clarke's UCO Wisql included.

--------------------------------------------------------------------------------

Version 2.2, October 1994

     change sybtcl.c - now allows real numeric nulls ("") to be returned,
     "default" is now used to set previous behavior (potential incompatibility).
     can format date columns to a specific format.  clean up remainder of
     external function names.

     update man page.

     minor changes to wisqlite: include command ring buffer from Oratcl's wosql;
     set null value dialog.

     change make/install procedure to use autoconf.  

     De Clarke's latest UCO Wisql included.

--------------------------------------------------------------------------------

Version 2.3, August, 1995
    changes to sybtcl.c - change behavior of sybnext when dbresults returns 
    FAIL (no error); allow sybcancel to cancel anytime, not just on previous 
    success; allow optional interfaces file parameter ?ifile? on sybconnect;
    change sybnext with tcl-commands to return on crossing from REG_ROW to
    compute rows, compute row is buffered to be returned on next sybnext;
    added "async" option to sybsql, sybpoll command to check results;
    added some casts to make gcc happy; small changes for Tcl 7.4 
    (remove need for tclUnix.h/tclPort.h)  set dbversion to enable system
    10 types numeric & decimal;  added handling for float types, with
    optional user defined precision in sybmsg(floatprec)
 
    wisqlite - added selection handler bindings from wosql.  change pack
    order so that broken window managers won't cut off widgets on bottom.
    add option dialog to set floatprec

    changes configure.in to find tcl7.4/tk4.0, support newer autoconf
    macros.  Added hunt for -lsocket -lnsl to configure.in, added to
    makefile for tclsh target lib.

--------------------------------------------------------------------------------

Version 2.4, May, 1996
    changes to sybtcl.c - execute dbsetopt() only on change of sybmsg(maxtext,
    and cancel results so that rep server/open servers won't complain.  malloc
    buffer of msgtext in msghandler so it can grow large.  added 
    sybmsg(fixedchar) so trailing spaces from char/varchar won't be trimmed,
    allows stored procedure text to be extracted correctly.  Add call to
    Tcl 7.5 Tcl_PkgProvide() to declare package info.
    make floats really look like floats, add .0 if needed, so that float value
    can be used in expr without expr thinking it is too big for an int.
    fix sybnextall to quote two occurances of substitution char, and to
    accept a user defined substitution char.

    changes to wisqlite - use sybmsg(fixedchar) to display stored procedure
    text without crunching spaces.  add package require to force
    autoloading Sybtcl shared lib.

    New! sybtcl-capi - use Sybtcl from C, giving a simple interface over
    DB-Lib.  written as a quick hack (Hi Roger!) to enable Sybtcl use from
    other languages/environments.  i haven't done a lot of testing with it,
    so feedback is welcome.

    changes to Makefile/configure - nearly a total rewrite, should allow
    Sybtcl to be nearly independent of Tcl/Tk/TclX source directories.  Relies
    on Tcl/Tk/TclX to be installed properly, using tclConfig.sh (et.al) to
    get version numbers, library info, tclAppInit.c files, etc.  Also build
    libSybtcl.so on request, using Sybase shared lib also.  Installs or
    updates and pkgIndex.tcl files in lib/tclx.x


--------------------------------------------------------------------------------

