int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb);
The sqlite3_wal_checkpoint(D,X) interface causes database named X on database connection D to be checkpointed. If X is NULL or an empty string, then a checkpoint is run on all databases of connection D. If the database connection D is not in write-ahead log mode then this interface is a harmless no-op.
The wal_checkpoint pragma can be used to invoke this interface from SQL. The sqlite3_wal_autocheckpoint() interface and the wal_autocheckpoint pragma can be used to cause this interface to be run whenever the WAL reaches a certain size threshold.
See also: sqlite3_wal_checkpoint_v2()