Is there any built-in function to enable query log in SQLite.
I’m familiar with Trace API, but I want to know if there is any predefined function for it.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
There is no easy way to do this like with MySQL, but there are some options:
One:
Some wrapper-libraries have something like this built-in. But to find a wrapper library you would probably first need to identify the target language. Perl DBI? Python? C++?
Two:
I would not (in any way) recommend the following for a “production-grade” solution, but if you are mainly experimenting and/or debugging, then you might try examining the rollback journal just prior to the end of each transaction. See here about the rollback journal: http://www.sqlite.org/tempfiles.html How you would detect ‘the end of each transaction’ would be up to your code and/or the breakpoints in your debugger.
I must emphasize again: what I just mentioned above would be a total hack-around, and I feel dirty even having mentioned it.
Three:
You could ask on the (very active and gracious) sqlite mailing list, but they would probably just reemphasize sqlite3_trace.
… other random thing:
On a somewhat (barely?) related note, when you start a ‘./sqlite3’ command prompt session, you can type:
which enables interesting and instructive verbose output for each query executed at the prompt.
More Info I Just Found:
One of the flags that can be passed to ‘sqlite3_config()’ is SQLITE_CONFIG_LOG. This is another way (in addition to the trace API) to set a callback and receive status information from the sqlite library periodically. I think it is mainly for error log messages.