Hi Marc,

"Marc L. Allen" <mlal...@outsitenetworks.com> writes:

> If I understand correctly, the purpose of the overall mutex is to prevent a
> page from being removed underneath a user.  If the standard DB locking
> semantics are working properly, I think there is no possibility of a page's
> data from being modified underneath another user.

Yes, that's my understanding also. This is all taken care of at higher
(transaction and table) locking levels.


> If the above it true, cache protection semantics are strictly concerned with
> page management. That is, a page is requested that is not in the cache and
> needs to be inserted into it. If the cache is full, another page needs to
> be released. All that is required is protecting pages currently in use from
> being released.
>
> I think, instead of a mutex serializing access to the entire cache, all
> that is needed is a mutex serializing access to the cache meta-data and
> the use of reference counts to help the page replacement algorithm make
> a good choice in which page to remove.

All sounds very sensible to me.

Boris
-- 
Boris Kolpackov, Code Synthesis        http://codesynthesis.com/~boris/blog
Compiler-based ORM system for C++      http://codesynthesis.com/products/odb
Open-source XML data binding for C++   http://codesynthesis.com/products/xsd
XML data binding for embedded systems  http://codesynthesis.com/products/xsde

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to