Re: Apparently, terms with a common prefix are *not* connected by implicit "OR"
[ I had replied to David Bremner alone so I didn't have to worry about private information leakage. But now I decided to clean the private information and reply to the list too. ] Em 2019-08-11T20:08:58-0300, David Bremner escreveu: > Thanks for the report. As a test, can you try with > > $ notmuch count '(to:pontodosconcursos.com.br > to:"jorge+cp+concu...@disroot.org")' > > I suspect that will work around the problem, which I believe is related > to the way that notmuch uses the xapian parser (in order to provide > regexp matching for some prefixes). In particular, if I try that with > NOTMUCH_DEBUG_QUERY=yes in the environment I can see the implicit OR. > > d Thank you for the instructions, but they did not work. Below are several results from ~notmuch count~. --8<---cut here---start->8--- $ notmuch count '(to:pontodosconcursos.com.br OR to:jorge+cp+concu...@disroot.org)' 70 $ notmuch count '(to:pontodosconcursos.com.br)' 0 $ notmuch count 'to:pontodosconcursos.com.br' 0 $ notmuch count 'to:jorge+cp+concu...@disroot.org' 70 $ NOTMUCH_DEBUG_QUERY=yes notmuch count '(to:pontodosconcursos.com.br OR to:jorge+cp+concu...@disroot.org)' Query string is: (to:pontodosconcursos.com.br OR to:jorge+cp+concu...@disroot.org) Exclude query is: Query(((Kdeleted OR Kspam) OR Ktrash)) Final query is: Query(((Tmail AND ((XTOpontodosconcursos@1 PHRASE 3 XTOcom@2 PHRASE 3 XTObr@3) OR (ZXTOjorg@4 AND (Zcp@5 OR ZGcp@5 OR ZKcp@5 OR ZKcp@5 OR ZQcp@5 OR ZQcp@5 OR ZPcp@5 OR ZXPROPERTYcp@5 OR ZXFOLDER:cp@5 OR ZXFROMcp@5 OR ZXTOcp@5 OR ZXATTACHMENTcp@5 OR ZXMIMETYPEcp@5 OR ZXSUBJECTcp@5) AND ((concurso@6 PHRASE 3 disroot@7 PHRASE 3 org@8) OR (Gconcurso@6 PHRASE 3 Gdisroot@7 PHRASE 3 Gorg@8) OR (Kconcurso@6 PHRASE 3 Kdisroot@7 PHRASE 3 Korg@8) OR (Kconcurso@6 PHRASE 3 Kdisroot@7 PHRASE 3 Korg@8) OR (Qconcurso@6 PHRASE 3 Qdisroot@7 PHRASE 3 Qorg@8) OR (Qconcurso@6 PHRASE 3 Qdisroot@7 PHRASE 3 Qorg@8) OR (Pconcurso@6 PHRASE 3 Pdisroot@7 PHRASE 3 Porg@8) OR (XPROPERTYconcurso@6 PHRASE 3 XPROPERTYdisroot@7 PHRASE 3 XPROPERTYorg@8) OR (XFOLDER:concurso@6 PHRASE 3 XFOLDER:disroot@7 PHRASE 3 XFOLDER:org@8) OR (XFROMconcurso@6 PHRASE 3 XFROMdisroot@7 PHRASE 3 XFROMorg@8) OR (XTOconcurso@6 PHRASE 3 XTOdisroot@7 PHRASE 3 XTOorg@8) OR (XATTACHMENTconcurso@6 PHRASE 3 XATTACHMENTdisroot@7 PHRASE 3 XATTACHMENTorg@8) OR (XMIMETYPEconcurso@6 PHRASE 3 XMIMETYPEdisroot@7 PHRASE 3 XMIMETYPEorg@8) OR (XSUBJECTconcurso@6 PHRASE 3 XSUBJECTdisroot@7 PHRASE 3 XSUBJECTorg@8) AND_NOT ((Kdeleted OR Kspam) OR Ktrash))) 70 $ NOTMUCH_DEBUG_QUERY=yes notmuch count '(to:pontodosconcursos.com.br to:jorge+cp+concu...@disroot.org)' Query string is: (to:pontodosconcursos.com.br to:jorge+cp+concu...@disroot.org) Exclude query is: Query(((Kdeleted OR Kspam) OR Ktrash)) Final query is: Query(((Tmail AND ((XTOpontodosconcursos@1 PHRASE 3 XTOcom@2 PHRASE 3 XTObr@3) AND ZXTOjorg@4 AND (Zcp@5 OR ZGcp@5 OR ZKcp@5 OR ZKcp@5 OR ZQcp@5 OR ZQcp@5 OR ZPcp@5 OR ZXPROPERTYcp@5 OR ZXFOLDER:cp@5 OR ZXFROMcp@5 OR ZXTOcp@5 OR ZXATTACHMENTcp@5 OR ZXMIMETYPEcp@5 OR ZXSUBJECTcp@5) AND ((concurso@6 PHRASE 3 disroot@7 PHRASE 3 org@8) OR (Gconcurso@6 PHRASE 3 Gdisroot@7 PHRASE 3 Gorg@8) OR (Kconcurso@6 PHRASE 3 Kdisroot@7 PHRASE 3 Korg@8) OR (Kconcurso@6 PHRASE 3 Kdisroot@7 PHRASE 3 Korg@8) OR (Qconcurso@6 PHRASE 3 Qdisroot@7 PHRASE 3 Qorg@8) OR (Qconcurso@6 PHRASE 3 Qdisroot@7 PHRASE 3 Qorg@8) OR (Pconcurso@6 PHRASE 3 Pdisroot@7 PHRASE 3 Porg@8) OR (XPROPERTYconcurso@6 PHRASE 3 XPROPERTYdisroot@7 PHRASE 3 XPROPERTYorg@8) OR (XFOLDER:concurso@6 PHRASE 3 XFOLDER:disroot@7 PHRASE 3 XFOLDER:org@8) OR (XFROMconcurso@6 PHRASE 3 XFROMdisroot@7 PHRASE 3 XFROMorg@8) OR (XTOconcurso@6 PHRASE 3 XTOdisroot@7 PHRASE 3 XTOorg@8) OR (XATTACHMENTconcurso@6 PHRASE 3 XATTACHMENTdisroot@7 PHRASE 3 XATTACHMENTorg@8) OR (XMIMETYPEconcurso@6 PHRASE 3 XMIMETYPEdisroot@7 PHRASE 3 XMIMETYPEorg@8) OR (XSUBJECTconcurso@6 PHRASE 3 XSUBJECTdisroot@7 PHRASE 3 XSUBJECTorg@8 AND_NOT ((Kdeleted OR Kspam) OR Ktrash))) 0 $ NOTMUCH_DEBUG_QUERY=yes notmuch count '(to:pontodosconcursos.com.br to:"jorge+cp+concu...@disroot.org")' Query string is: (to:pontodosconcursos.com.br to:"jorge+cp+concu...@disroot.org") Exclude query is: Query(((Kdeleted OR Kspam) OR Ktrash)) Final query is: Query(((Tmail AND ((XTOpontodosconcursos@1 PHRASE 3 XTOcom@2 PHRASE 3 XTObr@3) AND (XTOjorge@4 PHRASE 5 XTOcp@5 PHRASE 5 XTOconcurso@6 PHRASE 5 XTOdisroot@7 PHRASE 5 XTOorg@8))) AND_NOT ((Kdeleted OR Kspam) OR Ktrash))) 0 $ NOTMUCH_DEBUG_QUERY=yes notmuch count '(to:pontodosconcursos.com.br OR to:"jorge+cp+concu...@disroot.org")' Query string is: (to:pontodosconcursos.com.br OR to:"jorge+cp+concu...@disroot.org") Exclude query is: Query(((Kdeleted OR Kspam) OR Ktrash)) Final query is: Query(((Tmail AND ((XTOpontodosconcursos@1 PHRASE 3 XTOcom@2 PHRASE 3 XTObr@3) OR (XTOjorge@4 PHRASE 5 XTOcp@5 PHRASE 5 XTOconcurso@6 PHRASE 5 XTOdisroot@7 PHRASE 5 XTOorg@8))) AND_NO
Re: segfault using python bindings
Floris Bruynooghe writes: > On Wed 14 Aug 2019 at 16:20 -0300, David Bremner wrote: >> >> Can you remind me what the percieved blockers are for merging into the >> main notmuch tree? I'm less hung up on python2 compatibility than I used >> to be, fwiw. I'd be ok with shipping the old python2 bindings in contrib >> for a bit for those who still need/want them, but concentrate our >> maintenance effort on the cffi bindings. > > IIRC it was mostly about how to support transitioning from one API to > the other since currently there's no compatibility. I guess there's > nothing stopping one from using both APIs in one codebase though, AFAIK > Xapian handles the required locking. But some of the discussions > suggested being able to create a new Message object from an old one etc, > allowing you to do more mixing during a transition period. This is the > part that I said is possible but a lot of work and questionable if no > one thought they'd be using it. > Ah right. Well, given the impending removal of python2 from various places (e.g. debian testing), I don't think we should be that fussy/ambitious. I'd propose - add the new cffi based bindings, using a distinct name (as you already have). - deprecate the old ones - port any internal dependencies to the new bindings - finally drop the old bindings or move them to contrib/ for people slow in switching. I think for the first step we only need a reasonable looking patch (series?) from you. ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch
Re: segfault using python bindings
On Wed 14 Aug 2019 at 16:20 -0300, David Bremner wrote: > Floris Bruynooghe writes: > >> These are at https://github.com/flub/notmuch/tree/cffi/bindings/python-cffi >> >> I'm not really convinced of the way forward last time it was discussed >> on how to get them merged into notmuch itself so have failed to put in >> the not insignificant effort. >> >> I've since wondered if just getting them standalone on pypi is perhaps a >> useful service in the mean time as it's relatively little effort. And >> if there eventually is a desire again to get them merged in some way >> that could still be done. > > Can you remind me what the percieved blockers are for merging into the > main notmuch tree? I'm less hung up on python2 compatibility than I used > to be, fwiw. I'd be ok with shipping the old python2 bindings in contrib > for a bit for those who still need/want them, but concentrate our > maintenance effort on the cffi bindings. IIRC it was mostly about how to support transitioning from one API to the other since currently there's no compatibility. I guess there's nothing stopping one from using both APIs in one codebase though, AFAIK Xapian handles the required locking. But some of the discussions suggested being able to create a new Message object from an old one etc, allowing you to do more mixing during a transition period. This is the part that I said is possible but a lot of work and questionable if no one thought they'd be using it. Cheers, Floris ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch