Page by [Theo Verelst] In the [Bwise] library of routines (which is a fairly small file) there are routines which I made some not so incredibly raining afternoon and then some more when faced with a file with various data items which weren't easy to load into Lotus notes. The reason it is in the Bwise lib is that they can easily run in parallel, and that they can be used in a bwise graphical block which then represents a searchable database. First, the ideas. Mainly, tcl is well equiped to deal with very (in the line of tiny to mega huge) large amounts of list data, as are even modern PC's. Typing at 300 cpm, which I probably couldn't in a sustained way, one human computer owner would be able to produce 300*60*10 equals 175 kilobytes of input data in a long work day. So a database dealing with a days work of data would easily be an in core database on even a pretty old and cheap PC. Modernly speaking, its a lot worse, putting your stamp collection in a database you could spent ten years of hard work, and would end up with 300*60*10*365*10 equals 626 megabytes of data. In ten years from now, THAT will fit easily in a PC's main memory, too, unless we're all nuked and the microprograms of the chip plants are erased forever by emp. So why bother investing in difficult to program maintain and use disc based database systems for domestic and mild use. Let those bearings get a rest. (gna gna, we'll teach them who'se the fastest and the most associative by design, too) I know databases aren't just typing and associativeness, but I liked to use the strong tcl machinery to have one main list, called dbvar (all routines are prefixed with db, this was before namespaces, or I just wasn't into them) which contains sublists, which are the equivalent of entries in a traditional database, which have sublists which contain field, name tuples in parallel with traditional fields in a record. Or was that records have entries with fields? I forgot. Anyhow, I made a three level list into the main data structure containing a database which can, I tested in the past on Mac G3's and simple enough compaq pc's, contain tens of thousands of records and be searched extensively, without keys, in seconds. On a contemporary PC, with hundreds of megabytes of main memory and far over a gig clock rates, that figure should be a lot better even, though I didn't test. ---- [LV] so you build an in core database of data, and do things with it. Then you have some sort of serialization process so it can be written out and read back in later? ---- [LV] What other incore database technologies exist? Is [SQLite] one? [Metakit] is a disk based database. ---- [TV] I made an in code synthesizer sound database years ago which was in core for the ST, which of course wasn't in tcl. I don't know another, I didn't see one when browsing a significant portion of tcl resources that means. The rest will be mainly answered above, probably. The serialisation is possible based on list entries, I use a variable for the 'currently edited' field. ---- [Category Database]