Article 9100 of comp.lang.perl: Xref: feenix.metronet.com comp.lang.perl:9100 Path: feenix.metronet.com!news.ecn.bgu.edu!usenet.ins.cwru.edu!howland.reston.ans.net!spool.mu.edu!news.clark.edu!netnews.nwnet.net!news.uoregon.edu!gaia.ucs.orst.edu!ruby.oce.orst.edu!tardis.co.uk!bill From: bill@tardis.co.uk (William Hails) Newsgroups: comp.lang.perl Subject: isqlperl 1.2 Date: Wed, 22 Dec 93 11:19:47 GMT Organization: University Computing Services - Oregon State University Lines: 106 Message-ID: <8549.9312221119@devone.tardis.co.uk> NNTP-Posting-Host: ruby.oce.orst.edu Originator: root@ruby.oce.orst.edu I've just released version 1.2 of isqlperl. It's available by anonymous ftp from: ftp.demon.co.uk [158.152.1.68] in pub/perl/db/isqlperl/isqlperl-1.2.shar.Z There are quite a lot of new features, mostly things that I've found I needed to add to make it more useful to me. Here's a repeat of the 1.1 announcement, followed by a list of changes: --------------------------------------------------------------------- There is now a perl interface to Informix SQL, available by anonymous ftp from ftp.demon.co.uk in /pub/perl/db/isqlperl. You'll need perl already installed, and you'll need Informix ESQL/C installed to build it also. This is *not* the notorious (and mythical) Infoperl, rather it's my reaction to finally discovering that Infoperl never existed. Nor is it DBperl compliant, so it will undoubtedly be supplanted by DBperl in the not too distant future. I've tested it on Informix 4.10 se and ol. Enjoy. --------------------------------------------------------------------- Changes from 1.1 to 1.2 $isql_code evaluates to a string error message when evaluated in a string context, to a number in a numeric context. Support for Byte and Text (Blobs), on insert and select, but not on update :--( Paramaterised statements (`?'s in string statements). Undef values equate to nulls if supplied as separate parameters. Blobs are also passed in this way. New function &isql_titles($cid) returns an array of column names associated with the open cursor $cid or the number of fields in a scalar context. minor bug fix re. execute `sometimes' freeing a database statement. Added a man page. Changed error on ``too many open cursors'' from -104 (too many open files) to -276 (cursor not found). Added &isql_databases() - returns list of databases. New variable $isql_attrib replaces $isql_maxcursors. &isql_open() now accepts non-select statements and returns a statement id which can be executued using &isql_execute($id), with optional parameters (&isql_execute() still accepts string statements to execute immediately, after parameter substitution). New function &isql_type($id) returns the type of a statement id created by &isql_open(), as a string. For example 'SELECT'. New function &isql_columns($id) returns a list of the data types associated with the $id. &isql_fetch() can now accept a string select statement - opens a cursor, fetches the first row, closes the cursor, and returns the row. New variable $isql_autoclose if set non-zero automatically closes select cursors on reaching last row. Renamed Winthrop Chans isql script to sql (apologies in advance) and extended it somewhat to demo 1.2 features (and to be more useful). added &isql_statement($cid) - returns associated statement. added $isql_database - current database name. $isql_transactions - true if database has transactions. $isql_ansi - true if database is mode ANSI $isql_online - true if database is OnLine Added a super-fast :-) finderr.pl library module to replace the rather slow informix supplied script. --------------------------------------------------------------------- -- Cheers Bill =========================================================================== | Bill Hails | Reisner's rule of conceptual inertia: | | C.L.I. Connect Ltd. | | | 19, Quarry St., Guildford, Surrey | If you think big enough, you'll never | | GU1 3UY. Tel (UK) 0483 300 200 | have to do it. | ===========================================================================