diff options
Diffstat (limited to 'third_party/sqlite/preload-cache.patch')
-rw-r--r-- | third_party/sqlite/preload-cache.patch | 96 |
1 files changed, 48 insertions, 48 deletions
diff --git a/third_party/sqlite/preload-cache.patch b/third_party/sqlite/preload-cache.patch index 8dc5778..e2788b3 100644 --- a/third_party/sqlite/preload-cache.patch +++ b/third_party/sqlite/preload-cache.patch @@ -1,8 +1,8 @@ -Index: src/build.c -=================================================================== ---- src/build.c 2009-09-11 07:02:46.000000000 -0700 -+++ src/build.c 2009-09-14 18:16:46.000000000 -0700 -@@ -26,6 +26,9 @@ +diff --git a/third_party/sqlite/src/src/build.c b/third_party/sqlite/src/src/build.c +index 2cfb1f4..c9eed5e 100644 +--- a/third_party/sqlite/src/src/build.c ++++ b/third_party/sqlite/src/src/build.c +@@ -24,6 +24,9 @@ */ #include "sqliteInt.h" @@ -12,7 +12,7 @@ Index: src/build.c /* ** This routine is called when a new SQL statement is beginning to ** be parsed. Initialize the pParse structure as needed. -@@ -3659,3 +3662,30 @@ +@@ -3688,3 +3691,30 @@ KeyInfo *sqlite3IndexKeyinfo(Parse *pParse, Index *pIdx){ } return pKey; } @@ -43,39 +43,13 @@ Index: src/build.c + return SQLITE_OK; +} +/* End preload-cache.patch for Chromium */ -Index: src/sqlite3.h.in -=================================================================== ---- src/sqlite.h.in 2009-09-09 07:03:20.000000000 -0700 -+++ src/sqlite.h.in 2009-09-15 11:34:26.000000000 -0700 -@@ -4677,6 +4677,21 @@ - */ - int sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset); - -+/* Begin preload-cache.patch for Chromium */ -+/* -+** Preload the databases into the pager cache, up to the maximum size of the -+** pager cache. -+** -+** For a database to be loaded successfully, the pager must be active. That is, -+** there must be an open statement on that database. See sqlite3pager_loadall -+** -+** There might be many databases attached to the given connection. We iterate -+** them all and try to load them. If none are loadable successfully, we return -+** an error. Otherwise, we return OK. -+*/ -+int sqlite3Preload(sqlite3 *db); -+/* End preload-cache.patch for Chromium */ -+ - /* - ** CAPI3REF: Virtual File System Objects {H11200} <S20100> - ** -Index: src/pager.c -=================================================================== ---- src/pager.c 2009-09-07 08:58:09.000000000 -0700 -+++ src/pager.c 2009-09-15 16:43:07.000000000 -0700 -@@ -388,6 +388,16 @@ - */ - #define PAGER_MAX_PGNO 2147483647 +diff --git a/third_party/sqlite/src/src/pager.c b/third_party/sqlite/src/src/pager.c +index 2faeb15..ba88923 100644 +--- a/third_party/sqlite/src/src/pager.c ++++ b/third_party/sqlite/src/src/pager.c +@@ -790,6 +790,16 @@ static int pagerUseWal(Pager *pPager){ + # define pagerBeginReadTransaction(z) SQLITE_OK + #endif +/* Begin preload-cache.patch for Chromium */ +/* See comments above the definition. */ @@ -90,7 +64,7 @@ Index: src/pager.c #ifndef NDEBUG /* ** Usage: -@@ -3788,6 +3798,25 @@ +@@ -4869,6 +4879,25 @@ int sqlite3PagerAcquire( DbPage **ppPage, /* Write a pointer to the page here */ int noContent /* Do not bother reading content from disk if true */ ){ @@ -116,7 +90,7 @@ Index: src/pager.c int rc; PgHdr *pPg; -@@ -3870,9 +3899,17 @@ +@@ -4944,9 +4973,17 @@ int sqlite3PagerAcquire( IOTRACE(("ZERO %p %d\n", pPager, pgno)); }else{ assert( pPg->pPager==pPager ); @@ -136,8 +110,8 @@ Index: src/pager.c + } } } - #ifdef SQLITE_CHECK_PAGES -@@ -5221,6 +5258,91 @@ + pager_set_pagehash(pPg); +@@ -6318,6 +6355,91 @@ int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, int isCommit){ } #endif @@ -229,11 +203,11 @@ Index: src/pager.c /* ** Return a pointer to the data for the specified page. */ -Index: src/pager.h -=================================================================== ---- src/pager.h 2009-09-04 13:37:42.000000000 -0700 -+++ src/pager.h 2009-09-15 11:31:55.000000000 -0700 -@@ -143,6 +143,8 @@ +diff --git a/third_party/sqlite/src/src/pager.h b/third_party/sqlite/src/src/pager.h +index c12afa7..f451a47 100644 +--- a/third_party/sqlite/src/src/pager.h ++++ b/third_party/sqlite/src/src/pager.h +@@ -153,6 +153,8 @@ const sqlite3_vfs *sqlite3PagerVfs(Pager*); sqlite3_file *sqlite3PagerFile(Pager*); const char *sqlite3PagerJournalname(Pager*); int sqlite3PagerNosync(Pager*); @@ -242,3 +216,29 @@ Index: src/pager.h void *sqlite3PagerTempSpace(Pager*); int sqlite3PagerIsMemdb(Pager*); +diff --git a/third_party/sqlite/src/src/sqlite.h.in b/third_party/sqlite/src/src/sqlite.h.in +index 2bbd687..25012ad 100644 +--- a/third_party/sqlite/src/src/sqlite.h.in ++++ b/third_party/sqlite/src/src/sqlite.h.in +@@ -4683,6 +4683,21 @@ int sqlite3_declare_vtab(sqlite3*, const char *zSQL); + */ + int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg); + ++/* Begin preload-cache.patch for Chromium */ ++/* ++** Preload the databases into the pager cache, up to the maximum size of the ++** pager cache. ++** ++** For a database to be loaded successfully, the pager must be active. That is, ++** there must be an open statement on that database. See sqlite3pager_loadall ++** ++** There might be many databases attached to the given connection. We iterate ++** them all and try to load them. If none are loadable successfully, we return ++** an error. Otherwise, we return OK. ++*/ ++int sqlite3Preload(sqlite3 *db); ++/* End preload-cache.patch for Chromium */ ++ + /* + ** The interface to the virtual-table mechanism defined above (back up + ** to a comment remarkably similar to this one) is currently considered |