FileDictionary: Tiny Squeak Database
Last updated at 12:20 pm UTC on 9 July 2018
2006
Simple database structure for Squeak
FileDictionary ( http://guzdial.cc.gatech.edu/st/filedict.8May1231pm.cs ) is a super-simple database for Squeak.
Basically, you can use it like a Dictionary, except that you
- (a) must create it with a fileNamed: method and
- (b) you must explicitly open and close the FileDictionary.
The parts of the Dictionary protocol that FileDictionary understands:
at:
at:put:
keysDo:
do:
FileDictionary actually uses two files. The data (values) will be stored in the filename provided when creating the FileDictionary. The index into the database will be stored in a file with the same name, adding on the suffix ".toc" (for Table Of Contents). The TOC file is what gets read at open and written at close.
More about this: http://www.cc.gatech.edu/fac/mark.guzdial/squeak/filedict.html
http://guzdial.cc.gatech.edu/st/dbtools.st is a better version (a couple of minor updates).
http://guzdial.cc.gatech.edu/st/SmartFileDictionary.st is a version that uses SmartRefStream, so it can handle just about any kind of object being stored (including cycles, references to classes, etc.) – Mark Guzdial 3/4/99
A local copy of the code
filedict.8May1231pm.cs