Dear John,

I am using an application linked with sqlite 3.2, using a database file
which is stored in a file server and marked "read only". Sometimes
when two instances of the application (running in different PC) perform  a
SELECT statement (read only) I got the same problem
The first "instance" can use the database but the second instance (started
after the first) get a "database is locked" selecting the same table and
rows.

It seems the same problem.

The application and the library have been compiled with gcc (3.4.2) in  a
Windows NT/2000/XP environment.

Regards

Massimo



John Duprey <[EMAIL PROTECTED]> on 21/06/2005 22.59.12

Please respond to sqlite-users@sqlite.org

To:    sqlite-users@sqlite.org
cc:

Subject:    [sqlite] Database is locked on SELECT only calls?

Hi All,

I'm using sqlite 3.2.0 - the native C/C++ interface.  I'm seeing
something that I haven't seen before.  I have 4 programs accessing the
same db file.  The db file is on a slow Windows network share (NAS
device).  The 4 programs are the only processes accessing the DB file
and all of them are executing a similar SELECT (read only) SQL
statement. However, intermittently, my program logs this error:

Failed to get category meta info for CLMLR - 293831 - title using:
SELECT value FROM category_meta_information
  WHERE
    taxonomy_id=13 AND
    category_id=293831 AND
    name='title' AND
    data_type_id=(SELECT rowid FROM data_type WHERE type='string');
because database is locked

Is the database really locked or is the NAS latency confusing sqlite?
Does the sub-select for rowid on data_type create some sort of temp
table that locks the file for a second?  I understand that 3.2.2 is
out.  Would this address any locking issues?

I would appreciate any help or insight anyone might have on this matter.

Thanks,
-John








Reply via email to