|
[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 databasesJeff Dexter jeff.dexter at rainingdata.comTue Aug 21 13:34:57 PDT 2007
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! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






