Hi, Is there anyone out there using the SQL backend in production? Would you be really sad if I redesigned it? Here's what I'm thinking: a) split into per-DB backends, i.e. "sqlite", "mysql", "pgsql". b) one sqlite file per database (same path as current DBs) c) one connection per database (both sqlite and others) - so transactions are separate per database, but only one transaction per database per process. Same as every other backend. d) configurable DSN rather than 'file name' in the fname parameter, so you can use different databases for different things. In sqlite's case, it would be a standard table name in the given file instead. That about covers it. And if anyone has put together any other backends, I'm interested. I think a memcached backend would be particularly popular, especially if you wanted to share tlscache around and stuff. I have some initial work standarising APIs a bit more and adding documentation of the cyrusdb "interface", nailing down some more behaviours, at: https://github.com/brong/cyrus-imapd/tree/cyrusdb Bron. ---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/