<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 9pt; font-family: Verdana,Geneva,sans-serif'>
<p>No, the parsing is made by dovecot core, that is nothing the backend can do about it. The backend shall *never*  reveive this. (would it be buggy or no)</p>
<p><br /></p>
<p>PLease, have a look deeper</p>
<p>And the loop is a very big problem as it times out all the time (and once again, this is not in any of the backend  functions)</p>
<div id="signature"> </div>
<p><br /></p>
<p id="reply-intro">On 2019-04-21 10:42, Timo Sirainen via dovecot wrote:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div>Inbox appears in the list of arguments, because fts_backend_xapian_lookup() is parsing the search args wrong. Not sure about the other issue.</div>
<div><br />
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">
<div>On 21 Apr 2019, at 19.31, Joan Moreau <<a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a>> wrote:</div>
<br class="Apple-interchange-newline" />
<div>
<div style="font-size: 9pt; font-family: Verdana,Geneva,sans-serif;">
<p>For this first point, the problem is that dovecot core sends TWICE the request and "Inbox" appears in the list of arguments ! (inbox shall serve to select teh right mailbox, never sent to the backend)</p>
<p>And even if this would be solved, the dovecot core loops *after* the backend hs returneds the results</p>
<p><br /></p>
<p># doveadm search -u <a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a> mailbox inbox text milan<br />doveadm(<a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a>): Info: Get last UID of INBOX = 315526<br />doveadm(<a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a>): Info: Get last UID of INBOX = 315526<br />doveadm(<a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a>): Info: Query: FLAG=AND<br />doveadm(<a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a>): Info: Query(1): add term(wilcard) : inbox<br />doveadm(<a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a>): Info: Query(2): add term(wilcard) : milan<br />doveadm(<a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a>): Info: Testing if wildcard<br />doveadm(<a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a>): Info: Query: set GLOBAL (no specified header)<br />doveadm(<a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a>): Info: Query : ( bcc:inbox OR body:inbox OR cc:inbox OR from:inbox OR message-id:inbox OR subject:inbox OR to:inbox ) AND ( bcc:milan OR body:milan OR cc:milan OR from:milan OR message-id:milan OR subject:milan OR to:milan )<br /><strong>doveadm(<a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a>): Info: Query: 2 results in 1 ms // THIS IS WHEN BACKEND HAS FOUND RESULTS AND STOPPED</strong><br />d82b4b0f550d38593644000095331209 847<br />d82b4b0f550d38593644000095331209 1569<br />d82b4b0f550d38593644000095331209 2260<br />d82b4b0f550d38593644000095331209 2575<br />d82b4b0f550d38593644000095331209 2811<br />d82b4b0f550d38593644000095331209 2885<br />d82b4b0f550d38593644000095331209 3038<br /><strong>d82b4b0f550d38593644000095331209 3121 -> LOOPING FOREVER</strong></p>
<p><br /></p>
<div id="signature"> </div>
<p><br /></p>
<p id="reply-intro">On 2019-04-21 09:57, Timo Sirainen via dovecot wrote:</p>
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;">
<div class="pre" style="margin: 0; padding: 0; font-family: monospace;">On 3 Apr 2019, at 20.30, Joan Moreau via dovecot <<a href="mailto:dovecot@dovecot.org" rel="noreferrer">dovecot@dovecot.org</a>> wrote:
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;">doveadm search -u <a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a> mailbox inbox text milan<br />output<br /><br />doveadm(<a href="mailto:jom@grosjo.net" rel="noreferrer">jom@grosjo.net</a>): Info: Query : ( bcc:inbox OR body:inbox OR cc:inbox OR from:inbox OR message-id:inbox OR subject:inbox OR to:inbox OR uid:inbox ) AND ( bcc:milan OR body:milan OR cc:milan OR from:milan OR message-id:milan OR subject:milan OR to:milan OR uid:milan )<br /><br />1 - The query is wrong</blockquote>
<br />That's because fts_backend_xapian_lookup() isn't anywhere close to being correct. Try to copy the logic based on solr_add_definite_query_args().<br /><br /><br /></div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</blockquote>
</body></html>