|Perl Monk, Perl Meditation|
Re: DBI trace has limited outputby kcott (Bishop)
|on Oct 23, 2021 at 18:34 UTC||Need Help??|
This is vague, contradictory, and missing information. You'll need to supply a lot more information before we can effectively help you.
"I've enabled DBI trace with level 15 so it shows the full trace but it has no effect."
On the surface, this is contradictory: "so it shows the full trace" is the expected effect. Did you perhaps mean the opposite: "but it doesn't show the full trace"? Suggests a coding problem but, as you've shown no code, that's just guesswork.
"the output remains the same whether level 1 or 99"
There is no trace level 99. The valid range is 0-15.
"In particular I'd like to capture the SQL queries with the values interpolated."
See "DBI: Trace Flags"; in particular,
You haven't told us which DBD you're using, so I'm unable to comment on that part. There's also the possibility of a coding error; again, no code so only guesses.
"In other machines I do."
Please tell what machine you're currently using and the machines on which the same code is capturing the SQL queries.
"It's a bit of an old system with DBI version 1.64."
There is no "DBI version 1.64". See DBI: there are versions like 1.64x, where x is 0-3 and dates are 2018-2020 (so none are particularly old); BackPAN has a v0.64 from 1995.
In an attempt to provide some basic help, I created this dummy test database:
I then wrote this very simple Perl script (trace_none.pl) as a basic test:
The output from that is the same as from the raw SQL statement:
Then I made multiple copies of that which changed the trace level to 1, 4, 5 and 15 (e.g. DBI->trace(4);). I then made equivalent copies that included the SQL trace flag (e.g. DBI->trace("4|SQL");). At each increased trace level, more information was produced. The SQL trace flag made no noticeable difference (so it doesn't look like DBD::SQLite is one of the DBDs that support that flag).
The output from all of those is far too great to post here; you can, of course, try them for yourself. However, I did capture the output from all of those; you can see how they increase with each trace level:
The first thing for you to do would be to read "How do I post a question effectively?" so that you understand the type of information we need and how to format it. Then create one or more SSCCE's to allow us to investigate: keep these as simple as possible, much like I've shown above.
All of my examples use Perl 5.34 and DBI 1.643.