README
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. libpgtcl is a library that implements Tcl commands for front-end
  2. clients to interact with the Postgresql 6.3 (and perhaps later)
  3. backends.  See libpgtcl.doc for details.
  4.   
  5. For an example of how to build a new tclsh to use libpgtcl, see the
  6. directory ../bin/pgtclsh
  7. Note this version is modified by NeoSoft to have the following additional
  8. features:
  9. 1. Postgres connections are a valid Tcl channel, and can therefore
  10.    be manipulated by the interp command (ie. shared or transfered).
  11.    A connection handle's results are transfered/shared with it.
  12.    (Result handles are NOT channels, though it was tempting).  Note
  13.    that a "close $connection" is now functionally identical to a
  14.    "pg_disconnect $connection", although pg_connect must be used
  15.    to create a connection.
  16.    
  17. 2. Result handles are changed in format: ${connection}.<result#>.
  18.    This just means for a connection 'pgtcl0', they look like pgtcl0.0,
  19.    pgtcl0.1, etc.  Enforcing this syntax makes it easy to look up
  20.    the real pointer by indexing into an array associated with the
  21.    connection.
  22. 3. I/O routines are now defined for the connection handle.  I/O to/from
  23.    the connection is only valid under certain circumstances: following
  24.    the execution of the queries "copy <table> from stdin" or
  25.    "copy <table> to stdout".  In these cases, the result handle obtains
  26.    an intermediate status of "PGRES_COPY_IN" or "PGRES_COPY_OUT".  The
  27.    programmer is then expected to use Tcl gets or read commands on the
  28.    database connection (not the result handle) to extract the copy data.
  29.    For copy outs, read until the standard EOF indication is encountered.
  30.    For copy ins, puts a single terminator (.).  The statement for this
  31.    would be
  32. puts $conn "\."      or       puts $conn {.}
  33.    In either case (upon detecting the EOF or putting the `.', the status
  34.    of the result handle will change to "PGRES_COMMAND_OK", and any further
  35.    I/O attempts will cause a Tcl error.