aboutsummaryrefslogtreecommitdiff
path: root/src/wal.h
diff options
context:
space:
mode:
authordan <dan@noemail.net>2010-11-16 18:56:51 +0000
committerdan <dan@noemail.net>2010-11-16 18:56:51 +0000
commita58f26f93f77ae83021d52ff76738f27a59596b9 (patch)
treeafa92bf1f5beecef718d32dd5334eeb4c934ae78 /src/wal.h
parent95aa47b10a6ff9e920ee82b1dcde8c8ed73c69c2 (diff)
downloadsqlite-a58f26f93f77ae83021d52ff76738f27a59596b9.tar.gz
sqlite-a58f26f93f77ae83021d52ff76738f27a59596b9.zip
Add experimental command "PRAGMA wal_blocking_checkpoint", which uses the busy-handler to block until all readers have finished in order to ensure the next writer will be able to wrap around to the start of the log file.
FossilOrigin-Name: 7e3fc2c833a5baa08820c499867b6902bdc2ed5a
Diffstat (limited to 'src/wal.h')
-rw-r--r--src/wal.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/wal.h b/src/wal.h
index 35f695c88..e9c614fe8 100644
--- a/src/wal.h
+++ b/src/wal.h
@@ -32,7 +32,7 @@
# define sqlite3WalSavepoint(y,z)
# define sqlite3WalSavepointUndo(y,z) 0
# define sqlite3WalFrames(u,v,w,x,y,z) 0
-# define sqlite3WalCheckpoint(u,v,w,x) 0
+# define sqlite3WalCheckpoint(u,v,w,x,y,z) 0
# define sqlite3WalCallback(z) 0
# define sqlite3WalExclusiveMode(y,z) 0
# define sqlite3WalHeapMemory(z) 0
@@ -86,6 +86,8 @@ int sqlite3WalFrames(Wal *pWal, int, PgHdr *, Pgno, int, int);
/* Copy pages from the log to the database file */
int sqlite3WalCheckpoint(
Wal *pWal, /* Write-ahead log connection */
+ int (*xBusy)(void*), /* Function to call when busy */
+ void *pBusyArg, /* Context argument for xBusyHandler */
int sync_flags, /* Flags to sync db file with (or 0) */
int nBuf, /* Size of buffer nBuf */
u8 *zBuf /* Temporary buffer to use */