Регистрация операторов SQL с использованием SQLiteDatabase - PullRequest
4 голосов
/ 20 ноября 2011

Я хочу увидеть операторы SQL, сгенерированные SQLiteDatabase, чтобы понять, почему что-то не так.Есть ли способ сделать журнал SQLiteDatabase для logcat?

Спасибо, Итай.

РЕДАКТИРОВАТЬ: Это не то же самое, что Регистрация SQL-запросов в Android , как яя пытаюсь войти вставки и обновления операторов - у меня нет курсора.

1 Ответ

2 голосов
/ 20 ноября 2011

Вы должны реализовать это самостоятельно, используя API-интерфейс трассировки, чтобы вы могли реализовать обратный вызов SQLite Trace :

Функция обратного вызова, зарегистрированная sqlite3_trace (), вызывается в различные моменты, когда SQL-оператор выполняется sqlite3_step (). Обратный вызов sqlite3_trace () вызывается с помощью рендеринга UTF-8 Текст оператора SQL как оператор сначала начинает выполняться. дополнительный Обратные вызовы sqlite3_trace () могут возникать, так как каждая запущенная подпрограмма поступил. Обратные вызовы для триггеров содержат комментарий SQL UTF-8, который идентифицирует триггер.

Функция обратного вызова, зарегистрированная sqlite3_profile (), вызывается как каждый оператор SQL заканчивается. Профиль обратного вызова содержит исходный текст выписки и приблизительное время суток. это заявление взяло на себя. Время обратного вызова профиля в единицах наносекунды, однако текущая реализация способна только разрешение в миллисекундах, так что шесть наименее значащих цифр во времени бессмысленны. Будущие версии SQLite могут обеспечить большую разрешение на обратный вызов профилировщика. Функция sqlite3_profile () считается экспериментальным и подлежит изменению в будущих версиях SQLite.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...