Ok, back on this topic.

I've discovered one issue that is possibly the cause of this whole weirdness, but I can't explain what's going on. Perhaps someone has seen this happen.

What I found is that after I delete the database file (using Windows explorer or from the command-line, doesn't matter - this is all on Windows 7 x64) and then let my application re-create it as normal, it already contains some entries! It's like the file is not created from scratch, but rather pulled from some Windows cache, but only parts of it (doesn't make sense, as the integrity check succeeds). So, the file would have all the proper tables, but the .dump command in sqlite's utility would should an INSERT that's impossible to happen as well mid-way through creating tables. I have table creation surrounded by an explicit transaction and it happens before anything else can happen and I've triple-stepped through my code just to make sure I'm not crazy :) Possibly, this weird (can't say corrupt, just weird) file is what's causing the strange SELECTs.

As a test, I've renamed the db inside my application, so that it's not re-using the filename all the time and this time the .dump showed all the correct CREATE TABLE statements, without any rubbish in between.

I don't know where to head at this point.

   Dennis

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

Reply via email to