GEB Overview

Basic description

Spreadsheet-like display of db files and their tables

Other windows for blocks of code, single lines of Tcl or SQL, Alter Table, Views & Indices

Started off as a means of keeping data and Tcl code together

Grew into (fairly) full-featured database manipulation tool (replacement for command-line tool)

Tables used

tclcode -- used for blocks of code and comments

cmd_history -- for command, search, replace, view, index history (i.e., one-liners)

tclrows (temp) -- used for keeping track of code in tclcode tables

blobs (optional) -- used for storing binary files

How to get started

GEB Windows -- click on thumbnail

File windows  File windows

Table windows  Table Windows

View and Index windows  View and Index Window

Edit/Run window Edit and run Tcl code Window

Special purpose windows



Menus

File menu

Attach/detach file

Vacuum file

Import/export CSV file (\"normal\" database table)

Import/export text file (single-element table)

Import/export blob file (file name saved for restoring)

Table menu

New

Drop

Alter

Copy

Import/export CSV

Run

Single line of SQL

Single line of Tcl

. Both the above saved in cmd-history table

Help menu

Show this help

Itty Bitty Nitty Gritty

All procs and globals in GEB namespace

unknown handler looks in tclcode for undefined procs

. If there is row with procname value equal to the unqualified undefined proc, eval the tcl value

. If that eval defines the proc, execute it with its original arguments

All db metadate kept in a few global arrays

. Except names of entries in tclcode, which may need to be resorted (so kept in TEMP db)

main.tclcode has a column for version which is currently ignored

. It may get used if I can decide what would be most useful