]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge latest trunk into this branch.
authordan <Dan Kennedy>
Sun, 27 Oct 2024 14:41:58 +0000 (14:41 +0000)
committerdan <Dan Kennedy>
Sun, 27 Oct 2024 14:41:58 +0000 (14:41 +0000)
FossilOrigin-Name: 740a37c5d54b57befa86a6bb299ffa89ed4243d10db885a08ab5c63238460dad

1  2 
ext/fts5/fts5Int.h
ext/fts5/fts5_index.c
main.mk
manifest
manifest.uuid

Simple merge
Simple merge
diff --cc main.mk
index 79e345d1b8f75acb0b8a4c1197efd92237d6467f,3b58767c2b0e2d6c786ea56e18df656e13493443..5dadfd2c088baff92023cb004cdeebd52c43c001
+++ b/main.mk
+ #!/do/not/make
+ # ^^^^ help out editors which guess this file's type.
  ###############################################################################
- # The following macros should be defined before this script is
- # invoked:
+ # This is the main makefile for sqlite. It expects to be included from
+ # a higher-level makefile which configures any dynamic state needed by
+ # this one (as documented below).
+ #
+ # Maintenance reminders:
+ #
+ #  - This file must remain devoid of GNU Make-isms.  i.e. it must be
+ #  POSIX Make compatible. "bmake" (BSD make) is available on most
+ #  Linux systems, so compatibility is relatively easy to test.
+ #
+ # The variables listed below must be defined before this script is
+ # invoked. This file will use defaults, very possibly invalid, for any
+ # which are not defined.
+ ########################################################################
+ #
+ # $(TOP) =
+ #
+ # The toplevel directory of the source tree.  For canonical builds
+ # this is the directory that contains this "Makefile.in" and the
+ # "configure.in" script. For out-of-tree builds, this will differ
+ # from $(PWD).
+ #
+ TOP ?= $(PWD)
+ #
+ # $(PACKAGE_VERSION) =
+ #
+ # The MAJOR.MINOR.PATCH version number of this build.
+ #
+ PACKAGE_VERSION ?=
+ #
+ # $(B.cc) =
+ #
+ # C Compiler and options for use in building executables that will run
+ # on the platform that is doing the build.
+ #
+ B.cc ?= $(CC)
+ #
+ # $(T.cc) =
+ #
+ # C Compiler and options for use in building executables that will run
+ # on the target platform.  This is usually the same as B.cc, unless you
+ # are cross-compiling. Note that it should only contain flags which
+ # are used by _all_ build targets.  Flags needed only by specific
+ # targets are defined elsewhere and applied on a per-target basis.
+ #
+ T.cc ?= $(B.cc)
+ #
+ # $(AR) =
+ #
+ # Tool used to build a static library from object files, without its
+ # arguments. $(AR.flags) are its flags for creating a lib.
+ #
+ AR       ?= ar
+ AR.flags ?= cr
+ #
+ # $(B.exe) =
+ #
+ # File extension for executables on the build platform. ".exe" for
+ # Windows and "" everywhere else.
+ #
+ B.exe ?=
+ #
+ # $(B.dll) and $(B.lib) =
+ #
+ # The DLL resp. static library counterparts of $(B.exe).
+ #
+ B.dll ?= .so
+ B.lib ?= .lib
+ #
+ # $(T.exe) =
+ #
+ # File extension for executables on the target platform. ".exe" for
+ # Windows and "" everywhere else.
+ #
+ T.exe ?= $(B.exe)
+ #
+ # $(T.dll) and $(T.lib) =
+ #
+ # The DLL resp. static library counterparts of $(T.exe).
+ #
+ T.dll ?= $(B.dll)
+ T.lib ?= $(B.lib)
+ #
+ # $(TCLSH_CMD) =
+ #
+ # The canonical tclsh.
+ #
+ TCLSH_CMD ?= tclsh
+ #
+ # JimTCL is part of the autosetup suite and is suitable for all
+ # current in-tree code-generation TCL jobs, but it requires that we
+ # build it with non-default flags. Note that the build tree will, if
+ # no system-level tclsh is found, also have a ./jimsh0 binary. That
+ # one is a bare-bones build for the configure process, whereas we need
+ # to build it with another option enabled for use with the various
+ # code generators.
+ #
+ # JIMSH requires a leading path component, even if it's ./, so that it
+ # can be used as a shell command.
+ #
+ CFLAGS.jimsh ?= -DHAVE_REALPATH
+ JIMSH ?= ./jimsh$(T.exe)
+ #
+ # $(B.tclsh) =
+ #
+ # The TCL interpreter for in-tree code generation. May be either the
+ # in-tree JimTCL ($(JIMSH)) or the canonical TCL ($(TCLSH_CMD). If
+ # it's JimTCL, it must be compiled with -DHAVE_REALPATH or
+ # -DHAVE__FULLPATH.
+ #
+ B.tclsh ?= $(JIMSH)
+ #
+ # Various system-level directories, mostly needed for installation and
+ # for finding system-level dependencies.
+ #
+ prefix       ?= /usr/local
+ exec_prefix  ?= $(prefix)
+ libdir       ?= $(prefix)/lib
+ pkgconfigdir ?= $(libdir)/pkgconfig
+ bindir       ?= $(prefix)/bin
+ includedir   ?= $(prefix)/include
+ #
+ # $(LDFLAGS.{feature}) and $(CFLAGS.{feature}) =
+ #
+ # Linker resp. C/CPP flags required by a specific feature, e.g.
+ # $(LDFLAGS.pthread) or $(CFLAGS.readline).
+ #
+ # Rather that stuffing all CFLAGS and LDFLAGS into a single set, we
+ # break them down on a per-feature basis and expect the build targets
+ # to use the one(s) it needs.
+ #
+ LDFLAGS.zlib ?= -lz
+ LDFLAGS.math ?= -lm
+ LDFLAGS.rpath ?= -Wl,-rpath -Wl,$(prefix)/lib
+ LDFLAGS.pthread ?= -lpthread
+ LDFLAGS.dlopen ?= -ldl
+ LDFLAGS.shobj ?= -shared
+ LDFLAGS.icu ?= # -licui18n -licuuc -licudata
+ # libreadline (or a workalike):
+ # To activate readline in the shell: SHELL_OPT = -DHAVE_READLINE=1
+ LDFLAGS.readline ?= -lreadline # these vary wildly across platforms
+ CFLAGS.readline ?= -I$(prefix)/include/readline
+ # ^^^ When using linenoise instead of readline, do something like:
+ # SHELL_OPT += -DHAVE_LINENOISE=1
+ # CFLAGS.readline = -I$(HOME)/linenoise $(HOME)/linenoise/linenoise.c
+ # LDFLAGS.readline = # empty
+ #
+ #
+ # $(INSTALL) =
+ #
+ # Tool for installing files and directories. It must be compatible
+ # with conventional Unix /usr/bin/install. Note that libtool's
+ # install-sh is _not_ compatible with this because it _moves_ targets
+ # during installation, which may break the build of targets which are
+ # built after others are installed.
+ #
+ INSTALL ?= install
+ #
+ # $(ENABLE_SHARED) =
+ #
+ # 1 if libsqlite3.$(T.dll) should be built.
+ #
+ ENABLE_SHARED ?= 1
+ #
+ # $(ENABLE_STATIC) =
+ #
+ # 1 if libsqlite3.$(T.lib) should be built. Some components,
+ # e.g. libtclsqlite3 and some test apps, implicitly require the static
+ # library and will ignore this preference.
+ #
+ ENABLE_STATIC ?= 1
+ #
+ # $(USE_AMALGAMATION)
+ #
+ # 1 if the amalgamation (sqlite3.c/h) should be built/used, otherwise
+ # the library is built from all of its original source files.
+ #
+ USE_AMALGAMATION ?= 1
+ #
+ # $(AMALGAMATION_GEN_FLAGS) =
+ #
+ # Optional flags for the amalgamation generator.
+ #
+ AMALGAMATION_GEN_FLAGS ?= --linemacros=0
  #
