Small. Fast. Reliable.
Choose any three.

SQLite C接口

SQL跟踪事件代码

#定义SQLITE_TRACE_STMT 0x01
#定义SQLITE_TRACE_PROFILE 0x02
#定义SQLITE_TRACE_ROW 0x04
#定义SQLITE_TRACE_CLOSE 0x08

这些常量标识可以使用sqlite3_trace_v2()跟踪逻辑进行监视的事件类别。sqlite3_trace_v2(D,M,X,P)的M参数是以下常量中的一个或多个的OR-ed组合。跟踪回调的第一个参数是以下常量之一。

新的跟踪常量可能会在将来的版本中添加。

跟踪回调具有四个参数:xCallback(T,C,P,X)。T参数是上面的整数类型代码之一。C参数是上下文指针的副本,该上下文指针作为第四个参数传递给sqlite3_trace_v2()。P和X参数是指针,其含义取决于T。

SQLITE_TRACE_STMT
当准备好的语句首次开始运行时,以及可能在准备好的语句执行期间的其他时间(例如,在每个触发器子程序的开始处),将调用SQLITE_TRACE_STMT回调。P参数是指向预准备语句的指针 。X参数是一个指向字符串的指针,该字符串是准备好的语句的未扩展SQL文本,或者是表示触发触发器的SQL注释。 当X以“-”开头时,通过使用X参数,该回调可以计算与旧的sqlite3_trace()接口返回的文本相同的文本,否则调用 sqlite3_expanded_sql(P)

SQLITE_TRACE_PROFILE
SQLITE_TRACE_PROFILE回调提供的信息与sqlite3_profile()回调提供的信息大致相同。P参数是指向已准备好的语句的指针,而X参数则指向64位整数,该整数是已准备好的语句运行所需的纳秒数的估计值。语句完成后,将调用SQLITE_TRACE_PROFILE回调。

SQLITE_TRACE_ROW
只要准备好的语句生成一行结果,就会调用SQLITE_TRACE_ROW回调。P参数是指向已准备好的语句的指针,而X参数未使用。

SQLITE_TRACE_CLOSE
数据库连接关闭时,将调用SQLITE_TRACE_CLOSE回调。P参数是指向数据库连接对象的指针,X参数未使用。

另请参见 对象常量函数的列表