Обработчик отслеживания SQL
int sqlite3_trace_v2( sqlite3*, unsigned uMask, int(*xCallback)(unsigned,void*,void*,void*), void *pCtx );
Интерфейс sqlite3_trace_v2(D,M,X,P) регистрирует функцию обратного вызова отслеживания X для соединения с базой данных D, используя маску свойств M и указатель контекста P. Если функция обратного вызова X равна NULL или маска M равна нулю, то отслеживание отключено. Аргумент M должен быть результатом побитового ИЛИ нескольких констант SQLITE_TRACE.
Каждый вызов sqlite3_trace(D,X,P) или sqlite3_trace_v2(D,M,X,P) перезаписывает (отменяет) все предыдущие вызовы sqlite3_trace(D,X,P) или sqlite3_trace_v2(D,M,X,P) для соединения с базой данных D. Каждое соединение с базой данных может иметь не более одной функции обратного вызова отслеживания.
Функция обратного вызова X вызывается всякий раз, когда происходит какое-либо из событий, определенных маской M. Целочисленное значение, возвращаемое функцией обратного вызова, в настоящее время игнорируется, хотя это может измениться в будущих выпусках. Реализации функций обратного вызова должны возвращать ноль для обеспечения совместимости в будущем.
Функция обратного вызова отслеживания вызывается с четырьмя аргументами: callback(T,C,P,X). Аргумент T — одна из констант SQLITE_TRACE, указывающая, по какой причине был вызван обратный вызов. Аргумент C — копия указателя контекста. Аргументы P и X — указатели, значение которых зависит от T.
Интерфейс sqlite3_trace_v2() предназначен для замены устаревших интерфейсов sqlite3_trace() и sqlite3_profile().
См. также списки объектов, констант и функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/trace_v2.html