Hi,

I'm currently working with a system where dot-file is the only applicable
SQLITE_ENABLE_LOCKING_STYLE and I'm trying to understand how this is
implemented exactly. So I've read through the implementation of this
locking strategy and a few questions came to mind:

First, dot-file actually uses a directory, however, the comments don't seem
to give a reason for this. Why is a directory created, instead of a more
(arguably) traditional lock file (see e.g. git)? dotlockLock creates the
directory with permissions set to 777. As far as I can tell, this could
create a situation where the temporary locking directory is more accessible
than the database file or the db parent directory. Is there a reason the
existing permissions aren't inherited? I suspect this is done to prevent
any issues while deleting the lock directory.

Lastly, it seems that all lock types are promoted to EXCLUSIVE with this
strategy. I wonder if that can be changed to allow all previous lock types,
maybe using lock *files* and judging the lock type by content or file name?
In my mind, this would create a completely portable, file-based locking
strategy that doesn't depend on OS-provided locking mechanisms. But I'm
probably overlooking something here, so please correct me if I'm wrong.

Thanks,
-- 
*Pierre Tempel*
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to