- # TOP              The toplevel directory of the source tree.  This is the
- #                  directory that contains this "Makefile.in" and the
- #                  "configure.in" script.
+ # $(OPT_FEATURE_FLAGS) =
  #
- # BCC              C Compiler and options for use in building executables that
- #                  will run on the platform that is doing the build.
+ # Preprocessor flags for enabling and disabling specific libsqlite3
+ # features (-DSQLITE_OMIT*, -DSQLITE_ENABLE*). The same set of OMIT
+ # and ENABLE flags must be passed to the LEMON parser generator and
+ # the mkkeywordhash tool as well.
  #
- # THREADLIB        Specify any extra linker options needed to make the library
- #                  thread safe
+ # Add OPTIONS=... on the make command line to append additional options
+ # to the OPT_FEATURE_FLAGS. Note that some flags only work if the
+ # build is specifically configured to account for them. Adding them
+ # later, when compiling the amalgamation, may or may not work.
  #
- # LIBS             Extra libraries options
+ # TO CLARIFY: OPTS=... has historically been expected in some
+ # contexts, and is distinctly different from OPTIONS and
+ # OPT_FEATURE_FLAGS, but its name is confusingly close to $(OPTIONS).
  #
- # OPTS             Extra compiler command-line options.
+ OPT_FEATURE_FLAGS ?=
  #
- # EXE              The suffix to add to executable files.  ".exe" for windows
- #                  and "" for Unix.
+ # $(SHELL_OPT) =
  #
- # TCC              C Compiler and options for use in building executables that
- #                  will run on the target platform.  This is usually the same
- #                  as BCC, unless you are cross-compiling.
+ # CFLAGS specific to the sqlite3 CLI shell app and its close cousins.
  #
- # AR               Tools used to build a static library.
- # RANLIB
+ SHELL_OPT ?=
  #
- # TCL_FLAGS        Extra compiler options needed for programs that use the
- #                  TCL library.
+ # The following TCL_vars come from tclConfig.sh
  #
- # LIBTCL           Linker options needed to link against the TCL library.
+ # Potential TODO: a shell script, similar tool/tclConfigShToTcl.sh,
+ # which emits these vars in a format which we can include from this
+ # makefile.
  #
- # READLINE_FLAGS   Compiler options needed for programs that use the
- #                  readline() library.
+ TCL_INCLUDE_SPEC ?=
+ TCL_LIB_SPEC ?=
+ TCL_STUB_LIB_SPEC ?=
+ TCL_EXEC_PREFIX ?=
+ TCL_VERSION ?=
+ TCLLIBDIR ?=
+ TCL_CONFIG_SH ?=
  #
- # LIBREADLINE      Linker options needed by programs using readline() must
- #                  link against.
+ # $(TCLLIB_RPATH) is the -rpath flag for libtclsqlite3, not
+ # libsqlite3, and will usually differ from $(LDFLAGS.rpath).
  #
- # Once the macros above are defined, the rest of this make script will
- # build the SQLite library and testing tools.
+ TCLLIB_RPATH ?=
+ #
+ # $(HAVE_WASI_SDK) =
+ #
+ # 1 when building with the WASI SDK. This disables certain build
+ # targets. It is expected that the invoker assigns CC to the wasi-sdk
+ # CC.
+ #
+ HAVE_WASI_SDK ?= 0
+ #
+ # ... and many, many more. Sane defaults are selected where possible.
+ #
+ # With the above-described defined, the rest of this make script will
+ # build the project's deliverables and testing tools.
  ################################################################################
