From: dan Date: Mon, 12 Apr 2010 19:05:58 +0000 (+0000) Subject: Add "log.h", which should have been part of the previous commit. X-Git-Tag: version-3.7.2~455^2~93 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6700d02cceca8de56e28505274fddb5fa28ba778;p=thirdparty%2Fsqlite.git Add "log.h", which should have been part of the previous commit. FossilOrigin-Name: 8de9f010044fc992b5b45a7bb0da1284b404ecdb --- diff --git a/manifest b/manifest index 4983ed4acd..e6ea0e5413 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Import\sexperimental\swrite-ahead-logging\scode. -D 2010-04-12T19:00:30 +C Add\s"log.h",\swhich\sshould\shave\sbeen\spart\sof\sthe\sprevious\scommit. +D 2010-04-12T19:05:58 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 4f2f967b7e58a35bb74fb7ec8ae90e0f4ca7868b F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -132,6 +132,7 @@ F src/legacy.c a199d7683d60cef73089e892409113e69c23a99f F src/lempar.c 7f026423f4d71d989e719a743f98a1cbd4e6d99e F src/loadext.c 1c7a61ce1281041f437333f366a96aa0d29bb581 F src/log.c 6e8f296f6c566a297cd074c4165f1695fd1df5b7 +F src/log.h e691f7d935d6a8ad63b9de2e6014627056f01e1a F src/main.c c0e7192bad5b90544508b241eb2487ac661de890 F src/malloc.c a08f16d134f0bfab6b20c3cd142ebf3e58235a6a F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 @@ -802,11 +803,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 51a613950824698687c0db83b7884db33d45f7f5 -R d1eaede94883ac0829acce36d14527da -T *bgcolor * #ffd0c0 -T *branch * wal -T *sym-wal * -T -sym-trunk * +P 409d61baeb0a19d1700c973f16c8acef7b8506cd +R 05e422fded750e42fd289d80ab078a37 U dan -Z 9f87e000c4066ee64fca3bc82365cd7e +Z 97a0dd7c04bfbe6a9f80405a5df46925 diff --git a/manifest.uuid b/manifest.uuid index bb821cd344..375208965b 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -409d61baeb0a19d1700c973f16c8acef7b8506cd \ No newline at end of file +8de9f010044fc992b5b45a7bb0da1284b404ecdb \ No newline at end of file diff --git a/src/log.h b/src/log.h new file mode 100644 index 0000000000..63fa8ae433 --- /dev/null +++ b/src/log.h @@ -0,0 +1,61 @@ +/* +** 2010 February 1 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** This header file defines the interface to the write-ahead logging +** system. Refer to the comments below and the header comment attached to +** the implementation of each function in log.c for further details. +*/ + +#ifndef _LOG_H_ +#define _LOG_H_ + +#include "sqliteInt.h" + +/* Flags that may be set in the 'flags' argument to sqlite3LogWrite(): */ +#define LOG_MASK_COMMIT 0x08 +#define LOG_MASK_MASTERJOURNAL 0x10 +#define LOG_MASK_TRUNCATE 0x20 + + +#define LOG_TRUNCATE_BIT 0x80000000 + +/* Connection to a log file. There is one object of this type for each pager. */ +typedef struct Log Log; + +/* Open and close a connection to a log file. */ +int sqlite3LogOpen(sqlite3_vfs*, const char *zDb, Log **ppLog); +int sqlite3LogClose(Log *pLog, sqlite3_file *pFd, u8 *zBuf); + +/* Configure the log connection. */ +void sqlite3LogSetSyncflags(Log *, int sync_flags); + +/* Used by readers to open (lock) and close (unlock) a database snapshot. */ +int sqlite3LogOpenSnapshot(Log *pLog, int *); +void sqlite3LogCloseSnapshot(Log *pLog); + +/* Read a page from the log, if it is present. */ +int sqlite3LogRead(Log *pLog, Pgno pgno, int *pInLog, u8 *pOut); +void sqlite3LogMaxpgno(Log *pLog, Pgno *pPgno); + +/* Obtain or release the WRITER lock. */ +int sqlite3LogWriteLock(Log *pLog, int op); + +/* Write a segment to the log. */ +int sqlite3LogFrames(Log *pLog, int, PgHdr *, Pgno, int, int); + +/* Copy pages from the log to the database file */ +int sqlite3LogCheckpoint( + Log *pLog, /* Log connection */ + sqlite3_file *pFd, /* File descriptor open on db file */ + u8 *zBuf /* Temporary buffer to use */ +); + +#endif /* _LOG_H_ */