[Adding the subject, sorry for spam!]
Hey folks,
I have few questions on Web Storage Spec. I have checked the
content of both latest published spec<http://www.w3.org/TR/webstorage/> and
latest editors spec<http://dev.w3.org/html5/webstorage/>. And the questions
are applicable to both the versions of the spec.
Section: 4.4.2 Processing model
Text:
1. Open a new SQL transaction to the database, and create a
SQLTransaction<http://www.w3.org/TR/webstorage/#sqltransaction> object that
represents that transaction. If the mode is read/write, the transaction must
have an exclusive write lock over the entire database. If the mode is
read-only, the transaction must have a shared read lock over the entire
database. The user agent should wait for an appropriate lock to be available.
Concerns:
- Why is the spec mandating a transaction to take an *exclusive write
lock on the entire database*? No database book design mandates it. In fact,
many client databases out there don't do this. I guess SQLite does this kind.
But that does not mean that all implementations have this nature. I am kind of
worried that we are putting implementation in theory. For me they are too
separate, there are many ways a database could be designed. Like,
log+checkpoint approach, shadow copy, version store, journals ...etc. I guess
spec should say what a browser should do and not how.
I would be happy to get enlightened.
Thanks,
Laxmi