History log of /dovecot/src/plugins/fts/fts-expunge-log.h
Revision Date Author Comments Expand
ea125b1c394cb6a281c6120f5396faa11fcb268b 12-Sep-2016 Phil Carmody <phil@dovecot.fi>

plugins: fts - replace i_assert under _expunge_log_subtract with warning (API change) The helper whose interface is changing currently has no other known clients (there's little need for it to be exposed at all). This should never happen, but if it does, just tally the number of times it happened, and squirt out a warning message after the whole subtract. If it happens at all, there's no reason not to expect a lot, so only warn once per file. In particular - do not assert crash when this is seen - it has been seen on live test systems where file corruption seems to have occured. As this can only be associated with corrupt fts indexes, seeing this error implies that the whole FTS index should be rebuilt for that user. Signed-off-by: Phil Carmody <phil@dovecot.fi>

b22dcc3c0c84919fe500cf877d8dfd9bddbef76f 15-Mar-2016 Phil Carmody <phil@dovecot.fi>

plugins: fts-expunge-log - subtraction from and dumping of a flattened log This permits you to read a whole expunge log, remove records from the in-memory copy of it, and write it back out to file. NOTE: Inefficiently implemented. The hash is effectively rebuilt, this time backed by a file, a record at a time, which implies O(n^2) possibilities. Signed-off-by: Phil Carmody <phil@dovecot.fi>

5433d56d338db3948bf7bc22ef1daaba147dbb5d 21-Jan-2015 Phil Carmody <phil@dovecot.fi>

plugins/fts: expunge-log - query function to lookup GUID/UID Constant time hash lookup for GUID. Log time lookup in seq_range array. Signed-off-by: Phil Carmody <phil@dovecot.fi>

8d4428cee277a9a84450a8c6771f7a4dc68638cf 21-Jan-2015 Phil Carmody <phil@dovecot.fi>

plugins/fts: expunge-log - create flattened in-RAM log with no backing storage Combine each record in a source expunge log. This source log does not get deleted afterwards. Signed-off-by: Phil Carmody <phil@dovecot.fi>

2442c230b6c95b20d26ead752f9de1cb40544a53 21-Jan-2015 Phil Carmody <phil@dovecot.fi>

plugins/fts: expunge-log - permit append helpers to have no log to write to This is for creating an in-RAM, later queriable, structure which you do not want to be written to backing storage. As when you've finished with one, there's no concept of a "commit", provide an alternative "abort" way out. These are identical apart from the call to the write() routine, so refactor the two. Signed-off-by: Phil Carmody <phil@dovecot.fi>

de62ce819d59a529530da4b57be1b8d6dad13d6b 25-Aug-2011 Timo Sirainen <tss@iki.fi>

Moved GUID code to liblib. Use guid_128_t type consistently everywhere.

/dovecot/src/doveadm/doveadm-dump-index.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail-mailbox-status.c /dovecot/src/doveadm/doveadm-mail-search.c /dovecot/src/dsync/dsync-brain-msgs.c /dovecot/src/dsync/dsync-data.c /dovecot/src/dsync/dsync-data.h /dovecot/src/dsync/dsync-worker-local.c /dovecot/src/dsync/test-dsync-brain-msgs.c /dovecot/src/dsync/test-dsync-common.c /dovecot/src/dsync/test-dsync-common.h /dovecot/src/dsync/test-dsync-proxy-server-cmd.c /dovecot/src/dsync/test-dsync-proxy.c /dovecot/src/imap/imap-status.c /dovecot/src/lib-index/mail-index-transaction-update.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/mailbox-log.h /dovecot/src/lib-index/test-mail-index-transaction-finish.c /dovecot/src/lib-index/test-mail-index-transaction-update.c /dovecot/src/lib-lda/mail-deliver.c /dovecot/src/lib-lda/mail-deliver.h /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-storage/index/dbox-common/dbox-file-fix.c /dovecot/src/lib-storage/index/dbox-common/dbox-save.c /dovecot/src/lib-storage/index/dbox-common/dbox-save.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-save.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-sync.c /dovecot/src/lib-storage/index/dbox-single/sdbox-copy.c /dovecot/src/lib-storage/index/dbox-single/sdbox-file.c /dovecot/src/lib-storage/index/dbox-single/sdbox-save.c /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.c /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.h /dovecot/src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c /dovecot/src/lib-storage/index/index-attachment.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-sync-changes.c /dovecot/src/lib-storage/index/index-sync-changes.h /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-sync-index.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/list/index-mailbox-list-status.c /dovecot/src/lib-storage/list/index-mailbox-list.h /dovecot/src/lib-storage/list/mailbox-list-fs.c /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail.c /dovecot/src/lib-storage/mailbox-guid-cache.c /dovecot/src/lib-storage/mailbox-guid-cache.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib-storage/test-mailbox-get.c /dovecot/src/lib/Makefile.am /dovecot/src/lib/guid.c /dovecot/src/lib/guid.h /dovecot/src/lmtp/client.c /dovecot/src/plugins/fts-lucene/doveadm-fts-lucene.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-lucene/lucene-wrapper.cc /dovecot/src/plugins/fts-lucene/lucene-wrapper.h doveadm-dump-fts-expunge-log.c fts-api-private.h fts-api.c fts-expunge-log.c fts-expunge-log.h
cc2954ad6d8ba0509b870d773ba4b6b16353763c 12-Aug-2011 Timo Sirainen <tss@iki.fi>

fts: Added generic "fts expunge log". This is intended to be used by fts backends that can't directly expunge from the index, but rather need to log the expunges and do the actual expunging later. Added also "doveadm dump" support for the log.