SQLite

Ticket Change Details
Login
Overview

Artifact ID: cc30ae323765dcf9c32dcf2e32a781107a7a4a89
Ticket: 11d5aa455e0d98f3c1e6a084a89309710458ee4d
sqlite3_trace() sometimes does not invoke its callback
User & Date: drh 2014-08-19 19:57:38
Changes

  1. foundin changed to: "3.8.6"
  2. icomment:
    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
    </verbatim></blockquote>
    
    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.
    
  3. login: "drh"
  4. mimetype: "text/x-fossil-wiki"
  5. severity changed to: "Minor"
  6. status changed to: "Open"
  7. title changed to:
    sqlite3_trace() sometimes does not invoke its callback
    
  8. type changed to: "Code_Defect"