SQlite backend series updated

Sebastian Spaeth Sebastian at SSpaeth.de
Tue Mar 29 04:07:06 UTC 2011


I know that some people want this, so I worked on the sqlite branch and
it works now for me.

The reason for using sqlite is that we currently rewrite the
(potentially some MB large) LocalStatus cache for every modification
that we perform. By default we first write to a tmp file, call fsync,
move to final location and call fsync again. For every change. This
hurts when someone has very large maildirs.

I won't propose this series for inclusion in this cycle, although it is
optional and configurable (off by default). There is more
than enough new stuff in this release, I guess, so I don't send the
patch series, but you can grab it from the feature/sqlite-LocalStatus
branch in my offlineimap repository. I tested it, and it works for me.

The feature is optional and can be configured by setting
status_backend=sqlite in the local [Repository ...] section. (Yes, it
makes probably more sense in the [Account ...] section, doesn't it ?).

When using it, it will create a new folder
~/.offlineimap/Account-XXX/LocalStatus-sqlite next to the existing
~/.offlineimap/Account-XXX/LocalStatus folder (which it will leave
untouched, so that has to be removed manually if people want to switch
permanently).

Note, that there is still a potentially large plain text file mapping
UIDs when you sync IMAP<->IMAP which I haven't touched yet.

This builds on the original patches by Stewart Smith and Rob Browning
but has been modified quite a bit.

Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/offlineimap-project/attachments/20110329/a873c406/attachment.pgp>


More information about the OfflineIMAP-project mailing list