On 16 Dec 2015, at 8:37am, Dominique Pell? <dominique.pelle at gmail.com> wrote:
> Having said all that, reading https://www.sqlite.org/c3ref/open.html > I see no mention of the fact that sqlite3_open*() is lazy. > Is it documented somewhere? Not in the official SQLite documentation. But it is easy to prove. Just open a database that doesn't exist. Nothing is done about it until your first write command. Only then are the files created. While discussing lazy it's worth noting that transactions are (by default) lazy too. The default BEGIN is BEGIN DEFERRED. It does nothing to the files and places no locks. Only when a read or write is done inside that transaction does the database get locked. Simon.