RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Перехват трассировки 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 = 0, то отслеживание отключено. Аргумент M должен быть комбинацией OR из 0 или более констант 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().