+ all:  sqlite3.h sqlite3.c
+ ########################################################################
+ ########################################################################
+ # Modifying anything after this point should not be necessary for most
+ # builds.
+ ########################################################################
+ ########################################################################
+ #
+ # $(CFLAGS) should ideally only contain flags which are relevant for
+ # all binaries built for the target platform.
+ #
+ T.cc += $(CFLAGS)
+ #
+ # The difference between $(OPT_FEATURE_FLAGS) and $(OPTS) is that the
+ # former is historically provided by the configure script, whereas the
+ # latter is intended to be provided as arguments to the make
+ # invocation.
+ #
+ T.cc += $(OPT_FEATURE_FLAGS)
+ #
+ # Add in any optional global compilation flags on the make command
+ # line ie.  make "OPTS=-DSQLITE_ENABLE_FOO=1 -DSQLITE_OMIT_FOO=1".
+ #
+ T.cc += $(OPTS)
+ #
+ # $(INSTALL) invocation for use with non-executable files.
+ #
+ INSTALL.noexec = $(INSTALL) -m 0644
+ # ^^^ do not use GNU-specific flags to $(INSTALL), e.g. --mode=...
+ #
+ # $(T.compile) = generic target platform compiler invocation,
+ # differing only from $(T.cc) in that it appends $(T.compile.extras),
+ # which are primarily intended for use with gcov-related flags.
+ #
+ T.compile = $(T.cc) $(T.compile.extras)
+ #
+ # $(CFLAGS.libsqlite3) must contain any CFLAGS which are relevant for
+ # compiling the library's own sources, including (sometimes) when
+ # compiling sqlite3.c directly in to another app.
+ #
+ CFLAGS.libsqlite3 ?=
+ #
+ # $(T.cc.sqlite) is $(T.cc) plus any flags which are desired for the
+ # library as a whole, but not necessarily needed for every binary. It
+ # will normally get initially populated with flags by the
+ # configure-generated makefile.
+ #
+ T.cc.sqlite ?= $(T.cc)
+ #
+ # $(CFLAGS.intree_includes) = -I... flags relevant specifically to
+ # this tree, including any subdirectories commonly needed for building
+ # various tools.
+ #
+ CFLAGS.intree_includes = \
+     -I. -I$(TOP)/src -I$(TOP)/ext/rtree -I$(TOP)/ext/icu \
+     -I$(TOP)/ext/fts3 -I$(TOP)/ext/async -I$(TOP)/ext/session \
+     -I$(TOP)/ext/misc -I$(TOP)/ext/userauth
+ T.cc.sqlite += $(CFLAGS.intree_includes)
+ #
+ # $(T.cc.extension) = compiler invocation for loadable extensions.
+ #
+ T.cc.extension = $(T.compile) -I. -I$(TOP)/src -DSQLITE_CORE
  
- # If OPTIONS... is specified on the command-line, append its value to OPTS
  #
- OPTS += $(OPTIONS)
+ # $(T.link) = compiler invocation for when the target will be an
+ # executable.
+ #
+ # $(T.link.extras) = optional config-specific flags for $(T.link),
+ # primarily intended for use with gcov-related flags.
+ #
+ T.link = $(T.cc.sqlite) $(T.link.extras)
+ #
+ # $(T.link.shared) = $(T.link) invocation specifically for shared libraries
+ #
+ T.link.shared = $(T.link) $(LDFLAGS.shobj)
+ #
+ # LDFLAGS.libsqlite3 should be used with any target which either
+ # results in building libsqlite3.so, compiles sqlite3.c directly, or
+ # links in either of $(LIBOBJSO) or $(LIBOBJS1).  Note that these
+ # flags are for the target build platform, not necessarily localhost.
+ # i.e. it should be used with $(T.cc.sqlite) or $(T.link) but not $(B.cc).
+ #
+ LDFLAGS.libsqlite3 = \
+   $(LDFLAGS.rpath) $(LDFLAGS.pthread) \
+   $(LDFLAGS.math) $(LDFLAGS.dlopen) \
+   $(LDFLAGS.zlib) $(LDFLAGS.icu)
+ #
+ # $(install-dir.XYZ) = dirs for installation.
+ #
+ # Design note: these should arguably all be defined with surrounding
+ # double-quotes so that targets which have spaces in their paths will
+ # work, but that leads to Make treating the quotes as part of the dir
+ # name, which in turn leads to it never finding a matching name in the
+ # filesystem and always invoking ($(INSTALL) -d ...) for them. The
+ # moral of this story is that spaces in installation paths will break
+ # the install process.
+ #
+ install-dir.bin = $(DESTDIR)$(bindir)
+ install-dir.lib = $(DESTDIR)$(libdir)
+ install-dir.include = $(DESTDIR)$(prefix)/include
+ install-dir.pkgconfig = $(DESTDIR)$(pkgconfigdir)
+ install-dir.man1 = $(DESTDIR)$(prefix)/share/man/man1
+ install-dir.all = $(install-dir.bin) $(install-dir.include) \
+   $(install-dir.lib) $(install-dir.man1) \
+   $(install-dir.pkgconfig)
+ $(install-dir.all):
+       $(INSTALL) -d $@
+ #
+ # After jimsh is compiled, we run some sanity checks to ensure that
+ # it was built in a way compatible with this project's scripts:
+ #
+ # 1) Ensure that it was built with realpath() or _fullpath() support.
+ # Without that flag the [file normalize] command will always resolve
+ # to an empty string.
+ #
+ # 2) Ensure that it is built with -DJIM_COMPAT (which may be
+ # hard-coded into jimsh0.c). Without this, the [expr] command
+ # accepts only a single argument.
+ #
+ $(JIMSH): $(TOP)/autosetup/jimsh0.c
+       $(B.cc) -o $@ $(CFLAGS.jimsh) $(TOP)/autosetup/jimsh0.c
+       @if [ x = "x$$($(JIMSH) -e 'file normalize $(JIMSH)' 2>/dev/null)" ]; then \
+               echo "$(JIMSH) was built without -DHAVE_REALPATH or -DHAVE__FULLPATH." 1>&2; \
+               exit 1; \
+       fi
+       @if [ x3 != "x$$($(JIMSH) -e 'expr 1 + 2' 2>/dev/null)" ]; then \
+               echo "$(JIMSH) was built without -DJIM_COMPAT." 1>&2; \
+               exit 1; \
+       fi
+ distclean-jimsh:
+       rm -f $(JIMSH)
+ distclean: distclean-jimsh
  
