Index: third_party/sqlite/src/src/pager.h |
diff --git a/third_party/sqlite/src/src/pager.h b/third_party/sqlite/src/src/pager.h |
index eab7ddaf80bb44c3a89c1b7123a8691be19b64fb..c9ca8553b9d7e703f47ec7f693aebbcf9a0a8e85 100644 |
--- a/third_party/sqlite/src/src/pager.h |
+++ b/third_party/sqlite/src/src/pager.h |
@@ -58,8 +58,7 @@ typedef struct PgHdr DbPage; |
** NOTE: These values must match the corresponding BTREE_ values in btree.h. |
*/ |
#define PAGER_OMIT_JOURNAL 0x0001 /* Do not use a rollback journal */ |
-#define PAGER_NO_READLOCK 0x0002 /* Omit readlocks on readonly files */ |
-#define PAGER_MEMORY 0x0004 /* In-memory database */ |
+#define PAGER_MEMORY 0x0002 /* In-memory database */ |
/* |
** Valid values for the second argument to sqlite3PagerLockingMode(). |
@@ -80,6 +79,24 @@ typedef struct PgHdr DbPage; |
#define PAGER_JOURNALMODE_WAL 5 /* Use write-ahead logging */ |
/* |
+** Flags that make up the mask passed to sqlite3PagerAcquire(). |
+*/ |
+#define PAGER_GET_NOCONTENT 0x01 /* Do not load data from disk */ |
+#define PAGER_GET_READONLY 0x02 /* Read-only page is acceptable */ |
+ |
+/* |
+** Flags for sqlite3PagerSetFlags() |
+*/ |
+#define PAGER_SYNCHRONOUS_OFF 0x01 /* PRAGMA synchronous=OFF */ |
+#define PAGER_SYNCHRONOUS_NORMAL 0x02 /* PRAGMA synchronous=NORMAL */ |
+#define PAGER_SYNCHRONOUS_FULL 0x03 /* PRAGMA synchronous=FULL */ |
+#define PAGER_SYNCHRONOUS_MASK 0x03 /* Mask for three values above */ |
+#define PAGER_FULLFSYNC 0x04 /* PRAGMA fullfsync=ON */ |
+#define PAGER_CKPT_FULLFSYNC 0x08 /* PRAGMA checkpoint_fullfsync=ON */ |
+#define PAGER_CACHESPILL 0x10 /* PRAGMA cache_spill=ON */ |
+#define PAGER_FLAGS_MASK 0x1c /* All above except SYNCHRONOUS */ |
+ |
+/* |
** The remainder of this file contains the declarations of the functions |
** that make up the Pager sub-system API. See source code comments for |
** a detailed description of each routine. |
@@ -103,7 +120,9 @@ void sqlite3PagerSetBusyhandler(Pager*, int(*)(void *), void *); |
int sqlite3PagerSetPagesize(Pager*, u32*, int); |
int sqlite3PagerMaxPageCount(Pager*, int); |
void sqlite3PagerSetCachesize(Pager*, int); |
-void sqlite3PagerSetSafetyLevel(Pager*,int,int,int); |
+void sqlite3PagerSetMmapLimit(Pager *, sqlite3_int64); |
+void sqlite3PagerShrink(Pager*); |
+void sqlite3PagerSetFlags(Pager*,unsigned); |
int sqlite3PagerLockingMode(Pager *, int); |
int sqlite3PagerSetJournalMode(Pager *, int); |
int sqlite3PagerGetJournalMode(Pager*); |
@@ -117,6 +136,7 @@ int sqlite3PagerAcquire(Pager *pPager, Pgno pgno, DbPage **ppPage, int clrFlag); |
DbPage *sqlite3PagerLookup(Pager *pPager, Pgno pgno); |
void sqlite3PagerRef(DbPage*); |
void sqlite3PagerUnref(DbPage*); |
+void sqlite3PagerUnrefNotNull(DbPage*); |
/* Operations on page references. */ |
int sqlite3PagerWrite(DbPage*); |
@@ -131,30 +151,39 @@ void sqlite3PagerPagecount(Pager*, int*); |
int sqlite3PagerBegin(Pager*, int exFlag, int); |
int sqlite3PagerCommitPhaseOne(Pager*,const char *zMaster, int); |
int sqlite3PagerExclusiveLock(Pager*); |
-int sqlite3PagerSync(Pager *pPager); |
+int sqlite3PagerSync(Pager *pPager, const char *zMaster); |
int sqlite3PagerCommitPhaseTwo(Pager*); |
int sqlite3PagerRollback(Pager*); |
int sqlite3PagerOpenSavepoint(Pager *pPager, int n); |
int sqlite3PagerSavepoint(Pager *pPager, int op, int iSavepoint); |
int sqlite3PagerSharedLock(Pager *pPager); |
-int sqlite3PagerCheckpoint(Pager *pPager, int, int*, int*); |
-int sqlite3PagerWalSupported(Pager *pPager); |
-int sqlite3PagerWalCallback(Pager *pPager); |
-int sqlite3PagerOpenWal(Pager *pPager, int *pisOpen); |
-int sqlite3PagerCloseWal(Pager *pPager); |
+#ifndef SQLITE_OMIT_WAL |
+ int sqlite3PagerCheckpoint(Pager *pPager, int, int*, int*); |
+ int sqlite3PagerWalSupported(Pager *pPager); |
+ int sqlite3PagerWalCallback(Pager *pPager); |
+ int sqlite3PagerOpenWal(Pager *pPager, int *pisOpen); |
+ int sqlite3PagerCloseWal(Pager *pPager); |
+#endif |
+ |
+#ifdef SQLITE_ENABLE_ZIPVFS |
+ int sqlite3PagerWalFramesize(Pager *pPager); |
+#endif |
/* Functions used to query pager state and configuration. */ |
u8 sqlite3PagerIsreadonly(Pager*); |
int sqlite3PagerRefcount(Pager*); |
int sqlite3PagerMemUsed(Pager*); |
-const char *sqlite3PagerFilename(Pager*); |
+const char *sqlite3PagerFilename(Pager*, int); |
const sqlite3_vfs *sqlite3PagerVfs(Pager*); |
sqlite3_file *sqlite3PagerFile(Pager*); |
const char *sqlite3PagerJournalname(Pager*); |
int sqlite3PagerNosync(Pager*); |
void *sqlite3PagerTempSpace(Pager*); |
int sqlite3PagerIsMemdb(Pager*); |
+void sqlite3PagerCacheStat(Pager *, int, int, int *); |
+void sqlite3PagerClearCache(Pager *); |
+int sqlite3SectorSize(sqlite3_file *); |
/* Functions used to truncate the database file. */ |
void sqlite3PagerTruncateImage(Pager*,Pgno); |