[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message]

Re: The State of Native XML databases

Jeff Dexter jeff.dexter at rainingdata.com
Tue Aug 21 13:34:57 PDT 2007


  Re: The State of Native XML databases
In TigerLogic the first update would establish a lock on the lower level
node. For example, if you replace the value of an element, the lock would be
on the value of the element, as in:

	<root>
		<parent id="2">
			<child> <!-- LOCK --> TEXT <!-- END LOCK -->
</child>
		</parent>
	</root>

Then if someone else attempt to delete either <child>, <parent> or <root>,
the delete would include the attributes and descendants of the of the node
being deleted, and the delete lock would collide with that created for the
replace value.

You don't want to lock the ancestors right way since an attempt to delete
the id attribute on <parent> wouldn't necessarily be in contention with the
original replace value. I say "wouldn't necessarily" because the application
may have some constraint unknown to database, and this is why we also allow
updates to drop node-level locks themselves explicitly in addition to the
implicit node-level locks established by each update operation.

Jeff.

-----Original Message-----
From: http://x-query.com/mailman/listinfo/talk [mailto:http://x-query.com/mailman/listinfo/talk] On Behalf
Of Ronald Bourret
Sent: Tuesday, August 21, 2007 12:01 PM
To: http://x-query.com/mailman/listinfo/talk
Subject: Re:  Re: The State of Native XML databases

There's an additional problem here.

If you're updating a particular node, you probably want to lock the
ancestors of the node as well, so that nobody can delete them, as this would
conflict with your update in a rather major way. Taken to an extreme, this
effectively locks the entire document.

I'd be curious to know how node-locking (or page-locking) databases handle
this problem. Perhaps there are "no-delete" locks placed on the ancestors?

-- Ron

Jeff Dexter wrote:
> On a side note, while node level locks may be the most granular, some 
> update operations may require locking multiple nodes. For instance, if 
> you replace an element that has attributes and children, a lock of the 
> element may imply a lock of its attributes and descendants as well.

_______________________________________________
http://x-query.com/mailman/listinfo/talk
http://x-query.com/mailman/listinfo/talk





Purchase Stylus Studio Online Today!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.