From: drh <> Date: Mon, 9 Aug 2021 17:37:58 +0000 (+0000) Subject: Undocumented "--threadsafe N" option added to the CLI for testing purposes. X-Git-Tag: version-3.37.0~288 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=af6d1afd243d049f5d6407f0fb49b6f7da34409a;p=thirdparty%2Fsqlite.git Undocumented "--threadsafe N" option added to the CLI for testing purposes. One of SQLITE_CONFIG_SINGLETHREAD, _MULTITHREAD, or _SERIALIZED is called depending on the value of the N integer. FossilOrigin-Name: 2d8f297c115f378854c1f2198e47ac5af5f222a5de8cc7575c42154094e71b53 --- diff --git a/manifest b/manifest index 5a737d2e9e..142bb7fe4a 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Improved\sHamming\sbit-distance\sbetween\sthe\sSQLITE_STATE\sconstants. -D 2021-08-09T17:36:22.031 +C Undocumented\s"--threadsafe\sN"\soption\sadded\sto\sthe\sCLI\sfor\stesting\spurposes.\nOne\sof\sSQLITE_CONFIG_SINGLETHREAD,\s_MULTITHREAD,\sor\s_SERIALIZED\sis\scalled\ndepending\son\sthe\svalue\sof\sthe\sN\sinteger. +D 2021-08-09T17:37:58.495 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -545,7 +545,7 @@ F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c F src/resolve.c 42b94d37a54200707a95566eff4f7e8a380e32d080016b699f23bd79a73a5028 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 F src/select.c 63077c0243ded1432d97c90c1a4c3419b3a574b36634c674599a68bfe4c3bdc2 -F src/shell.c.in 24b99dae8818d1a234732d73f4d5b49f12b510bc62735a41c04e314fafae09e3 +F src/shell.c.in 252424f28126c38be0121803609fb89fa80a0ce69f478d807eaf25e159e356ab F src/sqlite.h.in 43fcf0fe2af04081f420a906fc020bde1243851ba44b0aa567a27f94bf8c3145 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h e97f4e9b509408fea4c4e9bef5a41608dfac343b4d3c7a990dedde1e19af9510 @@ -1920,7 +1920,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 fd8f498f5d5f7fcb78dd8f6f9323d20b9e2904b249ec735477a0f03cb47b8561 -R cc762809992152a400531309f36d3af2 +P 5100b0456bc91f11e4a0bcf0d426ae4d8328cd9341ee2f9c83d0fa9f73047a83 +R ae1a378b88ee39ab9bfc14f0f79177ed U drh -Z 4e81a6431fa70fd48ee7a079ec432659 +Z 59831b796d2f7587f569e5bae4e34533 diff --git a/manifest.uuid b/manifest.uuid index 277518bd4b..41b88907cf 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -5100b0456bc91f11e4a0bcf0d426ae4d8328cd9341ee2f9c83d0fa9f73047a83 \ No newline at end of file +2d8f297c115f378854c1f2198e47ac5af5f222a5de8cc7575c42154094e71b53 \ No newline at end of file diff --git a/src/shell.c.in b/src/shell.c.in index 7e610fdeef..cd591fdfb5 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -11140,6 +11140,14 @@ int SQLITE_CDECL wmain(int argc, wchar_t **wargv){ if( n<0 ) n = 0; sqlite3_config(SQLITE_CONFIG_LOOKASIDE, sz, n); if( sz*n==0 ) data.shellFlgs &= ~SHFLG_Lookaside; + }else if( strcmp(z,"-threadsafe")==0 ){ + int n, sz; + sz = (int)integerValue(cmdline_option_value(argc,argv,++i)); + switch( sz ){ + case 0: sqlite3_config(SQLITE_CONFIG_SINGLETHREAD); break; + case 2: sqlite3_config(SQLITE_CONFIG_MULTITHREAD); break; + default: sqlite3_config(SQLITE_CONFIG_SERIALIZED); break; + } #ifdef SQLITE_ENABLE_VFSTRACE }else if( strcmp(z,"-vfstrace")==0 ){ extern int vfstrace_register( @@ -11352,6 +11360,8 @@ int SQLITE_CDECL wmain(int argc, wchar_t **wargv){ i+=2; }else if( strcmp(z,"-lookaside")==0 ){ i+=2; + }else if( strcmp(z,"-threadsafe")==0 ){ + i+=2; }else if( strcmp(z,"-mmap")==0 ){ i++; }else if( strcmp(z,"-memtrace")==0 ){