ORA-FO-185-B: fn:doc stability is not a reasonable requirement

SECTION 15.4.4: fn:doc

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:doc evaluation may
be very large, it will not be practical for XQuery to take a
snapshot and guarantee stability that way, and consequently 
fn:doc must rely on resolving the URI on demand.
This means that the stability requirement is unreasonable in many 
environments:

a) if fn:doc 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:doc is evaluated by resolving to a resource such
as a relational database, which may provide suitable transaction
semantics but does not assure a stable ordering of results.

Perhaps the solution is to provide fn:stable-doc and 
fn:unstable-doc.  fn:stable-doc would return an error if
it is not possible to assure stability of the result.

- Steve B.

Received on Monday, 16 February 2004 17:45:25 UTC