Geert Josten wrote:

> > >  My *guess* is that you rely on a particular evaluation
> > > order, regarding their side effects ;-)

> > As far as I know, items in a sequence are are evaluated in
> > that order...  It would be good to have that confirmed
> > though.

  This is not true in standard XQuery.  I do not know if ML does
guarantee that, but I guess not, as this would prevent some
optimization opportunities.  The relative order of the items in a
sequence is guaranteed, though.

> It is more complex than this.  It does not concern evaluation
> order, but the fact that MarkLogic Server does not allow
> conflicting updates (where a delete is considered an update as
> well) within a single transaction.

> [...interesting ML transaction model explanation skipped...]

  That's consistent with the XQuery Update Facility.  The reason
is precisely the above description: either you define an order of
evaluation (but you don't want to do so,) or you allow getting
different results depending on the specific order chosen for a
specific evaluation of a specific query (you don't want that
neither,) or you forbid updates on the same nodes (that's what
XQuery Update chose and, following what Geert's just said, what
ML built-in update module chose too.)

  Regards,

-- 
Florent Georges
http://www.fgeorges.org/

























_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

Reply via email to