The callback to sqlite3_trace() is suppose to be invoked for every SQL statement
that is run by the VDBE.  But sometimes the callback will be suppressed.  If
the prepared statement is marked as expired (which can happen, for example,
if the RHS of an expression like "x GLOB ?1" is rebound and X is an indexed
text column) then the callback is not invoked.  This can be seen in the shell
by running:

<blockquote><verbatim>
.trace stderr
.tables


The SELECT statement that implements the ".tables" command is not traced.

This problem appears to have existed since 2012-10-03, version 3.7.15 and
check-in [39f763bfc04174ee0fe2cdf6a92].  The problem was discovered during
internal testing and has not been observed in the wild.