Ken Dreyer <[email protected]> writes:
> SQLite has an option in os_unix.c (SQLITE_ENABLE_LOCKING_STYLE) to
> automatically figure out the database's filesystem type and use the
> most appropriate locking mechanism for that filesystem. Adam Megacz
> wrote a patch to SQLite back in 2006 that added AFS to this list of
> filesystems SQLite could detect. I'm not certain, but I think this
> only works for OSX (Adam, correct me if I'm wrong :-)

IIRC that is correct.  Also, DRHipp never merged the patch (even though
I sent him the legal papers he asked for).

> Additionally, SQLite also has the (undocumented?) ability to define a
> fixed locking style at compile-time with SQLITE_FIXED_LOCKING_STYLE.

I must hasten to add that I have never been able to get sqlite working
in a scenario where multiple client machines are concurrently accessing
the same database -- even when "whole file locking" is in use.  I
originally thought that using whole-file locks only (and no byte-range
locks) would work, but as far as I have been able to determine, it *does
not*.

> We hope we can make use of byte-range locking some day when OpenAFS
> supports this on *nix.

Me too, but my hopes are not high.  The fact that the databases become
corrupted when using whole-file locks only suggests that there is a more
subtle problem lurking here.

  - a

_______________________________________________
OpenAFS-info mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-info

Reply via email to