ORA-FO-186-C: fn:collection stability requirements

SECTION 15.4.5: fn:collection

It says that this function is stable, meaning that two invocations
during the same expression evaluation have the same result.
Since the size of the result of an fn:collection evaluation may
be very large, it will not be practical for XQuery to take a
snapshot and guarantee stability that way, and consequently 
fn:collection must rely on resolving the URI on demand.
This means that the stability requirement is unreasonable in many 
environments:

a) if fn:collection is evaluated by resolving to a resource that
is outside the transaction management of XQuery, then the 
values at that resource might change dynamically, and not just
at times between evaluations of XQuery expressions. 

b) if fn:collection is evaluated by resolving to a resource such
as a relational database, which does not assure a stable ordering
of results.

Perhaps the solution is to provide fn:stable-collection
and fn:unstable-collection.  fn:stable-collection would 
return an error if it is not possible to assure stability.
Let the user indicate whether he really needs stability.

- Steve B.

Received on Monday, 16 February 2004 17:47:13 UTC