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.gruen@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 <dk@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