`
deepfuture
  • 浏览: 4443755 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80567
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:71217
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:104516
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:288372
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15254
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:68878
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32789
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46485
社区版块
存档分类
最新评论

SQLITE源码剖析(13)

阅读更多

 声明:本SQLite源码剖析系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载

//第一个参数的每个回调请求被转到sqlite3_exec() 的第4个参数,

//如果指向sqlite3_exec()的回调指针是NULL,则没有回调被调用,

//且结果行被忽略。

**^The 4th argument to

** to sqlite3_exec() is relayed through to the 1st argument of each

** callback invocation.  ^If the callback pointer to sqlite3_exec()

** is NULL, then no callback is ever invoked and result rows are

** ignored.

**当执行SQL语句时,如果错误发生在sqlite3_exec()中,则当前语句

**的执行停止,且子语句被跳过。如果sqlite3_exec()的第5个参

**数非NULL,则error信息被写入从sqlite3_malloc()分配的内存。为防

**内存泄露,应用程序必须调用sqlite3_free()释放从sqlite3_exec()的

**第5个参数返回的错误信息字符串,当这些错误信息字符串不再需要时。

**如果sqlite3_exec()的第5个参数为非NULL且没有错误发生,

**sqlite3_exec()返回前将设置其为NULL

** ^If an error occurs while evaluating the SQL statements passed into

** sqlite3_exec(), then execution of the current statement stops and

** subsequent statements are skipped.  ^If the 5th parameter to sqlite3_exec()

** is not NULL then any error message is written into memory obtained

** from [sqlite3_malloc()] and passed back through the 5th parameter.

** To avoid memory leaks, the application should invoke [sqlite3_free()]

** on error message strings returned through the 5th parameter of

** of sqlite3_exec() after the error message string is no longer needed.

** ^If the 5th parameter to sqlite3_exec() is not NULL and no errors

** occur, then sqlite3_exec() sets the pointer in its 5th parameter to

** NULL before returning.

**如果sqlite3_exec()回调返回非0,则sqlite3_exec()通常

**返回SQLITE_ABORT,不运行任何后来的SQL语句

** ^If an sqlite3_exec() callback returns non-zero, the sqlite3_exec()

** routine returns SQLITE_ABORT without invoking the callback again and

** without running any subsequent SQL statements.

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics