The currently documented behavior of sqlite3_close() is that  when it  
called on a database connection that has unfinalized prepared  
statements is to return SQLITE_BUSY and fail to close the connection.   
The rational is that we did not want a call to sqlite3_close() to  
destroy sqlite3_stmt* pointers out from under other subsystems.  But  
for version 3.6.0 we are considering a behavior change in which a call  
to sqlite3_close() will silently and automatically call  
sqlite3_finalize() on all outstanding prepared statements.

This is, technically, an incompatible change and we strive to avoid  
incompatible changes. But we think it unlikely that this change will  
cause any problems, and in fact we suspect it will likely fix more  
bugs than it will induce.  But before we move forward, it seems good  
to submit the idea to the community of SQLite users and programmers.

Does anybody have any thoughts on this proposed behavior changes for  
the sqlite3_close() interface?

D. Richard Hipp
[EMAIL PROTECTED]

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

Reply via email to