Hi Pavel,

Pavel Ivanov <paiva...@gmail.com> writes:

> > "There are four levels to the shared-cache locking model: transaction
> >  level locking, table level locking, cache level locking, and schema
> >  level locking. They are described in the following three sub-sections."
>
> This would be a bad way of documenting this because "cache level
> locking" works on a completely different level than transaction, table
> or schema level locking. The exclusive mutex is taken inside one call
> to sqlite3_step() and released upon exit. But all other "locks" have
> "meta-level" notion and work between calls to sqlite3_*() functions.

I agree. But I also think that documenting it like this is better
than not documenting it at all. This "read serialization" behavior
of SQLite was a complete surprise to me.

Maybe instead of documenting it, we should just fix it. I personally
will rather write code than documentation ;-).

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