On 2013 Jun 06, at 13:28, Richard Hipp <d...@sqlite.org> wrote: > My guess is that App1 never actually committed the transaction. Are you > sure that you ran COMMIT? And are you sure that the COMMIT was successful?
Thank you, Richard. I didn't have a scope on App 1, and it's much more complicated. It's possible that it did not successfully COMMIT. Let's retell the story, calling them processes instead of apps. The command-line tool is Process 3. The App2, which misses the new record at first, is Process 2, then Process 4. • Launch Process 2. • Launch Process 1. • Add a record in Process 1. Possibly does not COMMIT. • Launch Process 3. • In Process 3, run the query, then terminate. New record is PRESENT. • In Process 2, open database, run the query, checkpoint, and close. New record is ABSENT. • Terminate Process 2, relaunch as Process 4. • Process 4 opens database, runs the query, checkpoints, and closes. New record is PRESENT. Examining my code carefully, I'm sure that Process 2/4 does *not* keep the database open. It opens the database when it needs to do a query, does the query, checkpoints, closes it, and forgets the database connection handle. It don't see how Process 3 could get the new record, but Process 2 would not get it until a relaunch. Is the story as I told it possible, or must I have gotten something wrong? Jerry _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users