I apologize as well; I missed to consider one more edge case. I hope the
very latest snapshot does the job.

On Tue, Jun 10, 2025 at 4:32 PM Y 2wt <[email protected]> wrote:

> Yes, I missed that point, sorry.
> Nevertheless, I still encounter the problem with my xquery and data
> described before.
> I read "basex 12.0 beta c94e36c" on the gui windows header.
> Best,
> Yann
>
>
> Le mar. 10 juin 2025, 15:27, Christian Grün <[email protected]> a
> écrit :
>
>> Java 17 is required for version 12; maybe that’s the problem?
>>
>> Otherwise, you can try to start the GUI on command line and check the
>> error output.
>>
>>
>> Y 2wt <[email protected]> schrieb am Di., 10. Juni 2025, 15:21:
>>
>>> Hi Christian,
>>> thanks for the quick fix!
>>> I can't get the latest version gui to test (nothing appears after
>>> launching).
>>> I will try with a further latest.
>>> Best,
>>> Yann
>>>
>>> Le mar. 10 juin 2025, 13:57, Christian Grün <[email protected]>
>>> a écrit :
>>>
>>>> Hi Yann,
>>>>
>>>> the bug has been fixed; a new snapshot is available [1].
>>>>
>>>> Best,
>>>> Christian
>>>>
>>>> [1] https://files.basex.org/releases/latest/
>>>>
>>>>
>>>> On Wed, Jun 4, 2025 at 1:39 PM Yann de Thézy <[email protected]>
>>>> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I encounter what seems to be a bug with the use of Full Text Index
>>>>> (basex 11.9).
>>>>>
>>>>> I have created a database with FTINDEX (and CASESENS + DIACRITICS).
>>>>>
>>>>> When I call once a function in the xquery below, the result is
>>>>> different than when I call it twice.
>>>>>
>>>>> It seems that the whole database is searched in the case of 2 calls
>>>>> which is not what is expected.
>>>>>
>>>>>
>>>>>
>>>>> Xquery is :
>>>>>
>>>>> declare function local:getHit($documents, $word) {
>>>>>
>>>>>   (# db:enforceindex #) {
>>>>>
>>>>>    $documents//*[text() contains text {$word}]
>>>>>
>>>>>   }
>>>>>
>>>>> };
>>>>>
>>>>>
>>>>>
>>>>> let $docs := collection()
>>>>>
>>>>> let $docsSmall := for $doc in $docs where
>>>>> $doc/book/@category='COOKING' return $doc
>>>>>
>>>>>
>>>>>
>>>>> let $a := trace("res 1 : " || count(local:getHit($docsSmall, '2005')))
>>>>>
>>>>> (: uncomment the line below to change getHit result :)
>>>>>
>>>>> (: let $a := trace("res 2 : " || count(local:getHit($docsSmall,
>>>>> '2005'))) :)
>>>>>
>>>>> return ''
>>>>>
>>>>>
>>>>>
>>>>> Result is :
>>>>>
>>>>> "res 1 : 1"
>>>>>
>>>>> After uncommenting the second call, result is:
>>>>>
>>>>> "res 1 : 2"
>>>>>
>>>>> "res 2 : 2"
>>>>>
>>>>>
>>>>>
>>>>> The same with this more simple xquery:
>>>>>
>>>>> declare function local:getHit($documents, $word) {
>>>>>
>>>>>   (# db:enforceindex #) {
>>>>>
>>>>>    $documents//*[text() contains text {$word}]
>>>>>
>>>>>   }
>>>>>
>>>>> };
>>>>>
>>>>>
>>>>>
>>>>> let $docs := collection()
>>>>>
>>>>> let $docsSmall := $docs[1]
>>>>>
>>>>>
>>>>>
>>>>> let $a := trace("res 1 : " || count(local:getHit($docsSmall, '2005')))
>>>>>
>>>>> return ''
>>>>>
>>>>> Result is :
>>>>>
>>>>> "res 1 : 2"
>>>>>
>>>>> ("res 1 : 1" expected)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2 documents are populating this database :
>>>>>
>>>>> <book category="COOKING">
>>>>>
>>>>>   <title lang="en">Everyday Italian</title>
>>>>>
>>>>>   <author>Giada De Laurentiis</author>
>>>>>
>>>>>   <year>2005</year>
>>>>>
>>>>>   <price>30.00</price>
>>>>>
>>>>> </book>
>>>>>
>>>>> and
>>>>>
>>>>> <book category="CHILDREN">
>>>>>
>>>>>   <title lang="en">Harry Potter</title>
>>>>>
>>>>>   <author>J K. Rowling</author>
>>>>>
>>>>>   <year>2005</year>
>>>>>
>>>>>   <price>29.99</price>
>>>>>
>>>>> </book>
>>>>>
>>>>>
>>>>>
>>>>> Best,
>>>>> Yann
>>>>>
>>>>>
>>>>>
>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>>>>>  Sans
>>>>> virus.www.avast.com
>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>>>>> <#m_7897201003560183116_m_4081836977665378975_m_-5014917572888799391_m_-6271574854244688532_m_1251767113872515045_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>>>>
>>>>

Reply via email to