SQL Trace Event Codes
#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()的第三个参数是一个或多个以下常量的OR-ed组合。跟踪回调的第一个参数是以下常量之一。
未来版本中可能会添加新的跟踪常量。
跟踪回调有四个参数:xCallback(T,C,P,X)。T参数是上面的整数类型代码之一。C参数是作为sqlite3_trace_v2()的第四个参数传入的上下文指针的副本。P和X参数是指其含义取决于T的指针。
SQLITE_TRACE_STMTA 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_ROWAn只要准备好的语句生成一行结果,就会调用SQLITE_TRACE_ROW回调。P参数是一个指向准备语句的指针,X参数未被使用。SQLITE_TRACE_CLOSE在数据库连接关闭时调用SQLITE_TRACE_CLOSE回调。P参数是一个指向数据库连接对象的指针,并且X参数未使用。语句结束时调用SQLITE_TRACE_PROFILE回调。SQLITE_TRACE_ROWAn只要准备好的语句生成一行结果,就会调用SQLITE_TRACE_ROW回调。P参数是一个指向准备语句的指针,X参数未被使用。SQLITE_TRACE_CLOSE在数据库连接关闭时调用SQLITE_TRACE_CLOSE回调。P参数是一个指向数据库连接对象的指针,并且X参数未使用。语句结束时调用SQLITE_TRACE_PROFILE回调。SQLITE_TRACE_ROWAn只要准备好的语句生成一行结果,就会调用SQLITE_TRACE_ROW回调。P参数是一个指向准备语句的指针,X参数未被使用。SQLITE_TRACE_CLOSE在数据库连接关闭时调用SQLITE_TRACE_CLOSE回调。P参数是一个指向数据库连接对象的指针,并且X参数未使用。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com