From: larrybr Date: Thu, 15 Apr 2021 23:43:25 +0000 (+0000) Subject: Merge from (forked) trunk. Handle compile options that differ from default by being 0. X-Git-Tag: version-3.36.0~83^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf5ad4210ee311ab93f874e0c8ce29268dcc65ed;p=thirdparty%2Fsqlite.git Merge from (forked) trunk. Handle compile options that differ from default by being 0. FossilOrigin-Name: 6eb83f83d280f82bd225972f52c52922257303740a968457ff0be08d43993d59 --- cf5ad4210ee311ab93f874e0c8ce29268dcc65ed diff --cc manifest index 2d1f0482ec,cd9ea2b60b..0bec6dcbb1 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Bring\spragma\scompile_options\sup\sto\sdate.\sAnd\smake\smkctimec.tcl\shelp\sdo\sso. - D 2021-04-15T00:26:34.919 -C Fix\sa\sbad\sinteraction\sbetween\sconstant\spropagation\sand\stransitive\sterm\shandling\scausing\spatterns\slike\s"WHERE\sunlikely(t1.x=t1.y)\sAND\st1.y=?"\sto\sreturn\snon-matching\srows. -D 2021-04-15T19:09:19.856 ++C Merge\sfrom\s(forked)\strunk.\sHandle\scompile\soptions\sthat\sdiffer\sfrom\sdefault\sby\sbeing\s0. ++D 2021-04-15T23:43:25.989 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@@ -489,7 -489,7 +489,7 @@@ F src/btreeInt.h 7bc15a24a02662409ebcd6 F src/build.c 9f15ff3e074d3989cc1396f575118eb4c28fb677d33f54393ec263799c94b5bd F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e - F src/ctime.c 39fb02038fa3091cf8bc443083f7778f95b8cd7d44b007a1a86095759e7c359a -F src/ctime.c 2a322b9a3d75771fb4d99e0702851f4f68dda982507a0f798eefb0712969a410 ++F src/ctime.c b3886a79e23e71d8e2acbee090bf08f13f4efd0312d06c64e910b76bf8eb3e5a F src/date.c e0632f335952b32401482d099321bbf12716b29d6e72836b53ae49683ebae4bf F src/dbpage.c 8a01e865bf8bc6d7b1844b4314443a6436c07c3efe1d488ed89e81719047833a F src/dbstat.c 3aa79fc3aed7ce906e4ea6c10e85d657299e304f6049861fe300053ac57de36c @@@ -1839,7 -1839,7 +1839,7 @@@ F tool/logest.c 11346aa019e2e77a00902aa F tool/max-limits.c cbb635fbb37ae4d05f240bfb5b5270bb63c54439 F tool/mkautoconfamal.sh f62353eb6c06ab264da027fd4507d09914433dbdcab9cb011cdc18016f1ab3b8 F tool/mkccode.tcl 86463e68ce9c15d3041610fedd285ce32a5cf7a58fc88b3202b8b76837650dbe x - F tool/mkctimec.tcl 064bd59aa21ebb97d150b9355876c4444dc6886528551fa8f164d241f7df26be -F tool/mkctimec.tcl dd183b73ae1c28249669741c250525f0407e579a70482371668fd5f130d9feb3 ++F tool/mkctimec.tcl 7e5fc6eca3c701dcb0f669eefaff3d872f00708c2902561759a4a0b193d2e97e F tool/mkkeywordhash.c 08b6e4d7a482a7f37a9a0032e7ba968e26624a027b6b2e9ba589be6f5e3d8c2c F tool/mkmsvcmin.tcl 6ecab9fe22c2c8de4d82d4c46797bda3d2deac8e763885f5a38d0c44a895ab33 F tool/mkopcodec.tcl d1b6362bd3aa80d5520d4d6f3765badf01f6c43c @@@ -1912,7 -1912,7 +1912,7 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P b5dc7aba036cfd6d09c68dd17608328063634ca99ff341f97bab2dc2a1f59b11 - R b95c72c4911ad1a00cf52d8c60561403 -P 7163de3dea0445bf25dba47a54c50f35bb5c7edc7bdae9630b51c1ca970ec6cf -R cdb109bf0cd813339477f712ee9d6153 -U dan -Z 0bcb2e3640ff6543fca05af9e2907230 ++P 63ea3e298c575a408e5c5e12368292c966db6dcffcb6e1c770734f28b8757635 2363a14ca723c0343fbe350f6c19787a7a47c2289fd9af136c97a451b53b5226 ++R a2d0ebd6bfcd194144667102be607922 +U larrybr - Z a3c0c1fe90ff7f207fa76ea789d0c43a ++Z da3344fd449b8db410018370a9ecf455 diff --cc manifest.uuid index 5911dc02fb,78d5671da8..5f9595b546 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 63ea3e298c575a408e5c5e12368292c966db6dcffcb6e1c770734f28b8757635 -2363a14ca723c0343fbe350f6c19787a7a47c2289fd9af136c97a451b53b5226 ++6eb83f83d280f82bd225972f52c52922257303740a968457ff0be08d43993d59 diff --cc src/ctime.c index 3a4e3487fb,7982f23aeb..2f17ca7608 --- a/src/ctime.c +++ b/src/ctime.c @@@ -58,8 -58,8 +58,10 @@@ static const char * const sqlite3azComp #if SQLITE_64BIT_STATS "64BIT_STATS", #endif --#if SQLITE_ALLOW_COVERING_INDEX_SCAN -- "ALLOW_COVERING_INDEX_SCAN", ++#ifdef SQLITE_ALLOW_COVERING_INDEX_SCAN ++# if SQLITE_ALLOW_COVERING_INDEX_SCAN != 1 ++ "ALLOW_COVERING_INDEX_SCAN=" CTIMEOPT_VAL(SQLITE_ALLOW_COVERING_INDEX_SCAN), ++# endif #endif #if SQLITE_ALLOW_URI_AUTHORITY "ALLOW_URI_AUTHORITY", @@@ -121,8 -121,8 +123,10 @@@ #ifdef SQLITE_DEFAULT_LOOKASIDE "DEFAULT_LOOKASIDE=" CTIMEOPT_VAL2(SQLITE_DEFAULT_LOOKASIDE), #endif --#if SQLITE_DEFAULT_MEMSTATUS -- "DEFAULT_MEMSTATUS", ++#ifdef SQLITE_DEFAULT_MEMSTATUS ++# if SQLITE_DEFAULT_MEMSTATUS != 1 ++ "DEFAULT_MEMSTATUS=" CTIMEOPT_VAL(SQLITE_DEFAULT_MEMSTATUS), ++# endif #endif #ifdef SQLITE_DEFAULT_MMAP_SIZE "DEFAULT_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_MMAP_SIZE), @@@ -223,15 -217,12 +227,9 @@@ #if SQLITE_ENABLE_EXPENSIVE_ASSERT "ENABLE_EXPENSIVE_ASSERT", #endif -#if SQLITE_ENABLE_FTS1 - "ENABLE_FTS1", -#endif -#if SQLITE_ENABLE_FTS2 - "ENABLE_FTS2", +#if SQLITE_ENABLE_EXPLAIN_COMMENTS + "ENABLE_EXPLAIN_COMMENTS", #endif - #if SQLITE_ENABLE_FTS1 - "ENABLE_FTS1", - #endif - #if SQLITE_ENABLE_FTS2 - "ENABLE_FTS2", - #endif #if SQLITE_ENABLE_FTS3 "ENABLE_FTS3", #endif @@@ -376,8 -364,8 +374,10 @@@ #if HAVE_ISNAN || SQLITE_HAVE_ISNAN "HAVE_ISNAN", #endif --#if SQLITE_HOMEGROWN_RECURSIVE_MUTEX -- "HOMEGROWN_RECURSIVE_MUTEX", ++#ifdef SQLITE_HOMEGROWN_RECURSIVE_MUTEX ++# if SQLITE_HOMEGROWN_RECURSIVE_MUTEX != 1 ++ "HOMEGROWN_RECURSIVE_MUTEX=" CTIMEOPT_VAL(SQLITE_HOMEGROWN_RECURSIVE_MUTEX), ++# endif #endif #if SQLITE_IGNORE_AFP_LOCK_ERRORS "IGNORE_AFP_LOCK_ERRORS", @@@ -475,8 -463,8 +475,10 @@@ #if SQLITE_MUTEX_NOOP "MUTEX_NOOP", #endif --#if SQLITE_MUTEX_NREF -- "MUTEX_NREF", ++#ifdef SQLITE_MUTEX_NREF ++# if SQLITE_MUTEX_NREF != 1 ++ "MUTEX_NREF=" CTIMEOPT_VAL(SQLITE_MUTEX_NREF), ++# endif #endif #if SQLITE_MUTEX_OMIT "MUTEX_OMIT", @@@ -547,8 -535,8 +549,10 @@@ #if SQLITE_OMIT_CTE "OMIT_CTE", #endif --#if SQLITE_OMIT_DATETIME_FUNCS -- "OMIT_DATETIME_FUNCS", ++#ifdef SQLITE_OMIT_DATETIME_FUNCS ++# if SQLITE_OMIT_DATETIME_FUNCS != 1 ++ "OMIT_DATETIME_FUNCS=" CTIMEOPT_VAL(SQLITE_OMIT_DATETIME_FUNCS), ++# endif #endif #if SQLITE_OMIT_DECLTYPE "OMIT_DECLTYPE", @@@ -589,8 -574,8 +593,10 @@@ #if SQLITE_OMIT_LIKE_OPTIMIZATION "OMIT_LIKE_OPTIMIZATION", #endif --#if SQLITE_OMIT_LOAD_EXTENSION -- "OMIT_LOAD_EXTENSION", ++#ifdef SQLITE_OMIT_LOAD_EXTENSION ++# if SQLITE_OMIT_LOAD_EXTENSION != 1 ++ "OMIT_LOAD_EXTENSION=" CTIMEOPT_VAL(SQLITE_OMIT_LOAD_EXTENSION), ++# endif #endif #if SQLITE_OMIT_LOCALTIME "OMIT_LOCALTIME", @@@ -649,8 -634,8 +655,10 @@@ #if SQLITE_OMIT_TEST_CONTROL "OMIT_TEST_CONTROL", #endif --#if SQLITE_OMIT_TRACE -- "OMIT_TRACE", ++#ifdef SQLITE_OMIT_TRACE ++# if SQLITE_OMIT_TRACE != 1 ++ "OMIT_TRACE=" CTIMEOPT_VAL(SQLITE_OMIT_TRACE), ++# endif #endif #if SQLITE_OMIT_TRIGGER "OMIT_TRIGGER", @@@ -685,8 -670,8 +693,10 @@@ #if SQLITE_PERFORMANCE_TRACE "PERFORMANCE_TRACE", #endif --#if SQLITE_POWERSAFE_OVERWRITE -- "POWERSAFE_OVERWRITE", ++#ifdef SQLITE_POWERSAFE_OVERWRITE ++# if SQLITE_POWERSAFE_OVERWRITE != 1 ++ "POWERSAFE_OVERWRITE=" CTIMEOPT_VAL(SQLITE_POWERSAFE_OVERWRITE), ++# endif #endif #if SQLITE_PREFER_PROXY_LOCKING "PREFER_PROXY_LOCKING", @@@ -721,8 -706,8 +731,10 @@@ #if SQLITE_SUBSTR_COMPATIBILITY "SUBSTR_COMPATIBILITY", #endif --#if SQLITE_SYSTEM_MALLOC -- "SYSTEM_MALLOC", ++#ifdef SQLITE_SYSTEM_MALLOC ++# if SQLITE_SYSTEM_MALLOC != 1 ++ "SYSTEM_MALLOC=" CTIMEOPT_VAL(SQLITE_SYSTEM_MALLOC), ++# endif #endif #if SQLITE_TCL "TCL", diff --cc tool/mkctimec.tcl index e2c5cafa04,499d5a5639..1d4607e253 --- a/tool/mkctimec.tcl +++ b/tool/mkctimec.tcl @@@ -4,16 -4,16 +4,33 @@@ # # const char **azCompileOpt[] # --# declaration used in src/ctime.c, run this script. ++# definition used in src/ctime.c, run this script from ++# the checkout root. It alters src/ctime.c in-place. # --# All Boolean compile time options. ++# All Boolean compile time options which default to something ++# other than 0 or empty. The default is paired with the PP ++# symbol so that a differing define can be detected. # --set boolean_options { ++set boolean_defnnz_options { ++ {SQLITE_HOMEGROWN_RECURSIVE_MUTEX 1} ++ {SQLITE_OMIT_LOAD_EXTENSION 1} ++ {SQLITE_POWERSAFE_OVERWRITE 1} ++ {SQLITE_DEFAULT_MEMSTATUS 1} ++ {SQLITE_SYSTEM_MALLOC 1} ++ {SQLITE_OMIT_DATETIME_FUNCS 1} ++ {SQLITE_OMIT_TRACE 1} ++ {SQLITE_ENABLE_FTS3 1} ++ {SQLITE_ALLOW_COVERING_INDEX_SCAN 1} ++ {SQLITE_MUTEX_NREF 1} ++} ++ ++# All Boolean compile time options which default to 0 or empty. ++# ++set boolean_defnil_options { SQLITE_32BIT_ROWID SQLITE_4_BYTE_ALIGNED_MALLOC SQLITE_64BIT_STATS -- SQLITE_ALLOW_COVERING_INDEX_SCAN SQLITE_ALLOW_URI_AUTHORITY SQLITE_BUG_COMPATIBLE_20160819 SQLITE_CASE_SENSITIVE_LIKE @@@ -25,7 -25,7 +42,6 @@@ SQLITE_DEFAULT_CKPTFULLFSYNC SQLITE_DEFAULT_FOREIGN_KEYS SQLITE_DEFAULT_LOCKING_MODE -- SQLITE_DEFAULT_MEMSTATUS SQLITE_DEFAULT_RECURSIVE_TRIGGERS SQLITE_DEFAULT_SYNCHRONOUS SQLITE_DEFAULT_WAL_SYNCHRONOUS @@@ -46,13 -45,10 +62,11 @@@ SQLITE_ENABLE_COLUMN_USED_MASK SQLITE_ENABLE_COSTMULT SQLITE_ENABLE_CURSOR_HINTS + SQLITE_ENABLE_DBPAGE_VTAB SQLITE_ENABLE_DBSTAT_VTAB + SQLITE_ENABLE_DESERIALIZE SQLITE_ENABLE_EXPENSIVE_ASSERT - SQLITE_ENABLE_FTS1 - SQLITE_ENABLE_FTS2 + SQLITE_ENABLE_EXPLAIN_COMMENTS - SQLITE_ENABLE_FTS1 - SQLITE_ENABLE_FTS2 SQLITE_ENABLE_FTS3 SQLITE_ENABLE_FTS3_PARENTHESIS SQLITE_ENABLE_FTS3_TOKENIZER @@@ -97,7 -85,8 +111,6 @@@ SQLITE_EXTRA_IFNULLROW SQLITE_FTS5_ENABLE_TEST_MI SQLITE_FTS5_NO_WITHOUT_ROWID - SQLITE_HAS_CODEC -- SQLITE_HOMEGROWN_RECURSIVE_MUTEX SQLITE_IGNORE_AFP_LOCK_ERRORS SQLITE_IGNORE_FLOCK_LOCK_ERRORS SQLITE_INLINE_MEMCPY @@@ -109,7 -98,7 +122,6 @@@ SQLITE_MIXED_ENDIAN_64BIT_FLOAT SQLITE_MMAP_READWRITE SQLITE_MUTEX_NOOP -- SQLITE_MUTEX_NREF SQLITE_MUTEX_OMIT SQLITE_MUTEX_PTHREADS SQLITE_MUTEX_W32 @@@ -133,7 -123,7 +145,6 @@@ SQLITE_OMIT_COMPOUND_SELECT SQLITE_OMIT_CONFLICT_CLAUSE SQLITE_OMIT_CTE -- SQLITE_OMIT_DATETIME_FUNCS SQLITE_OMIT_DECLTYPE SQLITE_OMIT_DEPRECATED SQLITE_OMIT_DISKIO @@@ -145,9 -135,8 +156,8 @@@ SQLITE_OMIT_HEX_INTEGER SQLITE_OMIT_INCRBLOB SQLITE_OMIT_INTEGRITY_CHECK + SQLITE_OMIT_INTROSPECTION_PRAGMAS SQLITE_OMIT_LIKE_OPTIMIZATION -- SQLITE_OMIT_LOAD_EXTENSION SQLITE_OMIT_LOCALTIME SQLITE_OMIT_LOOKASIDE SQLITE_OMIT_MEMORYDB @@@ -167,7 -156,7 +177,6 @@@ SQLITE_OMIT_TCL_VARIABLE SQLITE_OMIT_TEMPDB SQLITE_OMIT_TEST_CONTROL -- SQLITE_OMIT_TRACE SQLITE_OMIT_TRIGGER SQLITE_OMIT_TRUNCATE_OPTIMIZATION SQLITE_OMIT_UTF16 @@@ -179,7 -168,7 +188,6 @@@ SQLITE_OMIT_XFER_OPT SQLITE_PCACHE_SEPARATE_HEADER SQLITE_PERFORMANCE_TRACE -- SQLITE_POWERSAFE_OVERWRITE SQLITE_PREFER_PROXY_LOCKING SQLITE_PROXY_DEBUG SQLITE_REVERSE_UNORDERED_SELECTS @@@ -188,7 -177,7 +196,6 @@@ SQLITE_SMALL_STACK SQLITE_SOUNDEX SQLITE_SUBSTR_COMPATIBILITY -- SQLITE_SYSTEM_MALLOC SQLITE_TCL SQLITE_TEST SQLITE_UNLINK_AFTER_CLOSE @@@ -298,7 -286,7 +305,20 @@@ proc trim_name {in} return $ret } --foreach b $boolean_options { ++foreach name_defval $boolean_defnnz_options { ++ set b [lindex $name_defval 0] ++ set defval [lindex $name_defval 1] ++ set name [trim_name $b] ++ set options($name) [subst { ++#ifdef $b ++# if $b != $defval ++ "$name=" CTIMEOPT_VAL($b), ++# endif ++#endif ++}] ++} ++ ++foreach b $boolean_defnil_options { set name [trim_name $b] set options($name) [subst { #if $b