- # This is how we compile
  #
- TCCX =  $(TCC) $(OPTS) -I. -I$(TOP)/src -I$(TOP)
- TCCX += -I$(TOP)/ext/rtree -I$(TOP)/ext/icu -I$(TOP)/ext/fts3
- TCCX += -I$(TOP)/ext/async -I$(TOP)/ext/userauth
- TCCX += -I$(TOP)/ext/session
- TCCX += -I$(TOP)/ext/fts5
- THREADLIB += $(LIBS)
+ # $(MAKE_SANITY_CHECK) = a set of checks for various make vars which
+ # must be provided to this file before including it. If any are
+ # missing, this target fails. It does (almost) no semantic validation,
+ # only checks to see that appropriate vars are not empty.
+ #
+ # Note that $(MAKEFILE_LIST) is a GNU-make-ism but its use is harmless
+ # in other flavors of Make.
+ #
+ MAKE_SANITY_CHECK = .main.mk.checks
+ $(MAKE_SANITY_CHECK): $(MAKEFILE_LIST)
+       @if [ x = "x$(TOP)" ]; then echo "Missing TOP var" 1>&2; exit 1; fi
+       @if [ ! -d "$(TOP)" ]; then echo "$(TOP) is not a directory" 1>&2; exit 1; fi
+       @if [ ! -f "$(TOP)/auto.def" ]; then echo "$(TOP) does not appear to be the top-most source dir" 1>&2; exit 1; fi
 -      @if [ x = "x$(PACKAGE_VERSION)" ]; then echo "PACKAGE_VERSION must be set to the library's X.Y.Z-format version number" 1>&2; exit 1; fi
+       @if [ x = "x$(B.cc)" ]; then echo "Missing B.cc var" 1>&2; exit 1; fi
+       @if [ x = "x$(T.cc)" ]; then echo "Missing T.cc var" 1>&2; exit 1; fi
+       @if [ x = "x$(B.tclsh)" ]; then echo "Missing B.tclsh var" 1>&2; exit 1; fi
+       @if [ x = "x$(AR)" ]; then echo "Missing AR var" 1>&2; exit 1; fi
+       touch $@
+ clean-sanity-check:
+       rm -f $(MAKE_SANITY_CHECK)
+ clean: clean-sanity-check
  
- # Object files for the SQLite library.
  #
- LIBOBJ+= vdbe.o parse.o \
-          alter.o analyze.o attach.o auth.o \
+ # Object files for the SQLite library (non-amalgamation).
+ #
+ LIBOBJS0 = alter.o analyze.o attach.o auth.o \
           backup.o bitvec.o btmutex.o btree.o build.o \
           callback.o complete.o ctime.o \
-          date.o dbpage.o dbstat.o delete.o expr.o \
-        fault.o fkey.o \
-          fts3.o fts3_aux.o fts3_expr.o fts3_hash.o fts3_icu.o fts3_porter.o \
-          fts3_snippet.o fts3_tokenizer.o fts3_tokenizer1.o \
+          date.o dbpage.o dbstat.o delete.o \
+          expr.o fault.o fkey.o \
+          fts3.o fts3_aux.o fts3_expr.o fts3_hash.o fts3_icu.o \
+          fts3_porter.o fts3_snippet.o fts3_tokenizer.o fts3_tokenizer1.o \
           fts3_tokenize_vtab.o \
-        fts3_unicode.o fts3_unicode2.o \
-          fts3_write.o fts5.o func.o global.o hash.o \
+          fts3_unicode.o fts3_unicode2.o fts3_write.o \
+          fts5.o \
+          func.o global.o hash.o \
           icu.o insert.o json.o legacy.o loadext.o \
           main.o malloc.o mem0.o mem1.o mem2.o mem3.o mem5.o \
           memdb.o memjournal.o \
diff --cc manifest
index 7b755eff5b6b38f978ff98ec3a69abe5cd12e2ad,0803ac4932b6796ad98491035f46a75fe7abe125..c65d83c701a299b1b227dc412e3a029a6571fb6c
+++ b/manifest
@@@ -1,14 -1,13 +1,13 @@@
- C Rationalize\scode\sfurther.\sAnd\sadd\stests.
- D 2024-10-01T20:38:08.239
 -C Help\ssystems\sstill\susing\sTcl8.6\sto\scompile\stclsqlite.c\sby\schanging\sa\ntypedef\sinto\sa\s#define.
 -D 2024-10-27T10:33:47.353
