Ok, I have more info now. The database consists of multiple individual database 
files which are opened and closed individually each with their own connection, 
multiple at at time. There is a root file but its just another database file 
whose only purpose is to tell the application where to find the other files.

Here is an example call stack of the a high load call:

rbuFindMaindb
rbuVfsAccess
sqlite3OsAccess
hasHotJournal
sqlite3PagerSharedLock
zipvfsLockFile
sqlite3OsLock
pagerLockDb
pagerLockDb
pager_wait_on_lock
sqlite3PagerSharedLock
lockBtree
sqlite3BtreeBeginTrans
sqlite3VdbeExec
sqlite3Step
sqlite3_step
<here comes the application>

> Am 19.09.2018 um 22:27 schrieb Simon Slavin <slav...@bigfraud.org>:
> 
> On 19 Sep 2018, at 8:47pm, Roger Cuypers <rcuyp...@arcor.de> wrote:
> 
>> the database has a root file. The subfiles are all loaded via separate 
>> connections as far as I know.
> 
> Sorry, but this makes no sense.  Each database file can have only one WAL 
> file.
> 
> You say that the program is looking through lots of WAL files.  The only way 
> it should be doing that is if the program has lots of database files open at 
> the same time.  If a database is not open, then SQLite does not even know its 
> WAL file exists.
> 
> Does your program really have numerous database files open at one time ?
> 
> If so, does it do that using the ATTACH command, and attaching them all to 
> one connection, or by opening a separate connection to each database ?
> 
> Simon.
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to