Symbian SQL Tracing Guide

This document discusses how to enable Symbian SQL tracing

How to enable Symbian SQL tracing

You can enable SQL tracing in two steps.

  • Enable the executable for trace.

  • Enable the trace type.

Enabling the executable for trace

The three sub-components of the Symbian SQL library executable are the database client, the database server and the SQLite static library with these .mmp files:

  • sqldb.mmp

  • sqlsrv.mmp

  • sqlite.mmp

In each of these files look for the macro SYMBIAN_INCLUDE_EXECUTABLE_TRACE and uncomment it.

Enabling the trace type

SQL traces are of three types:

  • Function entry and exit traces: these traces generate timestamps indicating how long a function took to execute and what its argument was. Where the argument is an SQL statement, these traces are useful for identifying inefficient use of SQL.

  • Error traces: these trace function leaves and panics in the client and server and are useful for debugging database applications.

  • Key event traces: these traces supply data about key events which are relevant to database implementation:

    • IPC calls sent to and serviced by the SQL server.

    • Startup and close of the SQL server.

    • The number of full table scans and sort operations performed by an RSqlStatement object.

Traces of each type can be enabled independently. The file UTraceSql.h defines the macros

  • SYMBIAN_TRACE_SQL_FUNC to enable function entry and exit traces,

  • SYMBIAN_TRACE_SQL_ERR to enable error traces, and

  • SYMBIAN_TRACE_SQL_EVENTS to enable key events.

To enable tracing you uncomment the macro for the type of tracing required.