Hello, I have sqlite code amalgamation(version 3.6.14.2.) as a part of a dylib/dll. As part of exported apis from this dylib we open a sql session/connection and keep it open for a longish duration and share the session handle among different threads of the same process for doing transactions on the DB. We do not use any other locks for transaction synchronization on the DB apart from the default ones being used in the sqlite amalgamation code.
Different versions of this dylib could be used by multiple processes to access/perform-transactions on the same DB file at the same time. The DB generally is a small one with hardly 9-10 entries present at any time at max, though it does lot of over-wrties/re-writes. Off-late I am observing transaction failures(though the frequency is quite less) with error as: disk image of the DB being malformed and on running integrity_check it reports following (2 of cases mentioned below) sqlite> pragma integrity_check; *** in database main *** Main freelist: freelist leaf count too big on page 9 On tree page 2 cell 0: 2 of 3 pages missing from overflow list starting at 10 Page 11 is never used Page 12 is never used sqlite> .exit ..... ..... sqlite> pragma integrity_check; *** in database main *** On tree page 11 cell 0: 1 of 2 pages missing from overflow list starting at 9 Page 10 is never used sqlite> Any idea if the usage above mentioned has a significant flaw. I highly appreciate any help on what could be causing the issue and further directions to probe on and avoid the issue. Thanks, Dhiraj _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users