From c005659485ddb3036af20dc5f7babd1c664bee92 Mon Sep 17 00:00:00 2001 From: Joan Moreau Date: Wed, 3 Apr 2019 18:56:31 +0800 Subject: [PATCH] Issue #19 --- src/fts-backend-xapian.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/fts-backend-xapian.cpp b/src/fts-backend-xapian.cpp index aa86968..9f6f8cc 100644 --- a/src/fts-backend-xapian.cpp +++ b/src/fts-backend-xapian.cpp @@ -448,7 +448,7 @@ static int fts_backend_xapian_lookup(struct fts_backend *_backend, struct mailbo i_info("Query: FLAG=OR"); } - XQuerySet qs(is_and,backend->partial,true); + XQuerySet qs = new XQuerySet(is_and,backend->partial,true); const char * hdr; @@ -472,31 +472,31 @@ static int fts_backend_xapian_lookup(struct fts_backend *_backend, struct mailbo { c++; i_info("Query(%ld/%ld): add term(%s) : %s",c,c2,hdr,a->value.str); - qs.add(hdr,a->value.str); + qs->add(hdr,a->value.str); a=a->next; } } else { i_info("Query(%ld): add term(%s) : %s",c2,hdr,args->value.str); - qs.add(hdr,args->value.str); + qs->add(hdr,args->value.str); } args = args->next; } long i; - if((qs.hsize==1) && (strcmp(qs.hdrs[0],"body")==0)) + if((qs->hsize==1) && (strcmp(qs->hdrs[0],"body")==0)) { i_info("Query: set GLOBAL"); for(i=0;iadd_hdr(hdrs_emails[i]); } - qs.set_global(); + qs->set_global(); } - XResultSet * r=fts_backend_xapian_query(backend->dbr,&qs); + XResultSet * r=fts_backend_xapian_query(backend->dbr,qs); long n=r->size; @@ -518,6 +518,7 @@ static int fts_backend_xapian_lookup(struct fts_backend *_backend, struct mailbo } } delete(r); + delete(qs); /* Performance calc */ gettimeofday(&tp, NULL);