++C Merge\slatest\strunk\sinto\sthis\sbranch.
++D 2024-10-27T14:41:58.117
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
- F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
- F Makefile.in fa448c4c0567623fd140efebecb570ab58d955d766a5ea0fd8a94e9b5697007c
- F Makefile.linux-gcc f3842a0b1efbfbb74ac0ef60e56b301836d05b4d867d014f714fa750048f1ab6
- F Makefile.msc e3c4723c27464acc31da4420b808c8d2690180ba2b915897bece0a9d5d2cecf6
+ F LICENSE.md b6e6c1baf38e4339bd3f1e0e5e5bfd0a9a93d133360691b2785c2d4b2f2dcec2
+ F Makefile.in 957cbf0d25ced08f6703b82f2070cbea791aeeb2d6059c4426c30cd87c80250f
 -F Makefile.linux-generic 8df0e6ee5e4671f844caf27f88d2be7421e904639f7a0ffdce0e2cd4ea11e8c0
++F Makefile.linux-generic 8df0e6ee5e4671f844caf27f88d2be7421e904639f7a0ffdce0e2cd4ea11e8c0 w Makefile.linux-gcc
+ F Makefile.msc d2d927177660945599ba88ea32f1ab5c261a96a8797380b99766e27f3aea7e4f
  F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159
- F VERSION 0db40f92c04378404eb45bff93e9e42c148c7e54fd3da99469ed21e22411f5a6
- F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
+ F VERSION 8dc0c3df15fd5ff0622f88fc483533fce990b1cbb2f5fb9fdfb4dbd71eef2889
  F art/icon-243x273.gif 9750b734f82fdb3dc43127753d5e6fbf3b62c9f4e136c2fbf573b2f57ea87af5
  F art/icon-80x90.gif 65509ce3e5f86a9cd64fe7fca2d23954199f31fe44c1e09e208c80fb83d87031
  F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
@@@ -17,29 -17,47 +17,47 @@@ F auto.def fbbacb5a62b32a5d6f831694cca4
  F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903
  F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347
  F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
- F autoconf/Makefile.msc 2aced6442addab13ed115696eba28d9ed29caa3dd604a31392c2c7a5da301492
+ F autoconf/Makefile.msc 1162ef7b7937ba6927b038f824b050855784d417e785fe35ab71d20afd18022b
  F autoconf/README.first 6c4f34fe115ff55d4e8dbfa3cecf04a0188292f7
- F autoconf/README.txt 42cfd21d0b19dc7d5d85fb5c405c5f3c6a4c923021c39128f6ba685355d8fd56
+ F autoconf/README.txt 5e946ffb6fbdbb114c81e1bdc862df27fce8beab557d7b0421820b0fe8fc048f
  F autoconf/configure.ac ec7fa914c5e74ff212fe879f9bb6918e1234497e05facfb641f30c4d5893b277
- F autoconf/tea/Makefile.in 106a96f2f745d41a0f6193f1de98d7355830b65d45032c18cd7c90295ec24196
- F autoconf/tea/README 3e9a3c060f29a44344ab50aec506f4db903fb873
+ F autoconf/tea/Makefile.in ba0556fee8da09c066bad85a4457904e46ee2c2eabaa309c0e83a78f2f151a8e
 -F autoconf/tea/README.txt 61e62e519579e4a112791354d6d440f8b51ea6db3b0bab58d59f29df42d2dfe3
++F autoconf/tea/README.txt 61e62e519579e4a112791354d6d440f8b51ea6db3b0bab58d59f29df42d2dfe3 w autoconf/tea/README
  F autoconf/tea/aclocal.m4 52c47aac44ce0ddb1f918b6993e8beb8eee88f43
- F autoconf/tea/configure.ac 0deb5d6c49c8119f75f436488219fc043127d72057af5dfba2c9ce096a5734bc
+ F autoconf/tea/configure.ac ff2d745f88e493080810b67958d88b4f7a7d79f19e2ee8e7f72ffd6fc04eabc7
  F autoconf/tea/doc/sqlite3.n e1fe45d4f5286ee3d0ccc877aca2a0def488e9bb
  F autoconf/tea/license.terms 13bd403c9610fd2b76ece0ab50c4c5eda933d523
- F autoconf/tea/pkgIndex.tcl.in b9eb6dd37f64e08e637d576b3c83259814b9cddd78bec4af2e5abfc6c5c750ce
- F autoconf/tea/tclconfig/install-sh bdd5e293591621ae60d9824d86a4b1c5f22c3d00
- F autoconf/tea/tclconfig/tcl.m4 c6e5f2fc7178f40d087403daa044ef3b86a8e30793f3b121bdcbdf152c6a776a
- F autoconf/tea/win/makefile.vc 2c478a9a962e48b2bf9062734e04d7c63c556e217095419173f9d7938d7d78f7
+ F autoconf/tea/pkgIndex.tcl.in 55aec3c6d7e9a1de9b8d2fdc9c27fd055da3ac3a51b572195e2ae7300bcfd3a2
+ F autoconf/tea/tclconfig/install-sh 2182b3705d92e25753411e2c28cf788c69e35a48fbb8aa332e342dfc6b95b80d
+ F autoconf/tea/tclconfig/tcl.m4 284faa1d9cf66c1efb42817beb5c8a63626fb35bf903993d4f11fde75677cc1a
+ F autoconf/tea/win/makefile.vc 55721106928894cb818164a8ce054da11d948948f5a92a54d262dd0a6a891d4d
  F autoconf/tea/win/nmakehlp.c b01f822eabbe1ed2b64e70882d97d48402b42d2689a1ea00342d1a1a7eaa19cb
