]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge from (forked) trunk. Handle compile options that differ from default by being 0.
authorlarrybr <larrybr@noemail.net>
Thu, 15 Apr 2021 23:43:25 +0000 (23:43 +0000)
committerlarrybr <larrybr@noemail.net>
Thu, 15 Apr 2021 23:43:25 +0000 (23:43 +0000)
FossilOrigin-Name: 6eb83f83d280f82bd225972f52c52922257303740a968457ff0be08d43993d59

1  2 
manifest
manifest.uuid
src/ctime.c
tool/mkctimec.tcl

diff --cc manifest
index 2d1f0482ecb348a799ae4bed10557490ad9a0612,cd9ea2b60b2924a6c093c1e195b9c44ba3789649..0bec6dcbb14463bdfec0c8325016e5350b0f7c8f
+++ 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 5911dc02fba1ea64970953801a6adac9d1900518,78d5671da88d3145298556b3640c6e0a638d0f0d..5f9595b546bc1ca976971c979a8a36c3f654e575
@@@ -1,1 -1,1 +1,1 @@@
- 63ea3e298c575a408e5c5e12368292c966db6dcffcb6e1c770734f28b8757635
 -2363a14ca723c0343fbe350f6c19787a7a47c2289fd9af136c97a451b53b5226
++6eb83f83d280f82bd225972f52c52922257303740a968457ff0be08d43993d59
diff --cc src/ctime.c
index 3a4e3487fbaf44484b714c00aa32802df51bc125,7982f23aebc08e0de1098052f5eeaf3b4598a86c..2f17ca760867cb13928ca1777a61c0b94ade399f
@@@ -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",
  #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),
  #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
  #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",
  #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",
  #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",
  #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",
  #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",
  #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",
  #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",
index e2c5cafa043b1c7019141cf728725769418bd069,499d5a563911e7e1eb9c6b345c26c286b1e0627a..1d4607e25372191c96d85dbddaa0ad038eb7a457
@@@ -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
    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
    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
    SQLITE_MIXED_ENDIAN_64BIT_FLOAT
    SQLITE_MMAP_READWRITE
    SQLITE_MUTEX_NOOP
--  SQLITE_MUTEX_NREF
    SQLITE_MUTEX_OMIT
    SQLITE_MUTEX_PTHREADS
    SQLITE_MUTEX_W32
    SQLITE_OMIT_COMPOUND_SELECT
    SQLITE_OMIT_CONFLICT_CLAUSE
    SQLITE_OMIT_CTE
--  SQLITE_OMIT_DATETIME_FUNCS
    SQLITE_OMIT_DECLTYPE
    SQLITE_OMIT_DEPRECATED
    SQLITE_OMIT_DISKIO
    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
    SQLITE_OMIT_TCL_VARIABLE
    SQLITE_OMIT_TEMPDB
    SQLITE_OMIT_TEST_CONTROL
--  SQLITE_OMIT_TRACE
    SQLITE_OMIT_TRIGGER
    SQLITE_OMIT_TRUNCATE_OPTIMIZATION
    SQLITE_OMIT_UTF16
    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
    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