From da84dcae54cbfb1a58b4762986c260c5aed29c3e Mon Sep 17 00:00:00 2001 From: drh Date: Thu, 18 Aug 2016 22:44:22 +0000 Subject: [PATCH 1/4] Add the SQLITE_DBCONFIG_MAINDBNAME interface. FossilOrigin-Name: d6e3d5796c9991ca0af45ed92ce36f55efc02348 --- manifest | 22 ++++++++++++---------- manifest.uuid | 2 +- src/main.c | 5 +++++ src/sqlite.h.in | 10 ++++++++++ src/test1.c | 24 ++++++++++++++++++++++++ test/misc8.test | 26 ++++++++++++++++++++++++++ 6 files changed, 78 insertions(+), 11 deletions(-) diff --git a/manifest b/manifest index d69c4a6a04..3ece311687 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Change\sthe\sname\sof\sDb.zName\sto\sDb.zDbSName\sfor\simproved\slong-term\scode\nmaintainability. -D 2016-08-18T22:19:03.467 +C Add\sthe\sSQLITE_DBCONFIG_MAINDBNAME\sinterface. +D 2016-08-18T22:44:22.865 F Makefile.in cfd8fb987cd7a6af046daa87daa146d5aad0e088 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc d66d0395c38571aab3804f8db0fa20707ae4609a @@ -349,7 +349,7 @@ F src/hwtime.h 747c1bbe9df21a92e9c50f3bbec1de841dc5e5da F src/insert.c d5cd8315c0577e86e17dda9239b45cffa81022c0 F src/legacy.c 75d3023be8f0d2b99d60f905090341a03358c58e F src/loadext.c dd7a2b77902cc66c22555aef02e1a682554b7aec -F src/main.c 8dc7adfeace35ee1f4c489b503ee8fe6bc1fa802 +F src/main.c 4dba24a78c9797c4005521107905f42217668b86 F src/malloc.c 1443d1ad95d67c21d77af7ae3f44678252f0efec F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c 6919bcf12f221868ea066eec27e579fed95ce98b @@ -386,7 +386,7 @@ F src/resolve.c d67b9a5cc33339256e2088c5a722745fc2ff5219 F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac F src/select.c fda7fd24b4d8e75479ae581329db0a0b0bf76633 F src/shell.c 79dda477be6c96eba6e952a934957ad36f87acc7 -F src/sqlite.h.in 0f7580280d1b009b507d8beec1ff0f197ba0cc99 +F src/sqlite.h.in 4a030e254e204570444b34bf7d40fb4a5416089e F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h 8648034aa702469afb553231677306cc6492a1ae F src/sqliteInt.h f81e279da1bae217d9afcc60d5580a0d4615727e @@ -394,7 +394,7 @@ F src/sqliteLimit.h c0373387c287c8d0932510b5547ecde31b5da247 F src/status.c a9e66593dfb28a9e746cba7153f84d49c1ddc4b1 F src/table.c 5226df15ab9179b9ed558d89575ea0ce37b03fc9 F src/tclsqlite.c bdae822f21e229b6daced15938b6343ce44ef454 -F src/test1.c 0a0909cf7962d2359db329c08d15b90b4b6e724f +F src/test1.c 8574e41c1bf103727909b37351b3690cc07bc8a7 F src/test2.c b7174313e993754303a8b33c43df7c44b46857ab F src/test3.c 1339a40be39650ae83894b6578f971dc7f96ea8a F src/test4.c 18ec393bb4d0ad1de729f0b94da7267270f3d8e6 @@ -942,7 +942,7 @@ F test/misc4.test 0d8be3466adf123a7791a66ba2bc8e8d229e87f3 F test/misc5.test fff0f75e834bc09a39f6079320dd8c37de956f4f F test/misc6.test 953cc693924d88e6117aeba16f46f0bf5abede91 F test/misc7.test edd0b63e2ee29a256900b0514f6fff27e19e9bb2 -F test/misc8.test 21ac9d35a5e110279ae9e1588b8914f54de1c60b +F test/misc8.test ba03aaa08f02d62fbb8d3b2f5595c1b33aa9bbc5 F test/misuse.test 3c34719944ba045cc6c188a4852ba04680728912 F test/mmap1.test d2cfc1635171c434dcff0ece2f1c8e0a658807ce F test/mmap2.test 9d6dd9ddb4ad2379f29cc78f38ce1e63ed418022 @@ -1510,8 +1510,10 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P a861713cc6a3868a1c89240e8340bc7b2b9559da d7cf423cdccada2b0a4b7cc79ccf5f35d6f43212 -R 448d737617983f02db48ab96b9c54357 -T +closed d7cf423cdccada2b0a4b7cc79ccf5f35d6f43212 +P cb9865e14db1c0076618f13400151112f84960cb +R 2f06ec82e9a3f57e0b8d261a230c1531 +T *branch * dbconfig_maindbname +T *sym-dbconfig_maindbname * +T -sym-trunk * U drh -Z 152d854e5f3b61891883eac72f93d117 +Z 8066580a45fc98ac9d9fef6e64c8a3cf diff --git a/manifest.uuid b/manifest.uuid index 86f4d39538..c0332cdd38 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -cb9865e14db1c0076618f13400151112f84960cb \ No newline at end of file +d6e3d5796c9991ca0af45ed92ce36f55efc02348 \ No newline at end of file diff --git a/src/main.c b/src/main.c index e719e76289..2b82e331a0 100644 --- a/src/main.c +++ b/src/main.c @@ -789,6 +789,11 @@ int sqlite3_db_config(sqlite3 *db, int op, ...){ int rc; va_start(ap, op); switch( op ){ + case SQLITE_DBCONFIG_MAINDBNAME: { + db->aDb[0].zDbSName = va_arg(ap,char*); + rc = SQLITE_OK; + break; + } case SQLITE_DBCONFIG_LOOKASIDE: { void *pBuf = va_arg(ap, void*); /* IMP: R-26835-10964 */ int sz = va_arg(ap, int); /* IMP: R-47871-25994 */ diff --git a/src/sqlite.h.in b/src/sqlite.h.in index 1ee39b6799..73c908272d 100644 --- a/src/sqlite.h.in +++ b/src/sqlite.h.in @@ -1969,8 +1969,18 @@ struct sqlite3_mem_methods { ** be a NULL pointer, in which case the new setting is not reported back. ** ** +**
SQLITE_DBCONFIG_MAINDBNAME
+**
^This option is used to change the name of the "main" database +** schema. ^The sole argument is a pointer to a constant UTF8 string +** which will become the new schema name in place of "main". ^SQLite +** does not make a copy of the new main schema name string, so the application +** must ensure that the argument passed into this DBCONFIG option is unchanged +** until after the database connection closes. +**
+** ** */ +#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ #define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ #define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */ #define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */ diff --git a/src/test1.c b/src/test1.c index aced552173..367bcc1f7b 100644 --- a/src/test1.c +++ b/src/test1.c @@ -7195,6 +7195,29 @@ static int SQLITE_TCLAPI test_sqlite3_db_config( return TCL_OK; } +/* +** Change the name of the main database schema from "main" to "icecube". +*/ +static int SQLITE_TCLAPI test_dbconfig_maindbname_icecube( + void * clientData, + Tcl_Interp *interp, + int objc, + Tcl_Obj *CONST objv[] +){ + int rc; + sqlite3 *db; + extern int getDbPointer(Tcl_Interp*, const char*, sqlite3**); + if( objc!=2 ){ + Tcl_WrongNumArgs(interp, 1, objv, "DB"); + return TCL_ERROR; + }else{ + if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ) return TCL_ERROR; + rc = sqlite3_db_config(db, SQLITE_DBCONFIG_MAINDBNAME, "icecube"); + Tcl_SetObjResult(interp, Tcl_NewIntObj(rc)); + return TCL_OK; + } +} + /* ** Register commands with the TCL interpreter. */ @@ -7328,6 +7351,7 @@ int Sqlitetest1_Init(Tcl_Interp *interp){ { "sqlite3_enable_load_extension", test_enable_load, 0}, { "sqlite3_extended_result_codes", test_extended_result_codes, 0}, { "sqlite3_limit", test_limit, 0}, + { "dbconfig_maindbname_icecube", test_dbconfig_maindbname_icecube }, { "save_prng_state", save_prng_state, 0 }, { "restore_prng_state", restore_prng_state, 0 }, diff --git a/test/misc8.test b/test/misc8.test index 3817cadf94..b639dd1463 100644 --- a/test/misc8.test +++ b/test/misc8.test @@ -108,4 +108,30 @@ do_execsql_test misc8-3.0 { ORDER BY 1; } {0 1 6 0 1 7} +# The SQLITE_DBCONFIG_MAINDBNAME interface +# +db close +forcedelete test.db test2.db +sqlite3 db test.db +do_execsql_test misc8-4.0 { + CREATE TABLE t1(a,b,c); + INSERT INTO t1 VALUES(1,2,3); + ATTACH 'test2.db' AS aux2; + CREATE TABLE aux2.t2(c,d,e); + INSERT INTO t2 VALUES(4,5,6); + SELECT * FROM t1, t2; +} {1 2 3 4 5 6} +do_execsql_test misc8-4.1 { + PRAGMA database_list; +} {/0 main .* 2 aux2/} +dbconfig_maindbname_icecube db +do_execsql_test misc8-4.2 { + SELECT name FROM icecube.sqlite_master; +} {t1} +do_execsql_test misc8-4.3 { + PRAGMA database_list; +} {/0 icecube .* 2 aux2/} + + + finish_test From 6ae3ab00368c04d370eb3004e6580cf4f6791541 Mon Sep 17 00:00:00 2001 From: drh Date: Tue, 23 Aug 2016 14:42:15 +0000 Subject: [PATCH 2/4] Fix the SQLITE_USER_AUTHENTICATION login check so that the SQLITE_AUTH_USER error code correctly propagates and is not overwritten by SQLITE_ERROR. FossilOrigin-Name: c640489db2037f1a284d7b85fa753ccdac1b8f79 --- manifest | 13 ++++++------- manifest.uuid | 2 +- src/build.c | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index f6da52a9f5..eb702b7169 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\ssupport\sfor\sthe\sSQLITE_DBCONFIG_MAINDBNAME\sconfiguration\soption. -D 2016-08-22T20:10:01.543 +C Fix\sthe\sSQLITE_USER_AUTHENTICATION\slogin\scheck\sso\sthat\sthe\sSQLITE_AUTH_USER\nerror\scode\scorrectly\spropagates\sand\sis\snot\soverwritten\sby\sSQLITE_ERROR. +D 2016-08-23T14:42:15.107 F Makefile.in cfd8fb987cd7a6af046daa87daa146d5aad0e088 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc d66d0395c38571aab3804f8db0fa20707ae4609a @@ -331,7 +331,7 @@ F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73 F src/btree.c 2551bd3ecb8b8988fb8b23aabadfb214dbc38e46 F src/btree.h 075c45707c0f8f8af118f739f36df8098a08b7da F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5 -F src/build.c d32cacbb59a403b68e1c2ec962ca31b6f3aad4fc +F src/build.c c2ccfcdd99e18894a8750e215b8d9c5398a3c073 F src/callback.c 2e76147783386374bf01b227f752c81ec872d730 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e F src/ctime.c e77f3dc297b4b65c96da78b4ae4272fdfae863d7 @@ -1511,8 +1511,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 083f9e6270fa4faa402b91231271da4f3915c79f 12d5e38d269ede27cd38a031a395915301fffe56 -R a6e4b4d3ce0ef3f2cf848bb14d9b8323 -T +closed 12d5e38d269ede27cd38a031a395915301fffe56 +P 7839519349c7371cdb4e16a215eacd27004cbc62 +R 9d6fb42ced27e9f36e142aa6e0d35f69 U drh -Z 7e1aff0002b8c240c3859f075858093c +Z 4b4f28634d508607542ad65188ee7936 diff --git a/manifest.uuid b/manifest.uuid index b5392b6178..4b339d677c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7839519349c7371cdb4e16a215eacd27004cbc62 \ No newline at end of file +c640489db2037f1a284d7b85fa753ccdac1b8f79 \ No newline at end of file diff --git a/src/build.c b/src/build.c index 15c005f4ea..ca4802cd0a 100644 --- a/src/build.c +++ b/src/build.c @@ -153,8 +153,8 @@ void sqlite3FinishCoding(Parse *pParse){ if( pParse->nTableLock>0 && db->init.busy==0 ){ sqlite3UserAuthInit(db); if( db->auth.authLevelrc = SQLITE_AUTH_USER; sqlite3ErrorMsg(pParse, "user not authenticated"); + pParse->rc = SQLITE_AUTH_USER; return; } } From 24b6b81cb0768f131efdb3c3adeb8e929640f50d Mon Sep 17 00:00:00 2001 From: mistachkin Date: Wed, 24 Aug 2016 18:21:58 +0000 Subject: [PATCH 3/4] Sync up the MSVC autoconf makefile. FossilOrigin-Name: 77f7c31a3aa44798cfa5f557242caffb593ce7af --- Makefile.msc | 11 +++++++++++ autoconf/Makefile.msc | 8 ++++---- manifest | 16 ++++++++-------- manifest.uuid | 2 +- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/Makefile.msc b/Makefile.msc index cd866ce4a4..6c7211651d 100644 --- a/Makefile.msc +++ b/Makefile.msc @@ -24,6 +24,13 @@ USE_AMALGAMATION = 1 USE_FULLWARN = 0 !ENDIF +# Set this non-0 to enable full runtime error checks (-RTC1, etc). This +# has no effect if (any) optimizations are enabled. +# +!IFNDEF USE_RUNTIME_CHECKS +USE_RUNTIME_CHECKS = 0 +!ENDIF + # Set this non-0 to use "stdcall" calling convention for the core library # and shell executable. # @@ -835,6 +842,10 @@ RCC = $(RCC) -D_DEBUG !IF $(DEBUG)>1 || $(OPTIMIZATIONS)==0 TCC = $(TCC) -Od BCC = $(BCC) -Od +!IF $(USE_RUNTIME_CHECKS)!=0 +TCC = $(TCC) -RTC1 +BCC = $(BCC) -RTC1 +!ENDIF !ELSEIF $(OPTIMIZATIONS)>=3 TCC = $(TCC) -Ox BCC = $(BCC) -Ox diff --git a/autoconf/Makefile.msc b/autoconf/Makefile.msc index d3bbc6b4d2..46c1e2671e 100644 --- a/autoconf/Makefile.msc +++ b/autoconf/Makefile.msc @@ -456,12 +456,12 @@ RCC = $(RC) -DSQLITE_OS_WIN=1 -I. -I$(TOP) $(RCOPTS) $(RCCOPTS) # !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0 !IF "$(PLATFORM)"=="x86" -CORE_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall -SHELL_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall +CORE_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall +SHELL_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall !ELSE !IFNDEF PLATFORM -CORE_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall -SHELL_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall +CORE_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall +SHELL_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall !ELSE CORE_CCONV_OPTS = SHELL_CCONV_OPTS = diff --git a/manifest b/manifest index eb702b7169..7dc1924e05 100644 --- a/manifest +++ b/manifest @@ -1,8 +1,8 @@ -C Fix\sthe\sSQLITE_USER_AUTHENTICATION\slogin\scheck\sso\sthat\sthe\sSQLITE_AUTH_USER\nerror\scode\scorrectly\spropagates\sand\sis\snot\soverwritten\sby\sSQLITE_ERROR. -D 2016-08-23T14:42:15.107 +C Sync\sup\sthe\sMSVC\sautoconf\smakefile. +D 2016-08-24T18:21:58.857 F Makefile.in cfd8fb987cd7a6af046daa87daa146d5aad0e088 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 -F Makefile.msc d66d0395c38571aab3804f8db0fa20707ae4609a +F Makefile.msc 5017381e4853b1472e01d5bb926be1268eba429c F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7 F VERSION 25e2e333adeff5965520bc8db999c658898c972d F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 @@ -11,7 +11,7 @@ F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90 F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2 F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903 F autoconf/Makefile.am 1a47d071e3d5435f8f7ebff7eb6703848bbd65d4 -F autoconf/Makefile.msc 7a909aa9b538138a21c0626e3ffc4b1f4519f50e +F autoconf/Makefile.msc a535edafb6165629715b0ba8e21c98ab80732e80 F autoconf/README.first 6c4f34fe115ff55d4e8dbfa3cecf04a0188292f7 F autoconf/README.txt 4f04b0819303aabaa35fff5f7b257fb0c1ef95f1 F autoconf/configure.ac cacf2616abf6e4a569bde2ef365c143caeec40bc @@ -1511,7 +1511,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 7839519349c7371cdb4e16a215eacd27004cbc62 -R 9d6fb42ced27e9f36e142aa6e0d35f69 -U drh -Z 4b4f28634d508607542ad65188ee7936 +P c640489db2037f1a284d7b85fa753ccdac1b8f79 +R 959092fa640b62161f63260898254ab1 +U mistachkin +Z d96a1e74a14d6dd8b06850bfa4844a5e diff --git a/manifest.uuid b/manifest.uuid index 4b339d677c..630410a19c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c640489db2037f1a284d7b85fa753ccdac1b8f79 \ No newline at end of file +77f7c31a3aa44798cfa5f557242caffb593ce7af \ No newline at end of file From fb82820a3807a51b7fd93676826e4f5f6b4f7acf Mon Sep 17 00:00:00 2001 From: drh Date: Thu, 25 Aug 2016 22:06:37 +0000 Subject: [PATCH 4/4] Fix the sqlite3_trace_v2() interface so that it goes disabled if either the callback or mask arguments are zero, in accordance with the documentation. FossilOrigin-Name: 37e6c54b1afc634844026b3fe874dd2d550c6558 --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/main.c | 2 ++ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index 7dc1924e05..2a732336ae 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Sync\sup\sthe\sMSVC\sautoconf\smakefile. -D 2016-08-24T18:21:58.857 +C Fix\sthe\ssqlite3_trace_v2()\sinterface\sso\sthat\sit\sgoes\sdisabled\sif\seither\sthe\ncallback\sor\smask\sarguments\sare\szero,\sin\saccordance\swith\sthe\sdocumentation. +D 2016-08-25T22:06:37.897 F Makefile.in cfd8fb987cd7a6af046daa87daa146d5aad0e088 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 5017381e4853b1472e01d5bb926be1268eba429c @@ -349,7 +349,7 @@ F src/hwtime.h 747c1bbe9df21a92e9c50f3bbec1de841dc5e5da F src/insert.c a255eb795cf475e7a0659297144fc80f70eb4e30 F src/legacy.c 75d3023be8f0d2b99d60f905090341a03358c58e F src/loadext.c dd7a2b77902cc66c22555aef02e1a682554b7aec -F src/main.c 4dba24a78c9797c4005521107905f42217668b86 +F src/main.c 0bfcf1a5b612dddb4dd0fd04b53ef08ace0f48ff F src/malloc.c 1443d1ad95d67c21d77af7ae3f44678252f0efec F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c 6919bcf12f221868ea066eec27e579fed95ce98b @@ -1511,7 +1511,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 c640489db2037f1a284d7b85fa753ccdac1b8f79 -R 959092fa640b62161f63260898254ab1 -U mistachkin -Z d96a1e74a14d6dd8b06850bfa4844a5e +P 77f7c31a3aa44798cfa5f557242caffb593ce7af +R e30f608edda41eef799f7d696f256071 +U drh +Z 8b647e4b12a24ec47b73225bc510e869 diff --git a/manifest.uuid b/manifest.uuid index 630410a19c..3d13389a96 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -77f7c31a3aa44798cfa5f557242caffb593ce7af \ No newline at end of file +37e6c54b1afc634844026b3fe874dd2d550c6558 \ No newline at end of file diff --git a/src/main.c b/src/main.c index 2b82e331a0..a46b5aded6 100644 --- a/src/main.c +++ b/src/main.c @@ -1843,6 +1843,8 @@ int sqlite3_trace_v2( } #endif sqlite3_mutex_enter(db->mutex); + if( mTrace==0 ) xTrace = 0; + if( xTrace==0 ) mTrace = 0; db->mTrace = mTrace; db->xTrace = xTrace; db->pTraceArg = pArg;