无效* sqlite3_trace(sqlite3 *, void(* xTrace)(void *,const char *),void *); 无效* sqlite3_profile(sqlite3 *, void(* xProfile)(void *,const char *,sqlite3_uint64),void *);
这些例程已弃用。使用sqlite3_trace_v2()接口代替此处描述的例程。
这些例程注册了可用于跟踪和分析SQL语句执行的回调函数。
()由sqlite3_trace注册的回调函数在不同的时间被调用时的SQL语句正在运行的sqlite3_step() 。在语句开始执行时,使用SQL语句文本的UTF-8渲染调用sqlite3_trace()回调。输入每个触发的子程序时,可能会发生其他sqlite3_trace()回调。触发器的回调包含用于标识触发器的UTF-8 SQL注释。
所述SQLITE_TRACE_SIZE_LIMIT编译时选项可用于限制所长度绑定参数在sqlite3_trace的输出扩展()。
在每个SQL语句完成时,调用sqlite3_profile()注册的回调函数。配置文件回调包含原始语句文本以及该语句运行多长时间的挂钟时间估计。配置文件回调时间以纳秒为单位,但是当前实现仅能实现毫秒级的分辨率,因此时间中的六个最低有效数字是没有意义的。SQLite的未来版本可能会在探查器回调中提供更高的分辨率。调用sqlite3_trace()或sqlite3_trace_v2()将取消配置文件回调。