I am following the 'SQLiteBooks' sample to understand how to work with sqlite3 for the iPhone and am wondering if the connection to the database should be closed immediately after you do a query and reopened each time you need to talk to the db or should the connection be kept open at the start of the app and close on 'appWillTerminate'? What are the costs associated with reopening the db connection multiple times within an app?
Also, the sample shows the reference to sqlite3 object (aka 'database') being passed around but without any reference counting -- is this a good pattern to follow?