Есть ли встроенная функция для включения журнала запросов в SQLite.
Я знаком с API Trace, но хочу знать, есть ли какая-либо предопределенная функция для него.
Ответ 1
Интересный вопрос. Я пришел сюда заинтригован и задавался вопросом, почему я никогда не спрашивал об этом сам...
Один:
По-видимому, некоторые библиотеки-обертки имеют что-то вроде этого встроенного. Но чтобы найти библиотеку обертки, вам, вероятно, сначала нужно будет определить целевой язык. Perl DBI? Python? С++?
Два:
Я бы не (в любом случае) рекомендую следующее для решения "производственного класса", но если вы в основном экспериментируете и/или отлаживаете, то вы можете попробовать изучить журнал отката только до конца каждой транзакции. См. здесь журнал отката: http://www.sqlite.org/tempfiles.html Как бы вы определили, что "конец каждой транзакции" будет соответствовать вашему коду и/или точки останова в вашем отладчике.
Я должен еще раз подчеркнуть: то, что я только что упомянул выше, было бы полным взломом, и я чувствую себя грязным, даже упомянув об этом.
Три
Вы можете запросить (очень активный и любезный) список рассылки sqlite, но они, вероятно, просто переосмыслили sqlite3_trace.
... другая случайная вещь:
В некоторой части (только?) связанной заметке, когда вы запускаете сеанс командной строки './sqlite3', вы можете ввести:
.explain
который позволяет получить интересный и поучительный подробный вывод для каждого запроса, выполненного в приглашении.