sqlite.h


Funciones de trazado y perfil

void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
void *sqlite3_profile(sqlite3*, void(*xProfile)(void*,const char*,sqlite3_uint64), void*);

Estas funciones registran funciones de retrollamada que pueden ser usadas para seguimiento y perfiles de ejecución de sentencias SQL.

La función de retrollamada registrada por sqlite3_trace() es invocada en varias ocasiones cuando una sentencia SQL se ejecuta por sqlite3_step(). La retrollamada sqlite3_trace() se invoca con representación de texto UTF-8 cuando la sentencia SQL se ejecuta por primera vez. Se pueden producir retrollamadas sqlite3_trace() adicionales para cada entrada en subprogramas disparados. Las retrollamadas para disparadores contienen un comentario SQL en UTF-8 que identifica al disparador.

La función de retrollamada registrada por sqlite3_profile() es invocada cada vez que una sentencia SQL finaliza. La retrollamada de perfil contiene el texto de la sentencia original y una estimación de tiempo de cuanto tardó en ejecutarse la sentencia. El tiempo de la retrollamada de perfil está en nanosegundos, sin embargo la implementación actual sólo es capaz de una resolución de milisegundos de modo que los seis dígitos menos significativos no tienen sentido. Futuras versiones de SQLite pueden proporcionar mayor resolución en la retrollamada de perfil. La función sqlite3_profile() se considera experimental y está sujeta a cambios en futuras versiones de SQLite.