.Dd January 24, 2024 .Dt SQLITE3_WAL_AUTOCHECKPOINT 3 .Os .Sh NAME .Nm sqlite3_wal_autocheckpoint .Nd configure an auto-checkpoint .Sh SYNOPSIS .In sqlite3.h .Ft int .Fo sqlite3_wal_autocheckpoint .Fa "sqlite3 *db" .Fa "int N" .Fc .Sh DESCRIPTION The sqlite3_wal_autocheckpoint(D,N) is a wrapper around .Fn sqlite3_wal_hook that causes any database on database connection D to automatically checkpoint after committing a transaction if there are N or more frames in the write-ahead log file. Passing zero or a negative value as the nFrame parameter disables automatic checkpoints entirely. .Pp The callback registered by this function replaces any existing callback registered using .Fn sqlite3_wal_hook . Likewise, registering a callback using .Fn sqlite3_wal_hook disables the automatic checkpoint mechanism configured by this function. .Pp The wal_autocheckpoint pragma can be used to invoke this interface from SQL. .Pp Checkpoints initiated by this mechanism are PASSIVE. .Pp Every new database connection defaults to having the auto-checkpoint enabled with a threshold of 1000 or SQLITE_DEFAULT_WAL_AUTOCHECKPOINT pages. The use of this interface is only necessary if the default setting is found to be suboptimal for a particular application. .Sh IMPLEMENTATION NOTES These declarations were extracted from the interface documentation at line 9553. .Bd -literal SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int N); .Ed .Sh SEE ALSO .Xr sqlite3 3 , .Xr sqlite3_wal_checkpoint_v2 3 , .Xr sqlite3_wal_hook 3