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