- F autoconf/tea/win/rules.vc 7b3bb2ef32ade0f3f14d951231811678722725e3bca240dd9727ae0dfe10f6a5
- F config.guess 883205ddf25b46f10c181818bf42c09da9888884af96f79e1719264345053bd6
- F config.sub c2d0260f17f3e4bc0b6808fccf1b291cb5e9126c14fc5890efc77b9fd0175559
- F configure 49523f0a070b583cea040d26eff53a65fb0893eca4663b1343a4d5a9a964da53 x
- F configure.ac a100ebf7a07f5dedd319ef547dd467d1676ed059b85a7877aa9c44ac309f7000
+ F autoconf/tea/win/rules-ext.vc fd5740d97aac8c41c97eaa0fbcc0c15a41b6f7075d5f9f593e147d7a284a247a
+ F autoconf/tea/win/rules.vc 94a18c3e453535459b4a643983acca52fb8756e79055bd2ad4b0999d66484f4c
+ F autoconf/tea/win/targets.vc 96a25a1fa6e9e9cfb348fd3760a5395b4ce8acafc8ed10f0412937ec200d5dbd
+ F autosetup/LICENSE 41a26aebdd2cd185d1e2b210f71b7ce234496979f6b35aef2cbf6b80cbed4ce4
+ F autosetup/README.autosetup a78ff8c4a3d2636a4268736672a74bf14a82f42687fcf0631a70c516075c031e
+ F autosetup/autosetup 9416ffdcdd6e2dbf7f6d1e5c890078518930f8af7722a950eacc28c7f151d2d6 x
+ F autosetup/autosetup-config.guess dfa101c5e8220e864d5e9c72a85e87110df60260d36cb951ad0a85d6d9eaa463 x
+ F autosetup/autosetup-config.sub a38fb074d0dece01cf919e9fb534a26011608aa8fa606490864295328526cd73 x
+ F autosetup/autosetup-find-tclsh 38dc4ac03c061d5ee53ecd1ec2fc3d5f0bbf4e84a7123d3160e01d26b5858f36 x
+ F autosetup/autosetup-test-tclsh 749d20defee533a3842139df47d700fc7a334a5da7bdbd444ae5331744b06c5f
+ F autosetup/cc-db.tcl 6e0ed90146197a5a05b245e649975c07c548e30926b218ca3e1d4dc034b10a7b
+ F autosetup/cc-lib.tcl 493c5935b5dd3bf9bd4eca89b07c8b1b1a9356d61783035144e21795facf7360
+ F autosetup/cc-shared.tcl 4f024e94a47f427ba61de1739f6381ef0080210f9fae89112d5c1de1e5460d78
+ F autosetup/cc.tcl 7e2fe943ae9d45cf39e9f5b05b6230df8e719415edea5af06c30eb68680bde14
+ F autosetup/default.auto 5cdf016de2140e50f1db190a02039dc42fb390af1dda4cc4853e3042a9ef0e82
+ F autosetup/hwaci-common.tcl 247f02d8c92999c0e76e033371c7dd41fee326e70de0251044d00b75562b0a3a
+ F autosetup/jimsh0.c 27ea5f221359ef6c58780fc6c185aadbf8d3bee9a021331a3e5de0eba0dc6de6
+ F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba
+ F autosetup/system.tcl 3a39d6e0b3bfba526fd39afe07c1d0d325e5a31925013a1ba7c671e1128e31bb
+ F autosetup/tmake.auto eaebc74ad538dfdd3c817c27eefc31930c20510c4f3a3704071f6cb0629ed71f
+ F autosetup/tmake.tcl a275793ec1b6f8708179af0acef1f6f10d46c2920739743f7a8720c6d700c7a9
+ F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x
  F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
  F doc/F2FS.txt c1d4a0ae9711cfe0e1d8b019d154f1c29e0d3abfe820787ba1e9ed7691160fcd
- F doc/compile-for-windows.md 4d4bfafda42a7a33f166d23aed4db1bb4ea1e5751595a5cced2bad349fd14652
+ F doc/compile-for-unix.md 7d6a5770611ea0643de456b385581923dac7c0a7c3758825dda810d12fc3e5b2
+ F doc/compile-for-windows.md 17e1491897a117ff0247531a61671b26d487bc1dad25c3894c04ad4fca936a7f
  F doc/json-enhancements.md e356fc834781f1f1aa22ee300027a270b2c960122468499bf347bb123ce1ea4f
  F doc/jsonb.md 5fab4b8613aa9153fbeb6259297bd4697988af8b3d23900deba588fa7841456b
  F doc/lemon.html 8b266ff711d2ec7f867c3dca37634963f48a630329908cc282beebfa8c708706
@@@ -92,20 -110,20 +110,20 @@@ F ext/fts3/unicode/UnicodeData.txt cd07
  F ext/fts3/unicode/mkunicode.tcl 63db9624ccf70d4887836c320eda93ab552f21008f3be7ede551eac3ead62baa
  F ext/fts3/unicode/parseunicode.tcl a981bd6466d12dd17967515801c3ff23f74a281be1a03cf1e6f52a6959fc77eb
  F ext/fts5/extract_api_docs.tcl 009cf59c77afa86d137b0cca3e3b1a5efbe2264faa2df233f9a7aa8563926d15
- F ext/fts5/fts5.h efaaac0df3d3bc740383044c144b582f47921aafa21d7b10eb98f42c24c740b0
- F ext/fts5/fts5Int.h 83a7af3fee07d5163bf7bf97db310544fcc143c94acb13dbced7e06ae8025a18
+ F ext/fts5/fts5.h 6b4b92df890965567360db5f1ead24fd13a72cb23b95e4ed2ff58d1d89f7aa42
 -F ext/fts5/fts5Int.h bf0d3efa144f36e00f9b5206626aec2f436f58186a0835092394f2202e9828e3
++F ext/fts5/fts5Int.h a282f33a260ddce09dc2b0334d41d83aab0893b2b1656eb83c595a3d0eec2975
  F ext/fts5/fts5_aux.c 65a0468dd177d6093aa9ae1622e6d86b0136b8d267c62c0ad6493ad1e9a3d759
  F ext/fts5/fts5_buffer.c 0eec58bff585f1a44ea9147eae5da2447292080ea435957f7488c70673cb6f09
