SQLITE源码剖析(11)
声明:本SQLite源码剖析系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载
**应用程序必须在关闭sqlite3对象前,[sqlite3_finalize | finalize]
**所有的与该对象相关的[prepared statements],必须[sqlite3_blob_close | **close]所有的与该对象相关的
**[BLOB handles] (BLOB大二进制句柄)
** Applications must [sqlite3_**finalize | finalize] all [prepared statements]
** and [sqlite3_blob_close | close] all [BLOB handles] associated with
** the [sqlite3] object prior to attempting to close the object. ^If
** sqlite3_close() is called on a [database connection] that still has
** outstanding [prepared statements] or [BLOB handles], then it returns
** SQLITE_BUSY.
**如果sqlite3_close()在[database connection]数据库连接被调用,该数
**据库连接中仍有显式的[prepared statements][BLOB handles],则返回
**SQLITE_BUSY。当事务打开时,调用sqlite3_close(),事务自动回滚。
** ^If [sqlite3_close()] is invoked while a transaction is open,
** the transaction is automatically rolled back.
**sqlite3_close(C)的C参数可以是NULL指针或从sqlite3_open()、sqlite3_**open16()、sqlite3_open_v2()获取的[sqlite3]对象指针
**使用NULL参数调用sqlite3_close()为没负作用的空操作
** The C parameter to [sqlite3_close(C)] must be either a NULL
** pointer or an [sqlite3] object pointer obtained
** from [sqlite3_open()], [sqlite3_open16()], or
** [sqlite3_open_v2()], and not previously closed.
** ^Calling sqlite3_close() with a NULL pointer argument is a
** harmless no-op.
*/
SQLITE_API int sqlite3_close(sqlite3 *);