SQLite C 接口
SQL 跟踪钩子
int sqlite3_trace_v2( sqlite3*, unsigned uMask, int(*xCallback)(unsigned,void*,void*,void*), void *pCtx );
sqlite3_trace_v2(D,M,X,P) 接口使用属性掩码 M 和上下文指针 P 注册针对数据库连接D 的跟踪回调函数 X。如果 X 回调为 NULL 或如果 M 掩码为零,则禁用跟踪. M 参数应该是零个或多个SQLITE_TRACE常量的按位或运算组合。
每次调用 sqlite3_trace() 或 sqlite3_trace_v2() 都会覆盖(取消)之前对 sqlite3_trace() 或 sqlite3_trace_v2() 的任何调用。
只要掩码 M 标识的任何事件发生,就会调用 X 回调。回调的整数返回值目前被忽略,尽管这可能会在未来的版本中改变。回调实现应返回零以确保未来的兼容性。
使用四个参数调用跟踪回调:callback(T,C,P,X)。T 参数是SQLITE_TRACE 常量之一,用于指示调用回调的原因。C 参数是上下文指针的副本。P 和 X 参数是指针,其含义取决于 T。
sqlite3_trace_v2() 接口旨在替换遗留接口sqlite3_trace()和sqlite3_profile(),这两个接口都已弃用。