John Fremlin's blog: manardb not borked

Posted 2010-01-11 06:15:00 GMT

manardb had a teething problem on release, because it depended on the mmap in the osicat library, which was broken, giving this error

The value -134328320 is not of type (UNSIGNED-BYTE 64).
   [Condition of type TYPE-ERROR]
Backtrace:
  0: (OSICAT-POSIX:MMAP #.(SB-SYS:INT-SAP #X00000000) 4096 3 1 4 0)
  1: (MANARDB::MTAGMAP-OPEN #<MANARDB::MTAGMAP >)[:EXTERNAL]
This small issue (of signedness) is fixed in the osicat Git HEAD, and I'd like to opine that osicat is a nice clean library that more people should use instead of doing their syscalls by hand.

Anyway, the tests all pass

CL-USER> (asdf:operate 'asdf:load-op 'manardb-test) (manardb.test:test-all-manardb)
................
#<test-run: 24 tests, 3421731 assertions, 0 failures (0 expected) in 61.84 sec>

Note that SBCL does not seem to support bound inline declarations (in contravention of the spec, unless I am misreading it), so it gives a style warning.

manardb/src/box.lisp:65:19:
  style-warning: undefined function: MANARDB::ELEM
This is quite harmless.

[manardb is a memory-mapped persistent database for Lisp. It has an extensive test suite and some documentation and is being used right now. Give it a shot!]

Post a comment