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.

Reply via email to