Re: XQuery Update Facility - Transaction Expressions

Michael Rys wrote:

>This has been factored in, in that we have the notion of a snapshot at
>the top-level statement which needs to guarantee certain consistency
>constraints.
>
>Note that we expect the update language to be used in many different
>transaction environments and thus do not define a single transactional
>semantics. This means you could use the statements in a fully
>serializable transaction, or in an optimistic CC environment.
>  
>

I think the XQuery Update Facility Requirements says quite a bit about 
transactional characteristics here:

http://www.w3.org/TR/2005/WD-xquery-update-requirements-20050603/#N1026E

We say atomicity, consistency, and durability must be observed. We 
decided that isolation is a SHOULD, since it's not clear what we can 
reasonably achieve in the very wide variety of environments that have 
XQuery implementations - it would be nice if there were a good solution, 
but we're not at all confident we could find one, so isolation may wind 
up being implementation defined.

The requirements also answer Kuan Hui's question about explicit support 
for transactions in XQuery syntax - we MAY add support for transactions 
within a given query, but do not see this as a requirement for our first 
updates recommendation. And our initial work on this was not promising, 
we found some problems that were difficult to solve. I'd rather get 
updates out quickly and think about finer grained transactions in a 
future version. We need some version of updates quickly, and if we stop 
to solve all interesting problems, it won't be quick.

I think all of the things the requirements say about transactions should 
be stated explicitly in our spec - I do think the spec is consistent 
with our requirements, but it is not very explicit about that fact.

Thanks, Kuan Hui!

Jonathan

-- 
Read my Blog: http://blogs.datadirect.com/jonathan_robie/
Learn XQuery: http://media.datadirect.com/download/docs/ddxquery/tutorial_query.html
Learn XQJ (the JDBC for XQuery): http://www.datadirect.com/developer/xquery/topics/xqj_tutorial/
Get DataDirect XQuery: http://www.datadirect.com/products/xquery/

Received on Monday, 30 January 2006 15:13:49 UTC