Hello Christian, hello Dirk,
Thank you for your quick answer and for the fix. We will update to the latest snapshot. Best Regards, Antoine — Sent from Mailbox On Mon, Sep 14, 2015 at 4:41 PM, Christian Grün <christian.gr...@gmail.com> wrote: > Thanks Antoine, thanks Dirk, > The bug has been fixed in the latest snapshot [1]. BaseX 8.3 is > planned to be released this month. > Best, > Christian > [1] http://files.basex.org/releases/latest > On Wed, Sep 9, 2015 at 1:29 PM, Dirk Kirsten <d...@basex.org> wrote: >> Hello Antoine, >> >> this appears to be a bug in most recent BaseX version. The optimizer seems >> to think the where clause is equivilant to the position predicate and it is >> rewritten to >> >> for $d_0 in >> document-node()()/descendant::fund/properties/domain[position() = 1] return >> data($d_0/@reference) >> >> i.e. without a where clause but with the position() predicate. Also, if you >> return something like "return data($d/@reference) || $i" it works as >> expected. >> >> Hence, I created a new issue for this at >> https://github.com/BaseXdb/basex/issues/1189. >> >> Thanks for reporting this. Please be aware that our main developer Christian >> is currently on vacation (until next week), so it will take slightly longer >> to get this fixed (as I know Christian usually this would be fixed by the >> end of the day). I hope this doesn't influence your decision making process >> in your evaluation. >> >> Cheers >> Dirk >> >> >> >> >> >> On 09/09/2015 11:22 AM, Antoine WOLF wrote: >> >> Hi, >> >> We are in the process of evaluating BaseX and recently upgraded from >> version 7.9 to 8.2.3 >> >> >> We have a DB “TESTDB” with 50 xml files, named Fund1.xml, Fund2.xml, >> Fund3.xml,…. each having the same structure: >> >> Fund1.xml >> -------------- >> >> < fund> >> … >> <properties> >> … >> <domain reference=”fund1”> >> … >> </domain> >> … >> </properties> >> … >> </fund> >> >> >> Fund2.xml >> -------------- >> >> < fund> >> … >> <properties> >> … >> <domain reference=”fund2”> >> … >> </domain> >> … >> </properties> >> … >> </fund> >> >> …. >> …. >> >> >> >> The following query does not behave the same on both versions : >> >> >> For $d at $i in db:open(“TESTDB”)/fund/properties/domain >> where $i < 2 >> return data($d/@reference) >> >> >> Result in 7.9 >> ------------------ >> >> “Fund1” >> >> >> Result in 8.2.3 >> ----------------- >> >> “Fund1 Fund2 Fund3 Fund4 …” >> >> >> Is this a bug or is there something wrong with the query ? >> >> >> Best Regards, >> >> Antoine Wolf >> >> >> -- >> Dirk Kirsten, BaseX GmbH, http://basexgmbh.de >> |-- Firmensitz: Blarerstrasse 56, 78462 Konstanz >> |-- Registergericht Freiburg, HRB: 708285, Geschäftsführer: >> | Dr. Christian Grün, Dr. Alexander Holupirek, Michael Seiferle >> `-- Phone: 0049 7531 28 28 676, Fax: 0049 7531 20 05 22