dovecot-2.2: fts-solr: "highest UID for mailbox" lookup was actu...

dovecot at dovecot.org dovecot at dovecot.org
Fri Aug 7 10:32:43 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/91005181b997
changeset: 18922:91005181b997
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Aug 07 13:32:02 2015 +0300
description:
fts-solr: "highest UID for mailbox" lookup was actually returning "highest UID for user"
If the default operator was OR instead of AND. This affected indexing mails
in newly created mailboxes.

diffstat:

 src/plugins/fts-solr/fts-backend-solr-old.c |  4 ++--
 src/plugins/fts-solr/fts-backend-solr.c     |  2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diffs (28 lines):

diff -r c143d037fd54 -r 91005181b997 src/plugins/fts-solr/fts-backend-solr-old.c
--- a/src/plugins/fts-solr/fts-backend-solr-old.c	Fri Aug 07 12:58:30 2015 +0300
+++ b/src/plugins/fts-solr/fts-backend-solr-old.c	Fri Aug 07 13:32:02 2015 +0300
@@ -306,10 +306,10 @@
 	box_name = fts_box_get_root(box, &ns);
 
 	mailbox_get_open_status(box, STATUS_UIDVALIDITY, &status);
-	str_printfa(str, "uidv:%u+box:", status.uidvalidity);
+	str_printfa(str, "uidv:%u+AND+box:", status.uidvalidity);
 	solr_quote_http(str, box_name);
 	solr_add_ns_query_http(str, backend, ns);
-	str_append(str, "+user:");
+	str_append(str, "+AND+user:");
 	solr_quote_http(str, ns->user->username);
 
 	pool = pool_alloconly_create("solr last uid lookup", 1024);
diff -r c143d037fd54 -r 91005181b997 src/plugins/fts-solr/fts-backend-solr.c
--- a/src/plugins/fts-solr/fts-backend-solr.c	Fri Aug 07 12:58:30 2015 +0300
+++ b/src/plugins/fts-solr/fts-backend-solr.c	Fri Aug 07 13:32:02 2015 +0300
@@ -202,7 +202,7 @@
 	if (fts_mailbox_get_guid(box, &box_guid) < 0)
 		return -1;
 
-	str_printfa(str, "box:%s+user:", box_guid);
+	str_printfa(str, "box:%s+AND+user:", box_guid);
 	if (_backend->ns->owner != NULL)
 		solr_quote_http(str, _backend->ns->owner->username);
 	else


More information about the dovecot-cvs mailing list