||File System Database
||2003-03-03 02:28:13 GMT
(Projects of this owner)
FSDB is a file system data base. FSDB provides a thread-safe, process-safe Database class which uses the native file system as its back end and allows multiple file formats and serialization methods. Users access objects in terms of their paths relative to the base directory of the database. It's very light weight (the state of a Database is essentially just a path string, and code size is very small, around 1K lines of ruby).
FSDB is stable and well tested on linux and solaris. On windows, all
examples, benchmarks, and tests except the stress test
(tests/test-concurrency.rb) run correctly with the ruby 1.8.0
single-click installer edition. (The stress test does run on windows
with ruby 1.8.1 built with mingw.)
- Improved error handling and exception classes. More Errno
exceptions are now translated into FSDB-specific informative error
classes, or handled internally as appropriate.
- Fixed a bug that caused the absolute path to be used instead of the
database-relative path when searching for the Format matching the
- Since YAML is now standard with ruby, the YAML_FORMAT is now
standard with FSDB, and requiring 'fsdb/formats/yaml' is no longer
- format mapping example in examples/formats.rb.
- drb client-server example in examples/client.rb and
- browse, edit, etc. no longer require a block
- Database. shortcut for Database.new
- rewrote test/test-concurrency.rb so it can run on windows. (Note
that the benchmark times come out a bit slower now, as a result,
even though FSDB itself is not slower.)
- test/test-fsdb.rb improved.
- Windows fixes (to the point of being usable but still not perfect).
- BINARY_FORMAT template.