This is the latest version of the libpgtcl distribution from NeoSoft, Inc. It contains several enhancements over the normal code from Postgresql. Some day I'll figure out how to use CVSup to upload this version to them. 10/23/97: This version contains further improvements to allow Tcl I/O (ie. gets, put, and read) to the connection handle. See libpgtcl/README for more information. This is a src/libpgtcl and src/libpq from Postgresql 6.0. It has been tested with Postgresql6.0 using Tcl7.5, Tcl7.6. Some support exists for Tcl8. (Tcl8 once again changes the channel driver interface). It should work with later versions of Postgresql as well (I have no idea how many others are working on the Tcl interface). What is different about this driver is that the connection is implemented via the channel driver mechanism, which makes for some interesting new possibilities. For example, I hope to produce a version soon (with minor modifications to libpq) to allow a request to be transmitted and then pick up the result asynchronously via a Tcl fileevent. Another thing that is immediately available because of the channel drivers is that you can transfer and share postgres connections among slave interpreters (vital to NeoSoft's purposes). In fact, you can close a postgresql connection handle just like any other socket or file, and it is identical to executing a pg_disconnect. Note that only database connections are channels, not result handles. There are a few other fancy things not fully implemented, such as setting a soft and hard limit to the number of result handles (to train beginners to clear their result handles after they are finished with them), and interfaces to change the soft limit. This libpgtcl also supports the package facility, (ie. it executes Tcl_PkgProvide() when it is loaded). To install: go to your postgresql source directory and rm libpgtcl/*.[ch] (or move them off to a safe place). From src, untar pgtcl.tar.gz. Note it does not contain a Makefile; I expect you'll want to use your own Makefile vs. the various hacks I've made (ie. non-portable to generate shared libraries). Then "make" and "make install" as usual. This is contributed software, and no warranty is given, expressed or implied. These changes are contributed to the PostgreSQL community at no charge, and as such, may be used under the standard PostgreSQL copyright. Randy Kunkee NeoSoft, Inc.