[ANNOUNCE] Sybtcl-2.5b2 & Oratcl-2.5b2 available

From: Tom Poindexter <tpoindex_at_nyx.net>
Date: 1997/08/11
Message-ID: <871317932.26110_at_dejanews.com>


Sybtcl-2.5b2 and Oratcl-2.5b2 are now available for download and testing.

You can find the packages at:

http://www.neosoft.com/tcl/ftparchive/sorted/databases/sybtcl-2.5b2

http://www.neosoft.com/tcl/ftparchive/sorted/databases/oratcl-2.5b2

        or

        ftp://ftp.neosoft.com/pub/tcl/sorted/databases/sybtcl-2.5b2
        ftp://ftp.neosoft.com/pub/tcl/sorted/databases/oratcl-2.5b2




What are Sybtcl & Oratcl? They are database extensions for Tool Command Language (Tcl) that allow access to Sybase and Oracle. For a complete README, follow either HTTP link noted above.

Summary of changes:



August 6, 1997
Beta 2 changes: (notes apply to both Sybtcl and Oratcl except where noted)

Sybtcl & Oratcl-Reorganized distribution directory (generic, unix, mac, win)

  " " " -Changed configure, now builds shared library by default,

                consolidate extra lib searching (-lsocket -lnsl
-ldnet_stub)

  " " " -Versioning on installed directories and libs(eg: libOratcl25.so)

  " " " -All "keywords" now also recognized as "options"; eg.

                sybsql $h $sqlstr -async; orasql $c $sqlstr -parseonly

  " " " -Wisqlite/Wosql: stripped requirement for TclX, almost portable

                to Windows now.  Menus still need some work.  Fix last
                Windows/Unix-isms

  "    "   "   -Windows DLLs precompiled for Tcl 7.6 and Tcl 8.0; new
                'install.tcl' script to pick correct dll to install.

  " " " -Man pages also shipped in HTML, Postscript, and text.

  " " " -More testing with Tcl 8.0 - works fine, still uses older

                string interface

Oratcl-Changed async behavior to include waiting for first fetch to complete.

Oratcl-check OCI return after fetch for disconnected network link (ORA-0600) Sybtcl-include Linux ELF ct-libs in ./generic/ctcompat.

To do before final release:
o Try to find someone to do Oratcl/Sybtcl port to Mac (volunteers?) o Include Mac binaries for Sybtcl/Oratcl o Clean up rest of Wisqlite/Wosql
o Write .tek files for Teki install
o Write test suites (?)



Beta 1 changes:

Sybtcl-

  • Windows NT support: Makefile and DLL included. Tested under Windows/NT only. Mac support is planned, I'm working with another Sybtcl/Mac user to get a Makefile and lib.
  • CT-Lib compatiblity layer: Sybtcl normally uses Sybase's DB-Lib interface. I wrote a DB-Lib to CT-Lib (Sybase's other interface) emulation layer. What this means is that it may be possible to port Sybtcl to Linux. So far I've tested the CT-Lib compatibility on Solaris only.
  • sybnext now accepts Tcl variables for binding: I've added the ability to bind result columns to Tcl variables. The old method of substituting columns into a code block still works. Ex:
        sybsql $h "select au_lname, au_fname from authors"
        sybnext $h { puts "$lname, $fname } "" lname 1 fname 2

  will execute the 'puts' statement for every row returned, binding the   Tcl variable 'lname' to column 1, 'fname' to column 2.

Oratcl -

  • Windows NT support: Makefile and DLL included. Tested under Windows/NT only. Is anyone game to help with a Mac port? email me.
  • Cursor variables returned from PL/SQL: The oraplexec command can now bind a cursor variable on return from PL/SQL, and fetch rows from that cursor. Ex:
        set exec_cur [oraopen $lda]
        set fetch_cur [oraopen $lda]
        oraplexec $exec_cur {begin
            open :empcursor for select empno, ename
            from emp where job = :job;
            end;
        } :job ANALYST :empcursor $fetch_cur
        orafetch $fetch_cur {puts "$num $name"} "" num 1 name 2

  • orafetch now accepts Tcl variables for binding: See the 'sybnext' example above. Tcl variables are bound to result columns for each row returned.
    • orabindexec - new command: Allows Tcl variables to be bound to Oracle :bind variables for SQL execution, taking advantage of Oracle's ability to pre-parse and cache SQL statements. Works in conjuction with new 'parseonly' option on orasql. Ex:

        orasql $cur "insert into dept values(:deptno, :dname, :loc)" parseonly

        orabindexec $cur :deptno 98  :dname  ENGINEERING  :loc TUCSON
        orabindexec $cur :deptno 99  :dname  SUPPORT      :loc DENVER

  • Asynchronous SQL execution: Allows sending SQL with immediate return. New commands 'orapoll' to check status of SQL; 'orabreak' to interrupt SQL execution on server. New 'async' option for orasql and orabindexec. Ex:
        orasql $cur "select * from emp" async
        puts -nonewline "waiting."
        while {[orapoll $cur] == ""} {
          puts -nonewline "."
        }
        puts "done"
        orafetch $cur {puts _at_0}


Enjoy!

--
Tom Poindexter
tpoindex_at_nyx.net
http://www.nyx.net/~tpoindex

-------------------==== Posted via Deja News ====-----------------------
      http://www.dejanews.com/     Search, Read, Post to Usenet
Received on Mon Aug 11 1997 - 00:00:00 CEST

Original text of this message