Purpose: A collection of notes on interacting with INGRES databases using Tcl.
for a Tcl extension written using the Ingres C API.
: My day job requires that I regularly interact with the Ingres database. So this is a collection of notes about using Ingres with Tcl.
Background: Several standard tools exist for interacting with Ingres, including:
- qbf - Query by forms
- isql - Interactive terminal monitor (itm)
- sql - Terminal monitor (tm)
I have listed these in order of simplicity, easiest first (most useful last!).QBF
being forms based method of interaction, the most useful of the standard tools is the sql
terminal monitor command line based interface. The sql
interface requires that the user interacts by typing queries on the command line, followed by instructions such as \p (print query), \g or \go (execute query). All output from transactions is formatted in a tabular format with certain notifications that the SQL is Executing ...
or has returned (2 rows)
, etc., and prompts for the user to continue
. This simple, consistent input/notifications/output format allows us to write a layer in Tcl to handle interaction with the database. In theory, expect
would be a good candidate for this interaction, but writing a layer in pure Tcl (and using core tcllib functionality) provides for more diverse imlementation options.
See INGRES - tm wrapper
for basic session enabled Tcl code.
I have written simple Ingres interface for Tcl, more info is available here: IngTcl