[Bug 14662] [UPD 3.0] 2.3.2 Updating Annotation Assertion

https://www.w3.org/Bugs/Public/show_bug.cgi?id=14662

--- Comment #2 from Jonathan Robie <jonathan.robie@gmail.com> 2012-01-09 21:36:16 UTC ---
(In reply to comment #1)
> I need to use cases for why you want to match only an updating function. After
> all, a simple function is just an updating function that happens to return an
> empty pending update list.

Not according to our own definitions:

[Definition: A simple expression is any XQuery expression that is not an
updating expression.]

That definition is used in both XQuery Update Facility 1.0 and 3.0.

I'm not sure we need use cases to say that %fn:updating should not match a
function that is not an updating function. 

Especially since we use the annotation %fn:updating to say that a function is
an updating function. Most users would expect the annotation assertion
%fn:updating to match those functions that have the assertion %fn:updating.

> I guess what I'm saying is that the only interesting case is "never returns a
> pending update list". If you disagree, I'd like to see motivational use cases
> so I can understand better.

If the only interesting case is "never returns a pending update list", then
perhaps we only need the annotation assertion %fn:non-updating. That name is a
lot less surprising to me.

But I can imagine scenarios in which updating functions would be handled
differently, e.g. they might require some form of authentication before they
are allowed, or they may fail gracefully. We currently define functions like
fn:doc-available() so users can write code to handle the case in which fn:doc()
will fail - similar kinds of code might be useful if passing an updating
function as a parameter to another function would fail.

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Monday, 9 January 2012 21:36:20 UTC