git-annex/Database
Joey Hess 4da763439b
use export db to correctly handle duplicate files
Removed uncorrect UniqueKey key in db schema; a key can appear multiple
times with different files.

The database has to be flushed after each removal. But when adding files
to the export, lots of changes are able to be queued up w/o flushing.
So it's still fairly efficient.

If large removals of files from exports are too slow, an alternative
would be to make two passes over the diff, one pass queueing deletions
from the database, then a flush and the a second pass updating the
location log. But that would use more memory, and need to look up
exportKey twice per removed file, so I've avoided such optimisation yet.

This commit was supported by the NSF-funded DataLad project.
2017-09-04 14:39:32 -04:00
..
Keys refactor 2016-10-17 14:58:33 -04:00
Export.hs use export db to correctly handle duplicate files 2017-09-04 14:39:32 -04:00
Fsck.hs Work around sqlite's incorrect handling of umask when creating databases. 2017-02-13 17:39:16 -04:00
Handle.hs Work around sqlite's incorrect handling of umask when creating databases. 2017-02-13 17:39:16 -04:00
Init.hs Work around sqlite's incorrect handling of umask when creating databases. 2017-02-13 17:39:16 -04:00
Keys.hs Work around sqlite's incorrect handling of umask when creating databases. 2017-02-13 17:39:16 -04:00
Queue.hs Work around sqlite's incorrect handling of umask when creating databases. 2017-02-13 17:39:16 -04:00
Types.hs factor non-type stuff out of Key 2017-02-24 13:42:30 -04:00