小巧、快速、可靠。
選擇其中三項。

SQLite C 介面

SQL 追蹤鉤子

int sqlite3_trace_v2(
  sqlite3*,
  unsigned uMask,
  int(*xCallback)(unsigned,void*,void*,void*),
  void *pCtx
);

sqlite3_trace_v2(D,M,X,P) 介面會使用屬性遮罩 M 和上下文指標 P,針對資料庫連線 D 註冊一個追蹤回呼函式 X。如果 X 回呼為 NULL 或 M 遮罩為零,則會停用追蹤。M 參數應為零個或多個 SQLITE_TRACE 常數的位元或組合。

每次呼叫 sqlite3_trace(D,X,P) 或 sqlite3_trace_v2(D,M,X,P) 都會覆蓋(取消)先前針對資料庫連線 D 的所有 sqlite3_trace(D,X,P) 或 sqlite3_trace_v2(D,M,X,P) 呼叫。每個資料庫連線最多只能有一個追蹤回呼。

每當遮罩 M 標識的任何事件發生時,就會呼叫 X 回呼。目前會忽略回呼的整數傳回值,但這在未來的版本中可能會改變。為了確保未來的相容性,回呼實作應該傳回零。

追蹤回呼會以四個參數呼叫:callback(T,C,P,X)。T 參數是 SQLITE_TRACE 常數之一,用於指示呼叫回呼的原因。C 參數是上下文指標的副本。P 和 X 參數是指標,其含義取決於 T。

sqlite3_trace_v2() 介面旨在取代已棄用的舊版介面 sqlite3_trace()sqlite3_profile()

另請參閱物件常數函式的清單。