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