| Index: third_party/sqlite/src/src/pcache.h
|
| diff --git a/third_party/sqlite/src/src/pcache.h b/third_party/sqlite/src/src/pcache.h
|
| index 42c44cf7ba07297e35c53aedc30576a25636ce8b..9012edf22e8c832e8ee4c1e01e2fcd22c4fe9879 100644
|
| --- a/third_party/sqlite/src/src/pcache.h
|
| +++ b/third_party/sqlite/src/src/pcache.h
|
| @@ -26,7 +26,7 @@ struct PgHdr {
|
| sqlite3_pcache_page *pPage; /* Pcache object page handle */
|
| void *pData; /* Page data */
|
| void *pExtra; /* Extra content */
|
| - PgHdr *pDirty; /* Transient list of dirty pages */
|
| + PgHdr *pDirty; /* Transient list of dirty sorted by pgno */
|
| Pager *pPager; /* The pager this page is part of */
|
| Pgno pgno; /* Page number for this page */
|
| #ifdef SQLITE_CHECK_PAGES
|
| @@ -51,9 +51,10 @@ struct PgHdr {
|
| #define PGHDR_WRITEABLE 0x004 /* Journaled and ready to modify */
|
| #define PGHDR_NEED_SYNC 0x008 /* Fsync the rollback journal before
|
| ** writing this page to the database */
|
| -#define PGHDR_NEED_READ 0x010 /* Content is unread */
|
| -#define PGHDR_DONT_WRITE 0x020 /* Do not write content to disk */
|
| -#define PGHDR_MMAP 0x040 /* This is an mmap page object */
|
| +#define PGHDR_DONT_WRITE 0x010 /* Do not write content to disk */
|
| +#define PGHDR_MMAP 0x020 /* This is an mmap page object */
|
| +
|
| +#define PGHDR_WAL_APPEND 0x040 /* Appended to wal file */
|
|
|
| /* Initialize and shutdown the page cache subsystem */
|
| int sqlite3PcacheInitialize(void);
|
| @@ -97,6 +98,7 @@ void sqlite3PcacheDrop(PgHdr*); /* Remove page from cache */
|
| void sqlite3PcacheMakeDirty(PgHdr*); /* Make sure page is marked dirty */
|
| void sqlite3PcacheMakeClean(PgHdr*); /* Mark a single page as clean */
|
| void sqlite3PcacheCleanAll(PCache*); /* Mark all dirty list pages as clean */
|
| +void sqlite3PcacheClearWritable(PCache*);
|
|
|
| /* Change a page number. Used by incr-vacuum. */
|
| void sqlite3PcacheMove(PgHdr*, Pgno);
|
| @@ -135,6 +137,11 @@ int sqlite3PcachePagecount(PCache*);
|
| void sqlite3PcacheIterateDirty(PCache *pCache, void (*xIter)(PgHdr *));
|
| #endif
|
|
|
| +#if defined(SQLITE_DEBUG)
|
| +/* Check invariants on a PgHdr object */
|
| +int sqlite3PcachePageSanity(PgHdr*);
|
| +#endif
|
| +
|
| /* Set and get the suggested cache-size for the specified pager-cache.
|
| **
|
| ** If no global maximum is configured, then the system attempts to limit
|
| @@ -171,4 +178,7 @@ void sqlite3PCacheSetDefault(void);
|
| int sqlite3HeaderSizePcache(void);
|
| int sqlite3HeaderSizePcache1(void);
|
|
|
| +/* Number of dirty pages as a percentage of the configured cache size */
|
| +int sqlite3PCachePercentDirty(PCache*);
|
| +
|
| #endif /* _PCACHE_H_ */
|
|
|