cli: change the data structure for notmuch address deduplication
authorJani Nikula <jani@nikula.org>
Fri, 25 Sep 2015 16:48:20 +0000 (19:48 +0300)
committerDavid Bremner <david@tethera.net>
Sat, 26 Sep 2015 10:37:54 +0000 (07:37 -0300)
commitb8f4e7da3d61733fb47111b162ccabb967a3661e
treeb584cee3b89fd0cbabe0833528e4f5d99fd58c7c
parentbcb695a716bf28691ac21f6faa56e93fd3210486
cli: change the data structure for notmuch address deduplication

Currently we key the address hash table with the case sensitive "name
<address>". Switch to case insensitive keying with just address, and
store the case sensitive name and address in linked lists. This will
be helpful in adding support for different deduplication schemes in
the future.

There will be a slight performance penalty for the current full case
sensitive name + address deduplication, but this is simpler as a whole
when other deduplication schemes are added, and I expect the schemes
to be added to become more popular than the current default.

Aparet from the possible performance penalty, the only user visible
change should be the change in the output ordering for
--output=count. The order is not guaranteed (and is based on hash
table traversal) currently anyway, so this should be of no
consequence.
notmuch-client.h
notmuch-search.c