*** DRAFT ***

SQLite C Interface

SQL Trace Event Codes

#define SQLITE_TRACE_STMT       0x01
#define SQLITE_TRACE_PROFILE    0x02
#define SQLITE_TRACE_ROW        0x04
#define SQLITE_TRACE_CLOSE      0x08

These constants identify classes of events that can be monitored using the sqlite3_trace_v2() tracing logic. The M argument to sqlite3_trace_v2(D,M,X,P) is an OR-ed combination of one or more of the following constants. R-01386-30047:[The first argument to the trace callback is one of the following constants. ]

New tracing constants may be added in future releases.

R-49248-49502:[A trace callback has four arguments: xCallback(T,C,P,X). ] R-00303-53643:[The T argument is one of the integer type codes above. ] R-42043-38025:[The C argument is a copy of the context pointer passed in as the fourth argument to sqlite3_trace_v2(). ] The P and X arguments are pointers whose meanings depend on T.

SQLITE_TRACE_STMT
R-15462-52806:[An SQLITE_TRACE_STMT callback is invoked when a prepared statement first begins running and possibly at other times during the execution of the prepared statement, such as at the start of each trigger subprogram. ] R-35903-55864:[The P argument is a pointer to the prepared statement. ] R-20053-18593:[The X argument is a pointer to a string which is the unexpanded SQL text of the prepared statement or an SQL comment that indicates the invocation of a trigger. ] R-50676-09860:[The callback can compute the same text that would have been returned by the legacy sqlite3_trace() interface by using the X argument when X begins with "--" and invoking sqlite3_expanded_sql(P) otherwise. ]

SQLITE_TRACE_PROFILE
R-47563-44180:[An SQLITE_TRACE_PROFILE callback provides approximately the same information as is provided by the sqlite3_profile() callback. ] R-65526-17003:[The P argument is a pointer to the prepared statement and the X argument points to a 64-bit integer which is approximately the number of nanoseconds that the prepared statement took to run. ] R-43754-40546:[The SQLITE_TRACE_PROFILE callback is invoked when the statement finishes. ]

SQLITE_TRACE_ROW
R-24189-42234:[An SQLITE_TRACE_ROW callback is invoked whenever a prepared statement generates a single row of result. ] R-63404-48526:[The P argument is a pointer to the prepared statement and the X argument is unused. ]

SQLITE_TRACE_CLOSE
R-24550-28707:[An SQLITE_TRACE_CLOSE callback is invoked when a database connection closes. ] R-11278-45262:[The P argument is a pointer to the database connection object and the X argument is unused. ]

See also lists of Objects, Constants, and Functions.

*** DRAFT ***