diff options
-rw-r--r-- | manifest | 12 | ||||
-rw-r--r-- | manifest.uuid | 2 | ||||
-rw-r--r-- | tool/sqlite3_rsync.c | 11 |
3 files changed, 17 insertions, 8 deletions
@@ -1,5 +1,5 @@ -C Promote\sthe\s--protocol\soption\sto\ssqlite3_rsync\sfrom\sbeing\san\sundocumented\ndebug\soption\sto\sbeing\sa\ssupported\sand\suser-visible\soption.\s\sThis\sis\s\nsometimes\sneeded\sto\swork\saround\sbugs\sin\sprior\sversions\srunning\son\sthe\nremote. -D 2025-05-03T10:35:32.727 +C Addition\ssummary\sresults\soutput\swhen\susing\s-vvv\son\ssqlite3_rsync. +D 2025-05-03T10:49:39.005 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -2189,7 +2189,7 @@ F tool/spellsift.tcl 52b4b04dc4333c7ab024f09d9d66ed6b6f7c6eb00b38497a09f338fa55d F tool/split-sqlite3c.tcl 07e18a1d8cc3f6b3a4a1f3528e63c9b29a5c8a7bca0b8d394b231da464ce1247 F tool/sqldiff.c 134be7866be19f8beb32043d5aea5657f01aaeae2df8d33d758ff722c78666b9 F tool/sqlite3_analyzer.c.in 14f02cb5ec3c264cd6107d1f1dad77092b1cf440fc196c30b69ae87b56a1a43b -F tool/sqlite3_rsync.c 2b054aedddb9a8d042f865bcf7e6d056a538c6ea370075a45a1b1d5321336506 +F tool/sqlite3_rsync.c f6a7b1577b1fceb13f3fccc7ca25a6a3b1565e22b784f4862a028d7945b48670 F tool/sqltclsh.c.in 1bcc2e9da58fadf17b0bf6a50e68c1159e602ce057210b655d50bad5aaaef898 F tool/sqltclsh.tcl 862f4cf1418df5e1315b5db3b5ebe88969e2a784525af5fbf9596592f14ed848 F tool/src-verify.c d00f93263aa2fa6ba0cba0106d95458e6effb94fdb5fc634f56834f90c05bbb4 @@ -2207,8 +2207,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P e5d87aaa8fe1e8c8cb63813d26851183e77809a3d36e4c16c37f88b4b4724d6d -R 274803538653b39ce860d97f8dde4625 +P 4855e04e44e8fce2d6e37dd468eb6e9f4565c36cbc964156e65ac0449d7c212f +R d43ab97a6e993d57a1722261542d0a22 U drh -Z 61278ff2cbea7da5e237a83fadf41915 +Z bf784ea19e5f3b9d0205ad27dc713ff4 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 79dd0229b..ecfb7c191 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -4855e04e44e8fce2d6e37dd468eb6e9f4565c36cbc964156e65ac0449d7c212f +c702999cfac37fdcae64d261408e58d1f49fee65434fe346db6a2a6c7f8ac54e diff --git a/tool/sqlite3_rsync.c b/tool/sqlite3_rsync.c index 6607e1fb0..0a3228247 100644 --- a/tool/sqlite3_rsync.c +++ b/tool/sqlite3_rsync.c @@ -40,6 +40,7 @@ static const char zUsage[] = ; typedef unsigned char u8; +typedef sqlite3_uint64 u64; /* Context for the run */ typedef struct SQLiteRsync SQLiteRsync; @@ -66,7 +67,8 @@ struct SQLiteRsync { sqlite3_uint64 nIn; /* Bytes received */ unsigned int nPage; /* Total number of pages in the database */ unsigned int szPage; /* Database page size */ - unsigned int nHashSent; /* Hashes sent (replica to origin) */ + u64 nHashSent; /* Hashes sent (replica to origin) */ + unsigned int nRound; /* Number of hash batches (replica to origin) */ unsigned int nPageSent; /* Page contents sent (origin to replica) */ }; @@ -1466,6 +1468,7 @@ static void originSide(SQLiteRsync *p){ if( p->zDebugFile ){ debugMessage(p, "<- REPLICA_READY\n"); } + p->nRound++; pStmt = prepareStmt(p,"SELECT pgno, sz FROM badHash WHERE sz>1"); if( pStmt==0 ) break; while( sqlite3_step(pStmt)==SQLITE_ROW ){ @@ -1603,6 +1606,7 @@ static void sendHashMessages( runSql(p, "DELETE FROM sendHash"); writeByte(p, REPLICA_READY); fflush(p->pOut); + p->nRound++; if( p->zDebugFile ) debugMessage(p, "-> REPLICA_READY\n", iHash); } @@ -2299,6 +2303,11 @@ int main(int argc, char const * const *argv){ printf("%s\n", zMsg); sqlite3_free(zMsg); } + if( ctx.eVerbose>=3 ){ + printf("hashes: %lld hash-rounds: %d" + " page updates: %d protocol: %d\n", + ctx.nHashSent, ctx.nRound, ctx.nPageSent, ctx.iProtocol); + } } sqlite3_free(zCmd); if( pIn!=0 && pOut!=0 ){ |