Manual Page Result
0
Command: sqlite3_wal_hook | Section: 3 | Source: NetBSD | File: sqlite3_wal_hook.3
SQLITE3_WAL_HOOK(3) FreeBSD Library Functions Manual SQLITE3_WAL_HOOK(3)
NAME
sqlite3_wal_hook - Write-Ahead Log Commit Hook
SYNOPSIS
void *
sqlite3_wal_hook(sqlite3*, int(*)(void *,sqlite3*,const char*,int),
void* );
DESCRIPTION
The sqlite3_wal_hook() function is used to register a callback that is
invoked each time data is committed to a database in wal mode.
The callback is invoked by SQLite after the commit has taken place and
the associated write-lock on the database released , so the
implementation may read, write or checkpoint the database as required.
The first parameter passed to the callback function when it is invoked is
a copy of the third parameter passed to sqlite3_wal_hook() when
registering the callback. The second is a copy of the database handle.
The third parameter is the name of the database that was written to -
either "main" or the name of an ATTACH-ed database. The fourth parameter
is the number of pages currently in the write-ahead log file, including
those that were just committed.
The callback function should normally return SQLITE_OK. If an error code
is returned, that error will propagate back up through the SQLite code
base to cause the statement that provoked the callback to report an
error, though the commit will have still occurred. If the callback
returns SQLITE_ROW or SQLITE_DONE, or if it returns a value that does not
correspond to any valid SQLite error code, the results are undefined.
A single database handle may have at most a single write-ahead log
callback registered at one time. Calling sqlite3_wal_hook() replaces any
previously registered write-ahead log callback. Note that the
sqlite3_wal_autocheckpoint() interface and the wal_autocheckpoint pragma
both invoke sqlite3_wal_hook() and will overwrite any prior
sqlite3_wal_hook() settings.
SEE ALSO
sqlite3_wal_autocheckpoint(3), sqlite3_wal_hook(3), SQLITE_OK(3)
FreeBSD 14.1-RELEASE-p8 December 19, 2018 FreeBSD 14.1-RELEASE-p8