SQLite C 接口

SQL 跟踪事件代码

#define SQLITE_TRACE_STMT       0x01
#define SQLITE_TRACE_PROFILE    0x02
#define SQLITE_TRACE_ROW        0x04
#define SQLITE_TRACE_CLOSE      0x08

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

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

跟踪回调有四个参数: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 参数未使用。

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