I'm currently investigating a problem with my application, SQLite 3.2.5 and a database located on a Mac OSX Server network share that does not seem to repro with the SQLite 3.1.3 that ships with Mac OSX 4.1. Specifically if I place a SQLite database file on a folder on a remote network share and attempt to access it using the sqlite3 utility, I get different results.

With the Mac OSX 4.1 version of sqlite3 (in /usr/bin):

gawain:/usr/bin steve$ ./sqlite3 /Volumes/WORKSPACE\;MACHINE/messages.db
SQLite version 3.1.3
Enter ".help" for instructions
sqlite> select * from info;
12|2005-10-24 10:03:34 -0700
sqlite>

With the version of sqlite3 built from the 3.2.5 source code:

gawain:~/Source/sqlite-3.2.5/bld steve$ ./sqlite3 /Volumes/WORKSPACE \;MACHINE/messages.db
SQLite version 3.2.5
Enter ".help" for instructions
sqlite> select * from info;
SQL error: database is locked
sqlite>

I note the comment at http://www.sqlite.org/lockingv3.html that Mac OSX locking mechanics are not to be relied on and presumably this means that SQLite cannot be used to access a database located on a network on Mac OSX but Apple appear to have resolved this with the version they shipped with Mac OSX 4.1. However this appears to be an earlier version (3.1.3) so why does the later version not work? Is there a flag that I need to build the source with to enable this?

Thanks!
- Steve

Reply via email to