SQL Trace Hook
SQL Trace Hook
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_tracev2() 和sqlite3_profilev2() ,两者都被弃用。