Recommend a database manager for use in writing Fx extensions?

I am modifying one of my extensions and need to maintain a small database (typically 10-30 records, but probably never more than 100). I could use sqlite but that seems to be an overkill in this case (plus AMO insists on asynchronous calls to mySQL databases and I prefer synchronous routines).

I’ve done a little research and found a small database library called TaffyDB that seems to be what I need.

I have two questions:

  1. Can anyone recommend a good, small, fast database manager (other than TaffyDB) that would work well in Fx extensions?
  2. What is AMO's policy on using third-party libraries in extension code?

Thanks in advance.

Probably just write a file for yourself and then use OS.File, I would actually define types like if i had 100 entries max and each row can only be an integer, then i would use the fseek abilities of OS.File to like read the 80th row without having to read from the start of the file.

This is accomplished by first doing:

  1. OS.File.open which gives you this functionality:

    _closeResult:null
    _closed:null
    _fdmsg:212
    proto:Object
    close:close()
    flush:flush()
    getPosition:getPosition()
    read:read()
    setDates:File.prototype.setDates()
    setPermissions:setPermissions()
    setPosition:setPosition()
    stat:stat()
    write:write()

  2. So then you use .setPosition

  3. Then you use .read

Here’s another way in there os.file tests module: https://dxr.mozilla.org/mozilla-central/source/toolkit/components/osfile/tests/mochi/main_test_osfile_async.js#239

I’ll just note that synchronous file system access of all sorts is discouraged by reviewers. It doesn’t matter if it’s sqlite or something else.