]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Include the kv-vfs as an optional VFS on unix builds if the
authordrh <>
Sat, 17 Sep 2022 18:29:49 +0000 (18:29 +0000)
committerdrh <>
Sat, 17 Sep 2022 18:29:49 +0000 (18:29 +0000)
SQLITE_OS_KV_OPTIONAL compile-time option is present.

FossilOrigin-Name: 852812d1e2ec3c53ad7c6c64662b37d861fefcf1baeee3d58eba88bcb3f6d8df

manifest
manifest.uuid
src/os_kv.c
src/os_unix.c
src/sqliteInt.h

index 82c40c633a98e28e654dd46331e4ca2239e62802..72b6c37ae8e3e315e4484ce475c12957731141eb 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Merge\sthe\slatest\strunk\senhancements\sinto\sthe\skv-vfs\sbranch.
-D 2022-09-17T17:26:44.762
+C Include\sthe\skv-vfs\sas\san\soptional\sVFS\son\sunix\sbuilds\sif\sthe\nSQLITE_OS_KV_OPTIONAL\scompile-time\soption\sis\spresent.
+D 2022-09-17T18:29:49.617
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -574,9 +574,9 @@ F src/notify.c 89a97dc854c3aa62ad5f384ef50c5a4a11d70fcc69f86de3e991573421130ed6
 F src/os.c 0eb831ba3575af5277e47f4edd14fdfc90025c67eb25ce5cda634518d308d4e9
 F src/os.h 1ff5ae51d339d0e30d8a9d814f4b8f8e448169304d83a7ed9db66a65732f3e63
 F src/os_common.h b2f4707a603e36811d9b1a13278bffd757857b85
-F src/os_kv.c 3a2d319988df9da8f3a4d0c753a1492542bd3017ff7ae5d07814460eac6b0b19
+F src/os_kv.c 96c4062e9ca8f3bb70f43e05b766dcd30fe5c2f125fd70c51ed6ef01474a6593
 F src/os_setup.h 0711dbc4678f3ac52d7fe736951b6384a0615387c4ba5135a4764e4e31f4b6a6
-F src/os_unix.c 0fa91925f0b8831fc0156a9c04d39d86f85baf9eef66c98712395e1715cb75cc
+F src/os_unix.c 287aa5f5691a2b356780c63e83abaa33549add84227b8313395f04088486d79c
 F src/os_win.c 8d129ae3e59e0fa900e20d0ad789e96f2e08177f0b00b53cdda65c40331e0902
 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
 F src/pager.c 6176d9752eb580419e8fef4592dc417a6b00ddfd43ee22f818819bf8840ceee8
@@ -597,7 +597,7 @@ F src/shell.c.in e7e7c2c69ae86c5ee9e8ad66227203d46ff6dce8700a1b1dababff01c71d33d
 F src/sqlite.h.in b9b7fd73239d94db20332bb6e504688001e5564b655e1318a4427a1caef4b99e
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h a988810c9b21c0dc36dc7a62735012339dc76fc7ab448fb0792721d30eacb69d
-F src/sqliteInt.h 44eb45c25d379361ee1bd7fc49205471c6cb8a3727aed42372cf4716f653ebf2
+F src/sqliteInt.h 587be0322bf30f248350e9b0d1d36feeece94f30bcf057686c6425c36b8ed3c5
 F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657
 F src/status.c 160c445d7d28c984a0eae38c144f6419311ed3eace59b44ac6dafc20db4af749
 F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
@@ -2004,8 +2004,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P ef54961ce69fddb4cfeeff0860288de2858a6f7a5aa396691e8e99933eb9af54 ff46bc9d2a844dde9dafa157114f4d9ee157205ca5c08ed9ee32f018de310e62
-R 4de08b84ca8222edc80a9a00d8c86ac4
+P 37c7ca25a6e837e7f83b96a32e2b1a455730e48a48012c458ae2e734a3ccdd1f
+R 32beb89ba30390bdb85cd8d5b10c9a35
 U drh
