[Bug 5340] [UPD] Atomicity is untestable

http://www.w3.org/Bugs/Public/show_bug.cgi?id=5340

           Summary: [UPD] Atomicity is untestable
           Product: XPath / XQuery / XSLFO / XSLT
           Version: Last Call drafts
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Update Facility
        AssignedTo: andrew.eisenberg@us.ibm.com
        ReportedBy: mike@saxonica.com
         QAContact: public-qt-comments@w3.org


Rule 7 of upd:applyUpdates() states "The upd:applyUpdates operation is atomic
with respect to the data model. In other words, if upd:applyUpdates terminates
normally, the resulting XDM instance reflects the result of all update
primitives; but if upd:applyUpdates raises an error, the resulting XDM instance
reflects no changes. "

I believe this is untestable and therefore doesn't belong in the spec. It's
also very unclear what requirements it is placing on the implementation. Does
it mean, for example, that streamed delivery of updated XDM instances is not
allowed unless such streamed delivery is guaranteed to succeed? I can't see any
reason for placing such an onerous requirement. But if it doesn't mean that,
what does it mean? Does it mean that implementations are required to make the
original un-updated XDM instance available to the application after an error?
That would be a strange requirement to impose, given that we say nothing about
how updated instances are made available to applications in the success case.
Perhaps it means that persistent data should be unchanged in the event of a
dynamic error? But handling of persistent data is explicitly out of scope!

Received on Wednesday, 2 January 2008 18:59:08 UTC