mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-28 17:01:49 +02:00
44f64dd3ea
standard targets and behaviour. Replaced Makefile.in's with Makefile's and declared the respective variables in Makefile.global. maintainer-clean target now available at top level, although it does not work in the backend tree yet. Cleanup pass over Makefile.shlib, renamed some targets and variables. The shared library symlink tests are now done by make, not the shell. ecpg: Remove one warning in sloppy flex output. PL/Perl and Perl interface: the MakeMaker documentation is confusing, the realclean target *does* "delete derived files", but it also uninstalls them. Don't use that. The submake targets in the various bin directories that update libpq should `make all', not `make libpq.a'. That is a) unportable, and b) doesn't build the shared library. |
||
---|---|---|
.. | ||
libpgtcl.h | ||
Makefile | ||
pgtcl.c | ||
pgtclCmds.c | ||
pgtclCmds.h | ||
pgtclId.c | ||
pgtclId.h | ||
README |
libpgtcl is a library that implements Tcl commands for front-end clients to interact with the Postgresql 6.3 (and perhaps later) backends. See libpgtcl.doc for details. For an example of how to build a new tclsh to use libpgtcl, see the directory ../bin/pgtclsh Note this version is modified by NeoSoft to have the following additional features: 1. Postgres connections are a valid Tcl channel, and can therefore be manipulated by the interp command (ie. shared or transfered). A connection handle's results are transfered/shared with it. (Result handles are NOT channels, though it was tempting). Note that a "close $connection" is now functionally identical to a "pg_disconnect $connection", although pg_connect must be used to create a connection. 2. Result handles are changed in format: ${connection}.<result#>. This just means for a connection 'pgtcl0', they look like pgtcl0.0, pgtcl0.1, etc. Enforcing this syntax makes it easy to look up the real pointer by indexing into an array associated with the connection. 3. I/O routines are now defined for the connection handle. I/O to/from the connection is only valid under certain circumstances: following the execution of the queries "copy <table> from stdin" or "copy <table> to stdout". In these cases, the result handle obtains an intermediate status of "PGRES_COPY_IN" or "PGRES_COPY_OUT". The programmer is then expected to use Tcl gets or read commands on the database connection (not the result handle) to extract the copy data. For copy outs, read until the standard EOF indication is encountered. For copy ins, puts a single terminator (\.). The statement for this would be puts $conn "\\." or puts $conn {\.} In either case (upon detecting the EOF or putting the `\.', the status of the result handle will change to "PGRES_COMMAND_OK", and any further I/O attempts will cause a Tcl error.