Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

.Dd December 19, 2018
.Dt SQLITE3_TRACE_V2 3
.Os
.Sh NAME
.Nm sqlite3_trace_v2
.Nd SQL Trace Hook
.Sh SYNOPSIS
.Ft int 
.Fo sqlite3_trace_v2
.Fa "sqlite3*"
.Fa "unsigned uMask"
.Fa "int(*xCallback)(unsigned,void*,void*,void*)"
.Fa "void *pCtx "
.Fc
.Sh DESCRIPTION
The sqlite3_trace_v2(D,M,X,P) interface registers a trace callback
function X against database connection D, using
property mask M and context pointer P.
If the X callback is NULL or if the M mask is zero, then tracing is
disabled.
The M argument should be the bitwise OR-ed combination of zero or more
SQLITE_TRACE constants.
.Pp
Each call to either sqlite3_trace() or sqlite3_trace_v2() overrides
(cancels) any prior calls to sqlite3_trace() or sqlite3_trace_v2().
.Pp
The X callback is invoked whenever any of the events identified by
mask M occur.
The integer return value from the callback is currently ignored, though
this may change in future releases.
Callback implementations should return zero to ensure future compatibility.
.Pp
A trace callback is invoked with four arguments: callback(T,C,P,X).
The T argument is one of the SQLITE_TRACE constants to
indicate why the callback was invoked.
The C argument is a copy of the context pointer.
The P and X arguments are pointers whose meanings depend on T.
.Pp
The sqlite3_trace_v2() interface is intended to replace the legacy
interfaces sqlite3_trace() and sqlite3_profile(),
both of which are deprecated.
.Sh SEE ALSO
.Xr sqlite3 3 ,
.Xr sqlite3_trace 3 ,
.Xr SQLITE_TRACE_STMT 3