Small. Fast. Reliable.
Choose any three.
*** 10,12 ****
--- 10,15 ----
  -------
  Q) On sqlite3_Open(), when the file with given filename doesn't exists, SQLite creates new database. But usually, the application needs to do some initialization work to be able to use this new database (create tables etc.) 
  So, what is the most natural way to determine, that Open() created new database instead of opening the existing one?
+ A) Use some system API funtion like IsFileExists(filename) before calling sqlite_open()
+ -------
+ Q) Is it possible to let the programmer choose - commit or rollback the transaction that was begun with BEGIN and some INSERTS/UPDATES, but was not finished due to system hangup or power failure, instead of automatically rollback it on opening the DB??? (assume the transaction journal file integrity is fully correct)