aboutsummaryrefslogtreecommitdiff
path: root/tool/sqlite3-rsync.c
diff options
context:
space:
mode:
authordrh <>2024-10-07 12:48:21 +0000
committerdrh <>2024-10-07 12:48:21 +0000
commit2813eb3c9e64a706fdec47b3075ab33f1013d2af (patch)
tree1700b39bf257d77c3679de21f255c528c7902006 /tool/sqlite3-rsync.c
parentce527f2e971d0c50c779f00fa6a3af61cc94e52e (diff)
parentfba24d352810856f714baa5ad137ae61d693cb0b (diff)
downloadsqlite-2813eb3c9e64a706fdec47b3075ab33f1013d2af.tar.gz
sqlite-2813eb3c9e64a706fdec47b3075ab33f1013d2af.zip
Add the undocumented test/debug function parseuri(), useful for fuzzing.
Only appears when compiling with SQLITE_DEBUG. FossilOrigin-Name: 011fab70cb3d194b27742ebb236b05be582230567cf78e3e6cac6911de86922f
Diffstat (limited to 'tool/sqlite3-rsync.c')
-rw-r--r--tool/sqlite3-rsync.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/tool/sqlite3-rsync.c b/tool/sqlite3-rsync.c
index 216390c18..401c4b33e 100644
--- a/tool/sqlite3-rsync.c
+++ b/tool/sqlite3-rsync.c
@@ -1197,6 +1197,7 @@ static void originSide(SQLiteRsync *p){
int c = 0;
unsigned int nPage = 0;
unsigned int iPage = 0;
+ unsigned int lockBytePage = 0;
unsigned int szPg = 0;
sqlite3_stmt *pCkHash = 0;
char buf[200];
@@ -1235,6 +1236,7 @@ static void originSide(SQLiteRsync *p){
p->nPage = nPage;
p->szPage = szPg;
p->iProtocol = PROTOCOL_VERSION;
+ lockBytePage = (1<<30)/szPg + 1;
}
}
@@ -1290,6 +1292,7 @@ static void originSide(SQLiteRsync *p){
" INSERT INTO badHash SELECT n FROM c",
iPage+1, p->nPage);
}
+ runSql(p, "DELETE FROM badHash WHERE pgno=%d", lockBytePage);
pStmt = prepareStmt(p,
"SELECT pgno, data"
" FROM badHash JOIN sqlite_dbpage('main') USING(pgno)");