Index: third_party/sqlite/patches/0005-Virtual-table-supporting-recovery-of-corrupted-datab.patch |
diff --git a/third_party/sqlite/patches/0006-Virtual-table-supporting-recovery-of-corrupted-datab.patch b/third_party/sqlite/patches/0005-Virtual-table-supporting-recovery-of-corrupted-datab.patch |
similarity index 98% |
rename from third_party/sqlite/patches/0006-Virtual-table-supporting-recovery-of-corrupted-datab.patch |
rename to third_party/sqlite/patches/0005-Virtual-table-supporting-recovery-of-corrupted-datab.patch |
index a746784408eecbf4fb7db47205c9c27b7640e2bf..35a29b9c28ca7fb963260e92140d88ee0059d4bf 100644 |
--- a/third_party/sqlite/patches/0006-Virtual-table-supporting-recovery-of-corrupted-datab.patch |
+++ b/third_party/sqlite/patches/0005-Virtual-table-supporting-recovery-of-corrupted-datab.patch |
@@ -1,7 +1,7 @@ |
-From ec588be0416fab3e957d0901eb6e638543b01229 Mon Sep 17 00:00:00 2001 |
+From 29b8ad9263dbc700c002e9044c7c712a566a26d7 Mon Sep 17 00:00:00 2001 |
From: Scott Hess <shess@chromium.org> |
Date: Sat, 20 Jul 2013 11:42:21 -0700 |
-Subject: [PATCH 06/11] Virtual table supporting recovery of corrupted |
+Subject: [PATCH 05/10] Virtual table supporting recovery of corrupted |
databases. |
"recover" implements a virtual table which uses the SQLite pager layer |
@@ -17,16 +17,16 @@ third_party/sqlite/src/src/{recover,recover-alt}.c . |
--- |
third_party/sqlite/src/Makefile.in | 1 + |
third_party/sqlite/src/Makefile.linux-gcc | 4 + |
- third_party/sqlite/src/main.mk | 4 +- |
+ third_party/sqlite/src/main.mk | 5 +- |
third_party/sqlite/src/src/main.c | 8 + |
- third_party/sqlite/src/src/recover.c | 2165 ++++++++++++++++++++++++++++ |
+ third_party/sqlite/src/src/recover.c | 2167 ++++++++++++++++++++++++++++ |
third_party/sqlite/src/src/sqlite.h.in | 16 + |
third_party/sqlite/src/test/recover.test | 147 ++ |
third_party/sqlite/src/test/recover0.test | 532 +++++++ |
third_party/sqlite/src/test/recover1.test | 429 ++++++ |
third_party/sqlite/src/test/recover2.test | 157 ++ |
third_party/sqlite/src/tool/mksqlite3c.tcl | 2 + |
- 11 files changed, 3464 insertions(+), 1 deletion(-) |
+ 11 files changed, 3467 insertions(+), 1 deletion(-) |
create mode 100644 third_party/sqlite/src/src/recover.c |
create mode 100644 third_party/sqlite/src/test/recover.test |
create mode 100644 third_party/sqlite/src/test/recover0.test |
@@ -34,10 +34,10 @@ third_party/sqlite/src/src/{recover,recover-alt}.c . |
create mode 100644 third_party/sqlite/src/test/recover2.test |
diff --git a/third_party/sqlite/src/Makefile.in b/third_party/sqlite/src/Makefile.in |
-index a2213e8..1389486 100644 |
+index 1fe49d6..8b965c7 100644 |
--- a/third_party/sqlite/src/Makefile.in |
+++ b/third_party/sqlite/src/Makefile.in |
-@@ -253,6 +253,7 @@ SRC = \ |
+@@ -260,6 +260,7 @@ SRC = \ |
$(TOP)/src/prepare.c \ |
$(TOP)/src/printf.c \ |
$(TOP)/src/random.c \ |
@@ -46,7 +46,7 @@ index a2213e8..1389486 100644 |
$(TOP)/src/rowset.c \ |
$(TOP)/src/select.c \ |
diff --git a/third_party/sqlite/src/Makefile.linux-gcc b/third_party/sqlite/src/Makefile.linux-gcc |
-index 4f6cdf1..dd8f46d 100644 |
+index 952e8d1..f6291c0 100644 |
--- a/third_party/sqlite/src/Makefile.linux-gcc |
+++ b/third_party/sqlite/src/Makefile.linux-gcc |
@@ -81,6 +81,10 @@ OPTS += -DSQLITE_MEMDEBUG=1 |
@@ -61,19 +61,20 @@ index 4f6cdf1..dd8f46d 100644 |
# Nothing for unix. |
# |
diff --git a/third_party/sqlite/src/main.mk b/third_party/sqlite/src/main.mk |
-index dc56b0d..2189fd6 100644 |
+index 6ff3bd4..a8629aa 100644 |
--- a/third_party/sqlite/src/main.mk |
+++ b/third_party/sqlite/src/main.mk |
-@@ -65,7 +65,7 @@ LIBOBJ+= vdbe.o parse.o \ |
+@@ -67,7 +67,8 @@ LIBOBJ+= vdbe.o parse.o \ |
mutex.o mutex_noop.o mutex_unix.o mutex_w32.o \ |
notify.o opcodes.o os.o os_unix.o os_win.o \ |
pager.o pcache.o pcache1.o pragma.o prepare.o printf.o \ |
-- random.o resolve.o rowset.o rtree.o select.o status.o \ |
-+ random.o recover.o resolve.o rowset.o rtree.o select.o status.o \ |
- table.o threads.o tokenize.o trigger.o \ |
+- random.o resolve.o rowset.o rtree.o select.o sqlite3rbu.o status.o \ |
++ random.o recover.o resolve.o rowset.o rtree.o \ |
++ select.o sqlite3rbu.o status.o \ |
+ table.o threads.o tokenize.o treeview.o trigger.o \ |
update.o userauth.o util.o vacuum.o \ |
vdbeapi.o vdbeaux.o vdbeblob.o vdbemem.o vdbesort.o \ |
-@@ -135,6 +135,7 @@ SRC = \ |
+@@ -140,6 +141,7 @@ SRC = \ |
$(TOP)/src/prepare.c \ |
$(TOP)/src/printf.c \ |
$(TOP)/src/random.c \ |
@@ -81,7 +82,7 @@ index dc56b0d..2189fd6 100644 |
$(TOP)/src/resolve.c \ |
$(TOP)/src/rowset.c \ |
$(TOP)/src/select.c \ |
-@@ -315,6 +316,7 @@ TESTSRC2 = \ |
+@@ -360,6 +362,7 @@ TESTSRC2 = \ |
$(TOP)/src/prepare.c \ |
$(TOP)/src/printf.c \ |
$(TOP)/src/random.c \ |
@@ -90,10 +91,10 @@ index dc56b0d..2189fd6 100644 |
$(TOP)/src/pcache1.c \ |
$(TOP)/src/select.c \ |
diff --git a/third_party/sqlite/src/src/main.c b/third_party/sqlite/src/src/main.c |
-index fc03700..d15ab9bb 100644 |
+index 3be7c77..301808c 100644 |
--- a/third_party/sqlite/src/src/main.c |
+++ b/third_party/sqlite/src/src/main.c |
-@@ -2644,6 +2644,14 @@ static int openDatabase( |
+@@ -2927,6 +2927,14 @@ static int openDatabase( |
} |
#endif |
@@ -110,10 +111,10 @@ index fc03700..d15ab9bb 100644 |
rc = sqlite3IcuInit(db); |
diff --git a/third_party/sqlite/src/src/recover.c b/third_party/sqlite/src/src/recover.c |
new file mode 100644 |
-index 0000000..6882d6f |
+index 0000000..8e3929d |
--- /dev/null |
+++ b/third_party/sqlite/src/src/recover.c |
-@@ -0,0 +1,2165 @@ |
+@@ -0,0 +1,2167 @@ |
+/* |
+** 2012 Jan 11 |
+** |
@@ -335,7 +336,8 @@ index 0000000..6882d6f |
+ * DbPage.pData, .pPager, and .pgno |
+ * sqlite3 struct. |
+ * sqlite3BtreePager() and sqlite3BtreeGetPageSize() |
-+ * sqlite3PagerAcquire() and sqlite3PagerUnref() |
++ * sqlite3BtreeGetOptimalReserve() |
++ * sqlite3PagerGet() and sqlite3PagerUnref() |
+ * getVarint(). |
+ */ |
+#include "sqliteInt.h" |
@@ -521,7 +523,8 @@ index 0000000..6882d6f |
+ } |
+ |
+ *pPager = sqlite3BtreePager(pBt); |
-+ *pnPageSize = sqlite3BtreeGetPageSize(pBt) - sqlite3BtreeGetReserve(pBt); |
++ *pnPageSize = |
++ sqlite3BtreeGetPageSize(pBt) - sqlite3BtreeGetOptimalReserve(pBt); |
+ return SQLITE_OK; |
+} |
+ |
@@ -893,7 +896,7 @@ index 0000000..6882d6f |
+ if( interiorCursorPageInUse(pCursor, iPage) ){ |
+ fprintf(stderr, "Loop detected at %d\n", iPage); |
+ }else{ |
-+ int rc = sqlite3PagerAcquire(pCursor->pPage->pPager, iPage, ppPage, 0); |
++ int rc = sqlite3PagerGet(pCursor->pPage->pPager, iPage, ppPage, 0); |
+ if( rc==SQLITE_OK ){ |
+ return SQLITE_ROW; |
+ } |
@@ -1037,7 +1040,7 @@ index 0000000..6882d6f |
+ while( iNextPage && nBytes<nRecordBytes ){ |
+ RecoverOverflow *pOverflow; /* New overflow page for the list. */ |
+ |
-+ rc = sqlite3PagerAcquire(pPage->pPager, iNextPage, &pPage, 0); |
++ rc = sqlite3PagerGet(pPage->pPager, iNextPage, &pPage, 0); |
+ if( rc!=SQLITE_OK ){ |
+ break; |
+ } |
@@ -1366,7 +1369,7 @@ index 0000000..6882d6f |
+ int rc; |
+ |
+ /* Start out with the root page. */ |
-+ rc = sqlite3PagerAcquire(pPager, iRootPage, &pPage, 0); |
++ rc = sqlite3PagerGet(pPager, iRootPage, &pPage, 0); |
+ if( rc!=SQLITE_OK ){ |
+ return rc; |
+ } |
@@ -2280,12 +2283,12 @@ index 0000000..6882d6f |
+ return SQLITE_OK; |
+} |
diff --git a/third_party/sqlite/src/src/sqlite.h.in b/third_party/sqlite/src/src/sqlite.h.in |
-index 36aa999..333adfe 100644 |
+index e5673fd..6829bcb 100644 |
--- a/third_party/sqlite/src/src/sqlite.h.in |
+++ b/third_party/sqlite/src/src/sqlite.h.in |
-@@ -7408,6 +7408,22 @@ int sqlite3_vtab_on_conflict(sqlite3 *); |
- |
- |
+@@ -7411,6 +7411,22 @@ int sqlite3_strnicmp(const char *, const char *, int); |
+ */ |
+ int sqlite3_strglob(const char *zGlob, const char *zStr); |
+/* Begin recover virtual table patch for Chromium */ |
+/* Our patches don't conform to SQLite's amalgamation processing. Hack it. */ |
@@ -3596,10 +3599,10 @@ index 0000000..8aa4e04 |
+ |
+finish_test |
diff --git a/third_party/sqlite/src/tool/mksqlite3c.tcl b/third_party/sqlite/src/tool/mksqlite3c.tcl |
-index 0e97923..9e2b0fe 100644 |
+index 23241e2..1113758 100644 |
--- a/third_party/sqlite/src/tool/mksqlite3c.tcl |
+++ b/third_party/sqlite/src/tool/mksqlite3c.tcl |
-@@ -316,6 +316,8 @@ foreach file { |
+@@ -361,6 +361,8 @@ foreach file { |
main.c |
notify.c |
@@ -3609,5 +3612,5 @@ index 0e97923..9e2b0fe 100644 |
fts3_aux.c |
fts3_expr.c |
-- |
-2.4.5 |
+2.7.0 |