- F ext/fts5/fts5_config.c da21548ddbc1a457cb42545f527065221ede8ada6a734891b8c34317a7a9506b
+ F ext/fts5/fts5_config.c a6633d88596758941c625b526075b85d3d9fd1089d8d9eab5db6e8a71fd347ad
 -F ext/fts5/fts5_expr.c 9a56f53700d1860f0ee2f373c2b9074eaf2a7aa0637d0e27a6476de26a3fee33
 +F ext/fts5/fts5_expr.c 69b8d976058512c07dfe86e229521b7a871768157bd1607cedf1a5038dfd72c9
  F ext/fts5/fts5_hash.c adda4272be401566a6e0ba1acbe70ee5cb97fce944bc2e04dc707152a0ec91b1
- F ext/fts5/fts5_index.c 9b2b9636ccefd6140c0ad7a44c51c2ea39f377753a13f06a2e6792215b62cede
- F ext/fts5/fts5_main.c 4503498d3453e29a3cd89dacaba029011e89cb8c481a6241611d106e7a369bd4
- F ext/fts5/fts5_storage.c 3332497823c3d171cf56379f2bd8c971ce15a19aadacff961106462022c92470
- F ext/fts5/fts5_tcl.c 4db9258a7882c5eac0da4433042132aaf15b87dd1e1636c7a6ca203abd2c8bfe
 -F ext/fts5/fts5_index.c 368a968570ce12ba40223e284a588d9f93ee23a0133727f0df1fcd64086b1fb6
++F ext/fts5/fts5_index.c ee650a838fc0591776f7582de578f414959a76cc0118851e4c1f7d13e7365379
+ F ext/fts5/fts5_main.c 50eb059e51d730e8e0c77df4e568b018079e112a755c094488b0d5b1aa06afbb
+ F ext/fts5/fts5_storage.c 337b05e4c66fc822d031e264d65bde807ec2fab08665ca2cc8aaf9c5fa06792c
+ F ext/fts5/fts5_tcl.c 9b390c318e36c0dc53af14e20198f55aa3ed46a39350ed7f46bc034e422fe778
  F ext/fts5/fts5_test_mi.c 08c11ec968148d4cb4119d96d819f8c1f329812c568bac3684f5464be177d3ee
  F ext/fts5/fts5_test_tok.c 3cb0a9b508b30d17ef025ccddd26ae3dc8ddffbe76c057616e59a9aa85d36f3b
- F ext/fts5/fts5_tokenize.c ae9c4fa93174ef06ffc138bd4280a1c37f7e13624d3d2706aad4b80573f23c41
+ F ext/fts5/fts5_tokenize.c 033e2e43b8e852c0ef6cecc611266d61e2346e52ec7dcfb76a428fe56a07efa9
  F ext/fts5/fts5_unicode2.c 6f9b0fb79a8facaed76628ffd4eb9c16d7f2b84b52872784f617cf3422a9b043
  F ext/fts5/fts5_varint.c e64d2113f6e1bfee0032972cffc1207b77af63319746951bf1d09885d1dadf80
  F ext/fts5/fts5_vocab.c e4830b00809e5da53bc10f93adc59e321407b0f801c7f4167c0e47f5552267e0
@@@ -606,16 -627,13 +628,13 @@@ F ext/wasm/GNUmakefile 311aa0d5edc70064
  F ext/wasm/README-dist.txt 6382cb9548076fca472fb3330bbdba3a55c1ea0b180ff9253f084f07ff383576
  F ext/wasm/README.md a8a2962c3aebdf8d2104a9102e336c5554e78fc6072746e5daf9c61514e7d193
  F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
- F ext/wasm/SQLTester/SQLTester.mjs ce765c0ad7d57f93553d12ef4dca574deb00300134a26d472daacab49031e1fb
- F ext/wasm/SQLTester/SQLTester.run.mjs c72b7fe2072d05992f7a3d8c6a1d34e95712513ceabe40849784e24e41c84638
- F ext/wasm/SQLTester/index.html 3f8a016df0776be76605abf20e815ecaafbe055abac0e1fe5ea080e7846b760d
+ F ext/wasm/SQLTester/SQLTester.mjs 66e1adc3d79467b68e3e40614fd42c1a577c7e219ec0985db966eded52a941e5
+ F ext/wasm/SQLTester/SQLTester.run.mjs 57f2adb33f43f2784abbf8026c1bfd049d8013af1998e7dcb8b50c89ffc332e0
+ F ext/wasm/SQLTester/index.html 64f3435084c7d6139b08d1f2a713828a73f68de2ae6a3112cbb5980d991ba06f
  F ext/wasm/SQLTester/touint8array.c 2d5ece04ec1393a6a60c4bf96385bda5e1a10ad49f3038b96460fc5e5aa7e536
- F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-auth 7ac80cc3b6a6d52e041bb295e85555ce797be78c15ef2008a64ae58815014080
- F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-core 400213eb52a7e5ad5f448053d375cacf4dac2cf45d134f3edfe485ae4a49a183
- F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-preupdate d1d62a2212099f2c0782d730beb8cb84a7a52d99c15ead2cb9b1411fff5fd6b1
+ F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-core 2bcbbfe3b95c043ed6037e2708a2ee078d212dd1612c364f93588d8dc97300fe
 -F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-extras fe40d6d758646e38f8b15f709044951e10884214f5453d35502100179c388c13
++F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-extras fe40d6d758646e38f8b15f709044951e10884214f5453d35502100179c388c13 w ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-session
  F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-see fb29e62082a658f0d81102488414d422c393c4b20cc2f685b216bc566237957b
