欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQLITE源码剖析(11)

程序员文章站 2022-03-02 16:28:49
...

声明:本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 *);