changeset 9292:96b764649cbb HEAD

fts: Fixed crashing with Squat. A better solution would be for Squat to use existing mailboxes' Squat indexes, but for now this isn't done.
author Timo Sirainen <tss@iki.fi>
date Fri, 07 Aug 2009 15:12:04 -0400
parents 682e09eb1e8f
children c50f133f0acc
files src/plugins/fts-solr/fts-backend-solr.c src/plugins/fts/fts-api-private.h src/plugins/fts/fts-storage.c
diffstat 3 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/fts-solr/fts-backend-solr.c	Fri Aug 07 14:57:10 2009 -0400
+++ b/src/plugins/fts-solr/fts-backend-solr.c	Fri Aug 07 15:12:04 2009 -0400
@@ -796,7 +796,7 @@
 
 struct fts_backend fts_backend_solr = {
 	MEMBER(name) "solr",
-	MEMBER(flags) 0,
+	MEMBER(flags) FTS_BACKEND_FLAG_VIRTUAL_LOOKUPS,
 
 	{
 		fts_backend_solr_init,
--- a/src/plugins/fts/fts-api-private.h	Fri Aug 07 14:57:10 2009 -0400
+++ b/src/plugins/fts/fts-api-private.h	Fri Aug 07 15:12:04 2009 -0400
@@ -43,7 +43,9 @@
 	/* If set, the backend is used for TEXT and BODY search
 	   optimizations. Otherwise only TEXT_FAST and BODY_FAST are
 	   optimized. */
-	FTS_BACKEND_FLAG_SUBSTRING_LOOKUPS	= 0x01
+	FTS_BACKEND_FLAG_SUBSTRING_LOOKUPS	= 0x01,
+	/* Backend supports virtual mailbox lookups. */
+	FTS_BACKEND_FLAG_VIRTUAL_LOOKUPS	= 0x02
 };
 
 struct fts_backend {
--- a/src/plugins/fts/fts-storage.c	Fri Aug 07 14:57:10 2009 -0400
+++ b/src/plugins/fts/fts-storage.c	Fri Aug 07 15:12:04 2009 -0400
@@ -441,7 +441,8 @@
 		return 0;
 	}
 
-	if (fctx->fbox->virtual)
+	if (fctx->fbox->virtual &&
+	    (fctx->build_backend->flags & FTS_BACKEND_FLAG_VIRTUAL_LOOKUPS) != 0)
 		ret = fts_build_init_virtual(fctx);
 	else
 		ret = fts_build_init_trans(fctx, fctx->t);