- F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-session 213b6c04267cb9bd760172db011eb1650732805fb3d01f9395478a8ceec18eb0
- F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-vtab fd57af1f4502a052be27d8402df74be1dc60fcb6a687d372972abd90e424120a
  F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287
  F ext/wasm/api/README.md 34fe11466f9c1d81b10a0469e1114e5f1c5a6365c73d80a1a6ca639a1a358b73
  F ext/wasm/api/extern-post-js.c-pp.js c4154a7f90c2d7e51fd6738273908152036c3457fdc0b6523f1be3ef51105aac
@@@ -688,7 -707,7 +708,7 @@@ F ext/wasm/wasmfs.make bc8bb227f35d5bd3
  F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
  F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
  F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
- F main.mk 67e622f31d10fee8f0f62655b4f9b47cd97fe70a125674ca6754b3549d69cc0e
 -F main.mk d943a2d0a0deb14daea10e036ef3a55e1b641cd57f5893a2fba29e65cc33acc0
++F main.mk 325f071fc9fea1b7ba498fb11eb64c93a7a2214d6013f2576ae7592c70f8e6ab
  F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
  F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
  F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421
@@@ -2174,14 -2196,14 +2197,14 @@@ F tool/speedtest8.c 2902c46588c40b55661
  F tool/speedtest8inst1.c 7ce07da76b5e745783e703a834417d725b7d45fd
  F tool/spellsift.tcl 52b4b04dc4333c7ab024f09d9d66ed6b6f7c6eb00b38497a09f338fa55d40618 x
  F tool/split-sqlite3c.tcl 5aa60643afca558bc732b1444ae81a522326f91e1dc5665b369c54f09e20de60
- F tool/sqldiff.c 847fc8fcfddf5ce4797b7394cad6372f2f5dc17d8186e2ef8fb44d50fae4f44a
- F tool/sqlite3-rsync.c 187b262035c1159b047dbfa1959c168b87b5a153b63465e8c8bd1b54fabf4460
- F tool/sqlite3_analyzer.c.in 8da2b08f56eeac331a715036cf707cc20f879f231362be0c22efd682e2b89b4f
+ F tool/sqldiff.c 2a0987d183027c795ced13d6749061c1d2f38e24eddb428f56fa64c3a8f51e4b
+ F tool/sqlite3_analyzer.c.in 348ba349bbdc93c9866439f9f935d7284866a2a4e6898bc906ae1204ade56918
 -F tool/sqlite3_rsync.c 6c9cac5a9197f591985b271aeff803ec4fb4db36c8eab97e1331ff64aa1b8d94
++F tool/sqlite3_rsync.c 6c9cac5a9197f591985b271aeff803ec4fb4db36c8eab97e1331ff64aa1b8d94 w tool/sqlite3-rsync.c
  F tool/sqltclsh.c.in 1bcc2e9da58fadf17b0bf6a50e68c1159e602ce057210b655d50bad5aaaef898
  F tool/sqltclsh.tcl 862f4cf1418df5e1315b5db3b5ebe88969e2a784525af5fbf9596592f14ed848
- F tool/src-verify.c 41c586dee84d0b190ad13e0282ed83d4a65ec9fefde9adf4943efdf6558eea7f
+ F tool/src-verify.c d00f93263aa2fa6ba0cba0106d95458e6effb94fdb5fc634f56834f90c05bbb4
  F tool/srcck1.c 371de5363b70154012955544f86fdee8f6e5326f
- F tool/srctree-check.tcl c15f860a3c97d5f7b4c14b60392d9466af29dd006c4ef18127f502641e2977a8
+ F tool/srctree-check.tcl 1f1f505835a4beca64c1751a7ebec5c41a1ddf22b1e80481345b95059eef6583
  F tool/stack_usage.tcl f8e71b92cdb099a147dad572375595eae55eca43
  F tool/stripccomments.c 20b8aabc4694d0d4af5566e42da1f1a03aff057689370326e9269a9ddcffdc37
  F tool/symbols-mingw.sh 4dbcea7e74768305384c9fd2ed2b41bbf9f0414d
@@@ -2214,8 -2237,8 +2238,8 @@@ F vsixtest/vsixtest.tcl 6195aba1f12a5e1
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P 66f209ba40e7de49b304d7931ff38a4994038452aab08e9347286a234c6f7075
- R 364baf490f2f60461704cce12defe7d5
 -P 6dfda7f5799f5a2448d3bd57fe9422de100bd8f4f9e53e97f73eeb85c3707b0f
 -R acfe37f64308f303e7877171f580928d
 -U drh
 -Z 48fd3c7997c1ca83de275f6cc35d4431
++P 0ca002a4ab88f3e7ae1e6e518038157eaa20759f57888c2ed7e50cb92bd96348 82ab8ff399aafa3a1faec9c85e9d6bdd26636f28f3ea22287999a868bb78db57
++R cabc7b53155eda94fb26c7d836d62d67
 +U dan
- Z 98928b751e601e5ab0ec38779c287b09
++Z e43f833e82b70fb9fbe2296f7ff5c4fc
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index 7b4f75a7f22b86af21b08fdf12a3fd5b2e6144d6,554a1a32701b4b3f6ac3534c919b6009b1916d88..abdc2e2fe2177f8a01b61999dbebe4fcbeee75e2
@@@ -1,1 -1,1 +1,1 @@@
- 0ca002a4ab88f3e7ae1e6e518038157eaa20759f57888c2ed7e50cb92bd96348
 -82ab8ff399aafa3a1faec9c85e9d6bdd26636f28f3ea22287999a868bb78db57
++740a37c5d54b57befa86a6bb299ffa89ed4243d10db885a08ab5c63238460dad