/ Check-in [7d284d04]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Futher tweaks to the sqlite3_wal_checkpoint_v2() documentation.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 7d284d047b0677fb4532df5aae06f5bad997f5e9
User & Date: drh 2014-12-03 16:30:27
Context
2014-12-03
18:32
Simplify the sqlite3_wal_checkpoint() documentation. Add some source code evidence marks. check-in: 026c44ff user: drh tags: trunk
16:30
Futher tweaks to the sqlite3_wal_checkpoint_v2() documentation. check-in: 7d284d04 user: drh tags: trunk
15:50
Updates to the documentation for sqlite3_wal_checkpoint_v2() and related interfaces, including adding many requirements marks. check-in: 1e212d98 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/sqlite.h.in.

7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310


7311
7312
7313
7314
7315
7316
7317
....
7338
7339
7340
7341
7342
7343
7344





7345
7346
7347
7348
7349
7350
7351
** <dt>SQLITE_CHECKPOINT_TRUNCATE<dd>
**   ^This mode works the same way as SQLITE_CHECKPOINT_RESTART with the addition
**   that it also truncates the log file to zero bytes just prior to a successful
**   return.
** </dl>
**
** ^If pnLog is not NULL, then *pnLog is set to the total number of frames in
** the log file before returning or to -1 if the checkpoint could not run because
** of an error or because the database is not in [WAL mode]. ^If pnCkpt is not NULL,
** then *pnCkpt is set to the total number of checkpointed frames (including any
** that were already checkpointed before the function was called) or to -1 if the
** checkpoint could not run due to an error or because the database is not in
** WAL mode.


**
** ^All calls obtain an exclusive "checkpoint" lock on the database file. ^If
** any other process is running a checkpoint operation at the same time, the 
** lock cannot be obtained and SQLITE_BUSY is returned. ^Even if there is a 
** busy-handler configured, it will not be invoked in this case.
**
** ^The SQLITE_CHECKPOINT_FULL, RESTART and TRUNCATE modes also obtain the 
................................................................................
** databases, SQLITE_OK is returned.
**
** ^If database zDb is the name of an attached database that is not in WAL
** mode, SQLITE_OK is returned and both *pnLog and *pnCkpt set to -1. ^If
** zDb is not NULL (or a zero length string) and is not the name of any
** attached database, SQLITE_ERROR is returned to the caller.
**





** ^The [PRAGMA wal_checkpoint] command can be used to invoke this interface
** from SQL.
*/
int sqlite3_wal_checkpoint_v2(
  sqlite3 *db,                    /* Database handle */
  const char *zDb,                /* Name of attached database (or NULL) */
  int eMode,                      /* SQLITE_CHECKPOINT_* value */







|

|
|
|
|
>
>







 







>
>
>
>
>







7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
....
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
** <dt>SQLITE_CHECKPOINT_TRUNCATE<dd>
**   ^This mode works the same way as SQLITE_CHECKPOINT_RESTART with the addition
**   that it also truncates the log file to zero bytes just prior to a successful
**   return.
** </dl>
**
** ^If pnLog is not NULL, then *pnLog is set to the total number of frames in
** the log file or to -1 if the checkpoint could not run because
** of an error or because the database is not in [WAL mode]. ^If pnCkpt is not NULL,
** then *pnCkpt is set to the total number of checkpointed frames in the log file
** (including any that were already checkpointed before the function was called)
** or to -1 if the checkpoint could not run due to an error or because the
** database is not in WAL mode. ^Note that upon successful completion of
** an SQLITE_CHECKPOINT_TRUNCATE, the log file will have been truncated to
** zero bytes and so both *pnLog and *pnCkpt will be set to zero.
**
** ^All calls obtain an exclusive "checkpoint" lock on the database file. ^If
** any other process is running a checkpoint operation at the same time, the 
** lock cannot be obtained and SQLITE_BUSY is returned. ^Even if there is a 
** busy-handler configured, it will not be invoked in this case.
**
** ^The SQLITE_CHECKPOINT_FULL, RESTART and TRUNCATE modes also obtain the 
................................................................................
** databases, SQLITE_OK is returned.
**
** ^If database zDb is the name of an attached database that is not in WAL
** mode, SQLITE_OK is returned and both *pnLog and *pnCkpt set to -1. ^If
** zDb is not NULL (or a zero length string) and is not the name of any
** attached database, SQLITE_ERROR is returned to the caller.
**
** ^Unless it returns SQLITE_MISUSE,
** the sqlite3_wal_checkpoint_v2() interface
** sets the error information that is queried by
** [sqlite3_errcode()] and [sqlite3_errmsg()].
**
** ^The [PRAGMA wal_checkpoint] command can be used to invoke this interface
** from SQL.
*/
int sqlite3_wal_checkpoint_v2(
  sqlite3 *db,                    /* Database handle */
  const char *zDb,                /* Name of attached database (or NULL) */
  int eMode,                      /* SQLITE_CHECKPOINT_* value */