-Z f60f4623d1ae77ea9ba72cf01682f06f
+Z 6831abb42712ac9e23b5b00f249e84e3
 # Remove this line to create a well-formed Fossil manifest.
index 21c52cde0a2c22c2e9b2024691817e21adf76dd6..ef09e7e676374c2c9b770f31c230da0a516ceec8 100644 (file)
@@ -1 +1 @@
-37c7ca25a6e837e7f83b96a32e2b1a455730e48a48012c458ae2e734a3ccdd1f
\ No newline at end of file
+852812d1e2ec3c53ad7c6c64662b37d861fefcf1baeee3d58eba88bcb3f6d8df
\ No newline at end of file
index db95a305b77707c760395160b1ac9fb07321a706..c1df1f526d6e0661b057ea2ad2a2bee1a5d48bb6 100644 (file)
@@ -15,7 +15,7 @@
 ** text.
 */
 #include <sqliteInt.h>
-#if SQLITE_OS_KV
+#if SQLITE_OS_KV || (SQLITE_OS_UNIX && defined(SQLITE_OS_KV_OPTIONAL))
 
 /*****************************************************************************
 ** Debugging logic
@@ -89,7 +89,7 @@ static int kvvfsSleep(sqlite3_vfs*, int microseconds);
 static int kvvfsCurrentTime(sqlite3_vfs*, double*);
 static int kvvfsCurrentTimeInt64(sqlite3_vfs*, sqlite3_int64*);
 
-static sqlite3_vfs kvvfs_vfs = {
+static sqlite3_vfs sqlite3OsKvvfsObject = {
   1,                              /* iVersion */
   sizeof(KVVfsFile),              /* szOsFile */
   1024,                           /* mxPathname */
@@ -1107,14 +1107,22 @@ static int kvvfsCurrentTimeInt64(sqlite3_vfs *pVfs, sqlite3_int64 *pTimeOut){
   *pTimeOut = unixEpoch + 1000*(sqlite3_int64)sNow.tv_sec + sNow.tv_usec/1000;
   return SQLITE_OK;
 }
+#endif /* SQLITE_OS_KV || SQLITE_OS_UNIX */
 
+#if SQLITE_OS_KV
 /* 
 ** This routine is called initialize the KV-vfs as the default VFS.
 */
 int sqlite3_os_init(void){
-  return sqlite3_vfs_register(&kvvfs_vfs, 1);
+  return sqlite3_vfs_register(&sqlite3OsKvvfsObject, 1);
 }
 int sqlite3_os_end(void){
   return SQLITE_OK;
 }
 #endif /* SQLITE_OS_KV */
+
+#if SQLITE_OS_UNIX && defined(SQLITE_OS_KV_OPTIONAL)
+int sqlite3KvvfsInit(void){
+  return sqlite3_vfs_register(&sqlite3OsKvvfsObject, 0);
+}
+#endif
index 784686d0a32b411a7d2c67bfeedf6e51154667a9..c390b5188864e796ee13a56716f297358af8de59 100644 (file)
@@ -8065,6 +8065,9 @@ int sqlite3_os_init(void){
     sqlite3_vfs_register(&aVfs[i], i==0);
 #endif
   }
+#ifdef SQLITE_OS_KV_OPTIONAL
+  sqlite3KvvfsInit();
+#endif
   unixBigLock = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_VFS1);
 
 #ifndef SQLITE_OMIT_WAL
index 63e3583c8cfc9ef14e6f9cb5041ae92335f4ce8d..7f1dee6ebaea873399aec03a4640d5babd434ef7 100644 (file)
@@ -5456,4 +5456,8 @@ void sqlite3VectorErrorMsg(Parse*, Expr*);
 const char **sqlite3CompileOptions(int *pnOpt);
 #endif
 
+#if SQLITE_OS_UNIX && defined(SQLITE_OS_KV_OPTIONAL)
+int sqlite3KvvfsInit(void);
+#endif
+
 #endif /* SQLITEINT_H */