From: drh Date: Thu, 15 Oct 2020 17:59:38 +0000 (+0000) Subject: Minor fixes to the cksumvfs documentation in the header comment of the source X-Git-Tag: version-3.34.0~55 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=71cb422055f5380b8117753b0bfdb354d52e6933;p=thirdparty%2Fsqlite.git Minor fixes to the cksumvfs documentation in the header comment of the source file. Enhance speedtest1.c so that it can more easily do performance comparisons of cksumvfs. FossilOrigin-Name: ed3bb818f58b75c087f2875331ec944397b6c61a5b14d8af4b9ec6f376bd1872 --- diff --git a/ext/misc/cksumvfs.c b/ext/misc/cksumvfs.c index 64cd37f251..dc2d35076f 100644 --- a/ext/misc/cksumvfs.c +++ b/ext/misc/cksumvfs.c @@ -54,11 +54,11 @@ ** statically linked against the application, initialize it using ** a single API call as follows: ** -** sqlite3_cksumvfs_init(); +** sqlite3_register_cksumvfs(); ** ** Cksumvfs is a VFS Shim. When loaded, "cksmvfs" becomes the new ** default VFS and it uses the prior default VFS as the next VFS -** down in the stack. This is normally what you want. However, it +** down in the stack. This is normally what you want. However, in ** complex situations where multiple VFS shims are being loaded, ** it might be important to ensure that cksumvfs is loaded in the ** correct order so that it sequences itself into the default VFS @@ -79,7 +79,7 @@ ** the reserve-bytes value to 8 by runing: ** ** int n = 8; -** sqlite3_file_control(db, 0, SQLITE_FCNTL_RESERVED_BYTES, &n); +** sqlite3_file_control(db, 0, SQLITE_FCNTL_RESERVE_BYTES, &n); ** ** If you do this immediately after creating a new database file, ** before anything else has been written into the file, then that diff --git a/manifest b/manifest index 792ecee45a..ced397fcb7 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C The\swindows\sVFS\saccepts\squery\sparameter\s"exclusive=true"\sto\scause\sit\sto\ntake\sa\smandatory\sfile\slock,\spreventing\sother\sapplications\sfrom\seven\nreading\sthe\sfile. -D 2020-10-15T14:37:27.966 +C Minor\sfixes\sto\sthe\scksumvfs\sdocumentation\sin\sthe\sheader\scomment\sof\sthe\ssource\nfile.\s\sEnhance\sspeedtest1.c\sso\sthat\sit\scan\smore\seasily\sdo\sperformance\ncomparisons\sof\scksumvfs. +D 2020-10-15T17:59:38.486 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -288,7 +288,7 @@ F ext/misc/appendvfs.c 55121d311d408ba9c62c3cfa367408887638f02f9522dd9859891d0ee F ext/misc/blobio.c a867c4c4617f6ec223a307ebfe0eabb45e0992f74dd47722b96f3e631c0edb2a F ext/misc/btreeinfo.c d28ce349b40054eaa9473e835837bad7a71deec33ba13e39f963d50933bfa0f9 F ext/misc/carray.c 91e9a7f512fda934894bed30464552fffa7d3073b5be04189ae0bd0c59f26bfd -F ext/misc/cksumvfs.c 0f022867786b615d7f68fb3ab3a16627fe6a730442abf804735e18a73f835a83 +F ext/misc/cksumvfs.c 910848f3d9739908cf77cad66a76dd45001546f46ff5ef4ca5c20c5476e77e98 F ext/misc/closure.c dbfd8543b2a017ae6b1a5843986b22ddf99ff126ec9634a2f4047cd14c85c243 F ext/misc/completion.c 6dafd7f4348eecc7be9e920d4b419d1fb2af75d938cd9c59a20cfe8beb2f22b9 F ext/misc/compress.c 3354c77a7c8e86e07d849916000cdac451ed96500bfb5bd83b20eb61eee012c9 @@ -1387,7 +1387,7 @@ F test/speed3.test 694affeb9100526007436334cf7d08f3d74b85ef F test/speed4.test abc0ad3399dcf9703abed2fff8705e4f8e416715 F test/speed4p.explain 6b5f104ebeb34a038b2f714150f51d01143e59aa F test/speed4p.test 377a0c48e5a92e0b11c1c5ebb1bc9d83a7312c922bc0cb05970ef5d6a96d1f0c -F test/speedtest1.c ac0e6ebadb97b54b7ac45288d1beea633a219d5fb98aa3395cb8364c31c985cb +F test/speedtest1.c 6f74bbfd6b78c8cf3aa9fc4d2cd3e261322bb140f42fee34df909c76b50fff53 F test/spellfix.test 951a6405d49d1a23d6b78027d3877b4a33eeb8221dcab5704b499755bb4f552e F test/spellfix2.test dfc8f519a3fc204cb2dfa8b4f29821ae90f6f8c3 F test/spellfix3.test 0f9efaaa502a0e0a09848028518a6fb096c8ad33 @@ -1882,7 +1882,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 2a8a4552112be6e39e3475e9a8579582b5157086d3efd37971463c0e3958068d -R 59d27b8a8c42b2fc19b3984d3ba82ae0 +P 05b573fdb27abec7d75aa1375325d45043cfd674f5b346fb341f001d7e04d160 +R 736a37f7ca6167b1cc4523e63769ac24 U drh -Z fd58f80a511913a0ba2c1bfd344e55bf +Z 082cf54be711a36770c11eefca500343 diff --git a/manifest.uuid b/manifest.uuid index a6baf65464..8f2a22a722 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -05b573fdb27abec7d75aa1375325d45043cfd674f5b346fb341f001d7e04d160 \ No newline at end of file +ed3bb818f58b75c087f2875331ec944397b6c61a5b14d8af4b9ec6f376bd1872 \ No newline at end of file diff --git a/test/speedtest1.c b/test/speedtest1.c index e3b9d2296c..e6a88365cf 100644 --- a/test/speedtest1.c +++ b/test/speedtest1.c @@ -28,6 +28,7 @@ static const char zHelp[] = " --primarykey Use PRIMARY KEY instead of UNIQUE where appropriate\n" " --repeat N Repeat each SELECT N times (default: 1)\n" " --reprepare Reprepare each statement upon every invocation\n" + " --reserve N Reserve N bytes on each database page\n" " --serialized Set serialized threading mode\n" " --singlethread Set single-threaded mode - disables all mutexing\n" " --sqlonly No-op. Only show the SQL that would have been run.\n" @@ -93,6 +94,7 @@ static struct Global { int szTest; /* Scale factor for test iterations */ int nRepeat; /* Repeat selects this many times */ int doCheckpoint; /* Run PRAGMA wal_checkpoint after each trans */ + int nReserve; /* Reserve bytes */ const char *zWR; /* Might be WITHOUT ROWID */ const char *zNN; /* Might be NOT NULL */ const char *zPK; /* Might be UNIQUE or PRIMARY KEY */ @@ -2135,6 +2137,10 @@ static void displayLinuxIoStats(FILE *out){ # define sqlite3_sourceid(X) "(before 3.6.18)" #endif +#if SQLITE_CKSUMVFS_STATIC +int sqlite3_register_cksumvfs(const char*); +#endif + static int xCompileOptions(void *pCtx, int nVal, char **azVal, char **azCol){ printf("-- Compile option: %s\n", azVal[0]); return SQLITE_OK; @@ -2155,6 +2161,7 @@ int main(int argc, char **argv){ int doPCache = 0; /* True if --pcache is seen */ int showStats = 0; /* True for --stats */ int nThread = 0; /* --threads value */ + int nReserve = 0; /* --reserve N. */ int mmapSize = 0; /* How big of a memory map to use */ int memDb = 0; /* --memdb. Use an in-memory database */ char *zTSet = "main"; /* Which --testset torun */ @@ -2169,6 +2176,10 @@ int main(int argc, char **argv){ int i; /* Loop counter */ int rc; /* API return code */ +#ifdef SQLITE_CKSUMVFS_STATIC + sqlite3_register_cksumvfs(0); +#endif + /* Display the version of SQLite being tested */ printf("-- Speedtest1 for SQLite %s %.48s\n", sqlite3_libversion(), sqlite3_sourceid()); @@ -2303,6 +2314,9 @@ int main(int argc, char **argv){ #ifndef SPEEDTEST_OMIT_HASH HashInit(); #endif + }else if( strcmp(z,"reserve")==0 ){ + if( i>=argc-1 ) fatal_error("missing argument on %s\n", argv[i]); + g.nReserve = atoi(argv[++i]); }else if( strcmp(z,"without-rowid")==0 ){ g.zWR = "WITHOUT ROWID"; g.zPK = "PRIMARY KEY"; @@ -2354,6 +2368,9 @@ int main(int argc, char **argv){ if( rc ) fatal_error("lookaside configuration failed: %d\n", rc); } #endif + if( g.nReserve>0 ){ + sqlite3_file_control(g.db, 0, SQLITE_FCNTL_RESERVE_BYTES, &g.nReserve); + } /* Set database connection options */ sqlite3_create_function(g.db, "random", 0, SQLITE_UTF8, 0, randomFunc, 0, 0);