]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Minor fixes to the cksumvfs documentation in the header comment of the source
authordrh <drh@noemail.net>
Thu, 15 Oct 2020 17:59:38 +0000 (17:59 +0000)
committerdrh <drh@noemail.net>
Thu, 15 Oct 2020 17:59:38 +0000 (17:59 +0000)
file.  Enhance speedtest1.c so that it can more easily do performance
comparisons of cksumvfs.

FossilOrigin-Name: ed3bb818f58b75c087f2875331ec944397b6c61a5b14d8af4b9ec6f376bd1872

ext/misc/cksumvfs.c
manifest
manifest.uuid
test/speedtest1.c

index 64cd37f251f48b8683254a7cea3dbdfd7114ae8b..dc2d35076f49b61c4d4493a835a925923b62d16d 100644 (file)
 ** 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
index 792ecee45a2b865d12f57db314e8bf697c2b37ad..ced397fcb70d82d213d9894db419b90ae0fcbb7b 100644 (file)
--- 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
index a6baf6546441e0f69ce35357b2bc0e8a3f319aa3..8f2a22a722276b6c1487d11ccba96da95d5cb1ef 100644 (file)
@@ -1 +1 @@
-05b573fdb27abec7d75aa1375325d45043cfd674f5b346fb341f001d7e04d160
\ No newline at end of file
+ed3bb818f58b75c087f2875331ec944397b6c61a5b14d8af4b9ec6f376bd1872
\ No newline at end of file
index e3b9d2296cfbdd6af7f79717d63decb898d6f504..e6a88365cf6e43c2745f314387b3845a27c13eb8 100644 (file)
@@ -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);