]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
First attempt to add json1 and fts5 to the amalgamation. This check-in does
authordrh <drh@noemail.net>
Thu, 8 Oct 2015 19:29:18 +0000 (19:29 +0000)
committerdrh <drh@noemail.net>
Thu, 8 Oct 2015 19:29:18 +0000 (19:29 +0000)
not compile.

FossilOrigin-Name: d820a1bd1b8dd702d1b3a099af393530cc5a5d51

13 files changed:
Makefile.in
Makefile.msc
ext/fts5/fts5_main.c
ext/fts5/tool/mkfts5c.tcl
ext/misc/json1.c
main.mk
manifest
manifest.uuid
src/ctime.c
src/main.c
src/shell.c
tool/mksqlite3c.tcl
tool/mksqlite3h.tcl

index 5c78abde946428b2d35a37bc3d9fa38bff323208..f78d6cf092ca734d15d6f8c29589a8659a8d164e 100644 (file)
@@ -346,7 +346,10 @@ SRC += \
   $(TOP)/ext/rtree/rtree.c
 SRC += \
   $(TOP)/ext/rbu/sqlite3rbu.h \
-  $(TOP)/ext/rbu/sqlite3rbu.c
+  $(TOP)/ext/rbu/sqlite3rbu.c\
+SRC += \
+  $(TOP)/ext/misc/json1.c
+
 
 
 # Generated source code files
@@ -541,16 +544,16 @@ FUZZDATA = \
   $(TOP)/test/fuzzdata3.db \
   $(TOP)/test/fuzzdata4.db
 
-# Extra arguments for including json1 in the build of tools
-#
-JSON1_DEP = $(TOP)/ext/misc/json1.c sqlite3ext.h
-JSON1_OPT = -DSQLITE_SHELL_JSON1 -DSQLITE_CORE
-JSON1_SRC = $(TOP)/ext/misc/json1.c
-
 # Standard options to testfixture
 #
 TESTOPTS = --verbose=file --output=test-out.txt
 
+# Extra compiler options for various shell tools
+#
+SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5
+FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
+FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1
+
 # This is the default Makefile target.  The objects listed here
 # are what get build when you type just "make" with no arguments.
 #
@@ -573,20 +576,20 @@ libtclsqlite3.la: tclsqlite.lo libsqlite3.la
                -version-info "8:6:8" \
                -avoid-version
 
-sqlite3$(TEXE):        $(TOP)/src/shell.c libsqlite3.la sqlite3.h $(JSON1_DEP)
-       $(LTLINK) $(READLINE_FLAGS) $(JSON1_OPT) -o $@ \
-               $(TOP)/src/shell.c $(JSON1_SRC) libsqlite3.la \
+sqlite3$(TEXE):        $(TOP)/src/shell.c libsqlite3.la sqlite3.h
+       $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \
+               $(TOP)/src/shell.c libsqlite3.la \
                $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
 
 sqldiff$(TEXE):        $(TOP)/tool/sqldiff.c sqlite3.c sqlite3.h
        $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.c $(TLIBS)
 
-fuzzershell$(TEXE):    $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h $(JSON1_DEP)
-       $(LTLINK) -o $@ $(JSON1_OPT) \
-         $(TOP)/tool/fuzzershell.c $(JSON1_SRC) sqlite3.c $(TLIBS)
+fuzzershell$(TEXE):    $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
+       $(LTLINK) -o $@ $(FUZZERSHELL_OPT) \
+         $(TOP)/tool/fuzzershell.c sqlite3.c $(TLIBS)
 
-fuzzcheck$(TEXE):      $(TOP)/test/fuzzcheck.c sqlite3.c sqlite3.h $(JSON1_DEP)
-       $(LTLINK) -o $@ $(JSON1_OPT) $(TOP)/test/fuzzcheck.c $(JSON1_SRC) sqlite3.c $(TLIBS)
+fuzzcheck$(TEXE):      $(TOP)/test/fuzzcheck.c sqlite3.c sqlite3.h
+       $(LTLINK) -o $@ $(FUZZCHECK_OPT) $(TOP)/test/fuzzcheck.c sqlite3.c $(TLIBS)
 
 mptester$(TEXE):       sqlite3.c $(TOP)/mptest/mptest.c
        $(LTLINK) -o $@ -I. $(TOP)/mptest/mptest.c sqlite3.c \
@@ -612,13 +615,14 @@ mptest:   mptester$(TEXE)
 # files are automatically generated.  This target takes care of
 # all that automatic generation.
 #
-.target_source:        $(SRC) $(TOP)/tool/vdbe-compress.tcl
+.target_source:        $(SRC) $(TOP)/tool/vdbe-compress.tcl fts5.c
        rm -rf tsrc
        mkdir tsrc
        cp -f $(SRC) tsrc
        rm tsrc/sqlite.h.in tsrc/parse.y
        $(TCLSH_CMD) $(TOP)/tool/vdbe-compress.tcl $(OPTS) <tsrc/vdbe.c >vdbe.new
        mv vdbe.new tsrc/vdbe.c
+       cp fts5.c fts5.h tsrc
        touch .target_source
 
 sqlite3.c:     .target_source $(TOP)/tool/mksqlite3c.tcl
index 678b547fed565a19432fd30a9e73d7317bd76506..5419071ca95753057df2489fa3adf9e5f36aab51 100644 (file)
@@ -388,11 +388,11 @@ CORE_LINK_OPTS = /DEF:sqlite3.def
 
 # These are additional compiler options used for the shell executable.
 #
-!IFNDEF SHELL_COMPILE_OPTS
+!IFNDEF SHELL_OPT
 !IF $(DYNAMIC_SHELL)!=0
-SHELL_COMPILE_OPTS = -DSQLITE_SHELL_JSON1 $(SHELL_CCONV_OPTS) -DSQLITE_API=__declspec(dllimport)
+SHELL_OPT = -DSQLITE_SHELL_JSON1 $(SHELL_CCONV_OPTS) -DSQLITE_API=__declspec(dllimport)
 !ELSE
-SHELL_COMPILE_OPTS = -DSQLITE_SHELL_JSON1 $(SHELL_CCONV_OPTS)
+SHELL_OPT = -DSQLITE_SHELL_JSON1 $(SHELL_CCONV_OPTS)
 !ENDIF
 !ENDIF
 
@@ -1008,7 +1008,8 @@ SRC4 = \
   $(TOP)\ext\rtree\rtree.h \
   $(TOP)\ext\rtree\rtree.c \
   $(TOP)\ext\rbu\sqlite3rbu.h \
-  $(TOP)\ext\rbu\sqlite3rbu.c
+  $(TOP)\ext\rbu\sqlite3rbu.c \
+  $(TOP)\ext\misc\json1.c
 
 
 # Generated source code files
@@ -1210,11 +1211,11 @@ FUZZDATA = \
   $(TOP)\test\fuzzdata3.db \
   $(TOP)\test\fuzzdata4.db
 
-# Extra arguments for including json1 in the build of tools
+# Extra compiler options for various shell tools
 #
-JSON1_DEP = sqlite3ext.h $(TOP)\ext\misc\json1.c
-JSON1_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_CORE
-JSON1_SRC = $(TOP)\ext\misc\json1.c
+SHELL_OPT += -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5
+FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
+FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1
 
 # Standard options to testfixture
 #
@@ -1231,19 +1232,19 @@ libsqlite3.lib: $(LIBOBJ)
 libtclsqlite3.lib:     tclsqlite.lo libsqlite3.lib
        $(LTLIB) $(LTLIBOPTS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo libsqlite3.lib $(LIBTCL:tcl=tclstub) $(TLIBS)
 
-sqlite3.exe:   $(TOP)\src\shell.c $(JSON1_DEP) $(SHELL_CORE_DEP) $(LIBRESOBJS) sqlite3.h
-       $(LTLINK) $(SHELL_COMPILE_OPTS) $(JSON1_OPT) $(READLINE_FLAGS) $(TOP)\src\shell.c $(JSON1_SRC) \
+sqlite3.exe:   $(TOP)\src\shell.c $(SHELL_CORE_DEP) $(LIBRESOBJS) sqlite3.h
+       $(LTLINK) $(SHELL_COMPILE_OPTS) $(SHELL_OPT) $(READLINE_FLAGS) $(TOP)\src\shell.c \
                /link /pdb:sqlite3sh.pdb $(LTLINKOPTS) $(SHELL_LINK_OPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS)
 
 sqldiff.exe:   $(TOP)\tool\sqldiff.c sqlite3.c sqlite3.h
        $(LTLINK) $(NO_WARN) $(TOP)\tool\sqldiff.c sqlite3.c
 
-fuzzershell.exe:       $(TOP)\tool\fuzzershell.c sqlite3.c sqlite3.h $(JSON1_DEP)
-       $(LTLINK) $(NO_WARN) $(JSON1_OPT) \
-         $(TOP)\tool\fuzzershell.c $(JSON1_SRC) sqlite3.c
+fuzzershell.exe:       $(TOP)\tool\fuzzershell.c sqlite3.c sqlite3.h
+       $(LTLINK) $(NO_WARN) $(FUZZERSHELL_OPT) \
+         $(TOP)\tool\fuzzershell.c sqlite3.c
 
-fuzzcheck.exe: $(TOP)\test\fuzzcheck.c sqlite3.c sqlite3.h $(JSON1_DEP)
-       $(LTLINK) $(NO_WARN) $(JSON1_OPT) $(TOP)\test\fuzzcheck.c $(JSON1_SRC) sqlite3.c
+fuzzcheck.exe: $(TOP)\test\fuzzcheck.c sqlite3.c sqlite3.h
+       $(LTLINK) $(NO_WARN) $(FUZZCHECK_OPT) $(TOP)\test\fuzzcheck.c sqlite3.c
 
 mptester.exe:  $(TOP)\mptest\mptest.c $(SHELL_CORE_DEP) $(LIBRESOBJS) sqlite3.h
        $(LTLINK) $(NO_WARN) $(SHELL_COMPILE_OPTS) $(TOP)\mptest\mptest.c \
@@ -1269,7 +1270,7 @@ mptest:   mptester.exe
 # files are automatically generated.  This target takes care of
 # all that automatic generation.
 #
-.target_source:        $(SRC) $(TOP)\tool\vdbe-compress.tcl
+.target_source:        $(SRC) $(TOP)\tool\vdbe-compress.tcl fts5.c
        -rmdir /Q/S tsrc 2>NUL
        -mkdir tsrc
        for %i in ($(SRC1)) do copy /Y %i tsrc
@@ -1277,6 +1278,8 @@ mptest:   mptester.exe
        for %i in ($(SRC3)) do copy /Y %i tsrc
        for %i in ($(SRC4)) do copy /Y %i tsrc
        for %i in ($(SRC5)) do copy /Y %i tsrc
+       copy /Y fts5.c tsrc
+       copy /Y fts5.h tsrc
        del /Q tsrc\sqlite.h.in tsrc\parse.y 2>NUL
        $(TCLSH_CMD) $(TOP)\tool\vdbe-compress.tcl $(OPTS) < tsrc\vdbe.c > vdbe.new
        move vdbe.new tsrc\vdbe.c
index 644d32323352f4f8b05fe252fc12d077f0c7925b..2c1a5ade1c7d416cc9e2e6f1378691bf17d98624 100644 (file)
@@ -2393,14 +2393,7 @@ static void fts5SourceIdFunc(
   sqlite3_result_text(pCtx, "--FTS5-SOURCE-ID--", -1, SQLITE_TRANSIENT);
 }
 
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_fts5_init(
-  sqlite3 *db,
-  char **pzErrMsg,
-  const sqlite3_api_routines *pApi
-){
+int sqlite3Fts5Init(sqlite3 *db){
   static const sqlite3_module fts5Mod = {
     /* iVersion      */ 2,
     /* xCreate       */ fts5CreateMethod,
@@ -2430,8 +2423,6 @@ int sqlite3_fts5_init(
   int rc;
   Fts5Global *pGlobal = 0;
 
-  SQLITE_EXTENSION_INIT2(pApi);
-
   pGlobal = (Fts5Global*)sqlite3_malloc(sizeof(Fts5Global));
   if( pGlobal==0 ){
     rc = SQLITE_NOMEM;
@@ -2471,7 +2462,20 @@ int sqlite3_fts_init(
   char **pzErrMsg,
   const sqlite3_api_routines *pApi
 ){
-  return sqlite3_fts5_init(db, pzErrMsg, pApi);
+  SQLITE_EXTENSION_INIT2(pApi);
+  (void)pzErrMsg;  /* Unused parameter */
+  return sqlite3FtsInit(db);
 }
 
-
+#ifdef _WIN32
+__declspec(dllexport)
+#endif
+int sqlite3_fts5_init(
+  sqlite3 *db,
+  char **pzErrMsg,
+  const sqlite3_api_routines *pApi
+){
+  SQLITE_EXTENSION_INIT2(pApi);
+  (void)pzErrMsg;  /* Unused parameter */
+  return sqlite3FtsInit(db);
+}
index f5cf5197e204b8157b300248de6b5e4ffe947351..478fd7c01d6c27dd5acd8b1dc85b757b5ed11412 100644 (file)
@@ -24,7 +24,7 @@ set G(src) [string map [list %dir% $srcdir] {
 
 set G(hdr) {
 
-#if !defined(SQLITE_TEST) || defined(SQLITE_ENABLE_FTS5) 
+#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS5) 
 
 #if !defined(NDEBUG) && !defined(SQLITE_DEBUG) 
 # define NDEBUG 1
@@ -37,7 +37,7 @@ set G(hdr) {
 
 set G(footer) {
     
-#endif /* !defined(SQLITE_TEST) || defined(SQLITE_ENABLE_FTS5) */
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS5) */
 }
 
 #-------------------------------------------------------------------------
@@ -107,7 +107,3 @@ proc fts5c_close {} {
 fts5c_init fts5.c
 foreach f $G(src) { fts5c_printfile $f }
 fts5c_close
-
-
-
-
index 77857f5447ec04f96bcacf374da2379c4f79ea72..f6fb2eafec4f5ad100e1d551749355481e610a75 100644 (file)
@@ -21,6 +21,7 @@
 ** This implementation parses JSON text at 250 MB/s, so it is hard to see
 ** how JSONB might improve on that.)
 */
+#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_JSON1)
 #if !defined(_SQLITEINT_H_)
 #include "sqlite3ext.h"
 #endif
@@ -2007,3 +2008,4 @@ int sqlite3_json_init(
   (void)pzErrMsg;  /* Unused parameter */
   return sqlite3Json1Init(db);
 }
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_JSON1) */
diff --git a/main.mk b/main.mk
index cded12e5a3655da0b2060699eb7a8ee6d4d81cc0..95903b978ec7ab69aef7f21df199a8f29d6a8b4c 100644 (file)
--- a/main.mk
+++ b/main.mk
@@ -225,10 +225,11 @@ SRC += \
 SRC += \
   $(TOP)/ext/userauth/userauth.c \
   $(TOP)/ext/userauth/sqlite3userauth.h 
-
 SRC += \
   $(TOP)/ext/rbu/sqlite3rbu.c \
   $(TOP)/ext/rbu/sqlite3rbu.h
+SRC += \
+  $(TOP)/ext/misc/json1.c
 
 
 # FTS5 things
@@ -451,16 +452,16 @@ FUZZDATA = \
   $(TOP)/test/fuzzdata3.db \
   $(TOP)/test/fuzzdata4.db
 
-# Extra arguments for including json1 in the build of tools
-#
-JSON1_DEP = $(TOP)/ext/misc/json1.c sqlite3ext.h
-JSON1_OPT = -DSQLITE_SHELL_JSON1 -DSQLITE_CORE
-JSON1_SRC = $(TOP)/ext/misc/json1.c
-
 # Standard options to testfixture
 #
 TESTOPTS = --verbose=file --output=test-out.txt
 
+# Extra compiler options for various shell tools
+#
+SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5
+FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
+FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1
+
 # This is the default Makefile target.  The objects listed here
 # are what get build when you type just "make" with no arguments.
 #
@@ -470,24 +471,23 @@ libsqlite3.a:     $(LIBOBJ)
        $(AR) libsqlite3.a $(LIBOBJ)
        $(RANLIB) libsqlite3.a
 
-sqlite3$(EXE): $(TOP)/src/shell.c libsqlite3.a sqlite3.h $(JSON1_DEP)
-       $(TCCX) $(READLINE_FLAGS) $(JSON1_OPT) -o sqlite3$(EXE)  \
-               $(TOP)/src/shell.c $(JSON1_SRC) \
-               libsqlite3.a $(LIBREADLINE) $(TLIBS) $(THREADLIB)
+sqlite3$(EXE): $(TOP)/src/shell.c libsqlite3.a sqlite3.h
+       $(TCCX) $(READLINE_FLAGS) -o sqlite3$(EXE) $(SHELL_OPT) \
+               $(TOP)/src/shell.c libsqlite3.a $(LIBREADLINE) $(TLIBS) $(THREADLIB)
 
 sqldiff$(EXE): $(TOP)/tool/sqldiff.c sqlite3.c sqlite3.h
        $(TCCX) -o sqldiff$(EXE) -DSQLITE_THREADSAFE=0 \
                $(TOP)/tool/sqldiff.c sqlite3.c $(TLIBS) $(THREADLIB)
 
-fuzzershell$(EXE):     $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h $(JSON1_DEP)
+fuzzershell$(EXE):     $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
        $(TCCX) -o fuzzershell$(EXE) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
-         $(JSON1_OPT)  $(TOP)/tool/fuzzershell.c $(JSON1_SRC) sqlite3.c \
+         $(FUZZERSHELL_OPT) $(TOP)/tool/fuzzershell.c sqlite3.c \
          $(TLIBS) $(THREADLIB)
 
-fuzzcheck$(EXE):       $(TOP)/test/fuzzcheck.c sqlite3.c sqlite3.h $(JSON1_DEP)
+fuzzcheck$(EXE):       $(TOP)/test/fuzzcheck.c sqlite3.c sqlite3.h
        $(TCCX) -o fuzzcheck$(EXE) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
-               -DSQLITE_ENABLE_MEMSYS5 $(JSON1_OPT) \
-               $(TOP)/test/fuzzcheck.c $(JSON1_SRC) sqlite3.c $(TLIBS) $(THREADLIB)
+               -DSQLITE_ENABLE_MEMSYS5 $(FUZZCHECK_OPT) \
+               $(TOP)/test/fuzzcheck.c sqlite3.c $(TLIBS) $(THREADLIB)
 
 mptester$(EXE):        sqlite3.c $(TOP)/mptest/mptest.c
        $(TCCX) -o $@ -I. $(TOP)/mptest/mptest.c sqlite3.c \
@@ -515,13 +515,14 @@ sqlite3.o:        sqlite3.c
 # files are automatically generated.  This target takes care of
 # all that automatic generation.
 #
-target_source: $(SRC) $(TOP)/tool/vdbe-compress.tcl
+target_source: $(SRC) $(TOP)/tool/vdbe-compress.tcl fts5.c
        rm -rf tsrc
        mkdir tsrc
        cp -f $(SRC) tsrc
        rm tsrc/sqlite.h.in tsrc/parse.y
        tclsh $(TOP)/tool/vdbe-compress.tcl $(OPTS) <tsrc/vdbe.c >vdbe.new
        mv vdbe.new tsrc/vdbe.c
+       cp fts5.c fts5.h tsrc
        touch target_source
 
 sqlite3.c:     target_source $(TOP)/tool/mksqlite3c.tcl
index 773704bd6cc209091e9aef0aae571327a216a79e..634fb674be90598e1db3e2c69f7cbc7b1e419474 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,9 +1,9 @@
-C Remove\stwo\sunused\slines\sof\scode\s-\sdiscovered\sby\sscan-build.
-D 2015-10-08T02:44:42.485
+C First\sattempt\sto\sadd\sjson1\sand\sfts5\sto\sthe\samalgamation.\s\sThis\scheck-in\sdoes\nnot\scompile.
+D 2015-10-08T19:29:18.974
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
-F Makefile.in 2143eeef6d0cc26006ae5fc4bb242a4a8b973412
+F Makefile.in 336f9494810fe361b59aa4e0c5cd41fc64d83323
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
-F Makefile.msc b9054642ab305be4174d8b0433c9951c2839701d
+F Makefile.msc f95e14e549addbf22304f6c01901b600aea10a6d
 F Makefile.vxworks e1b65dea203f054e71653415bd8f96dcaed47858
 F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7
 F VERSION ccfc4d1576dbfdeece0a4372a2e6a2e37d3e7975
@@ -113,7 +113,7 @@ F ext/fts5/fts5_config.c 57ee5fe71578cb494574fc0e6e51acb9a22a8695
 F ext/fts5/fts5_expr.c 2054e550e75cffa117557c9416210c425934436d
 F ext/fts5/fts5_hash.c 4bf4b99708848357b8a2b5819e509eb6d3df9246
 F ext/fts5/fts5_index.c e03217c37f344f79673be385de6b03f732291000
-F ext/fts5/fts5_main.c aa96828990274927e2b404e0b6e60f9ae1274254
+F ext/fts5/fts5_main.c 1ae4d7ecfc2c27b3738f511113a804057e16341c
 F ext/fts5/fts5_storage.c df061a5caf9e50fbbd43113009b5b248362f4995
 F ext/fts5/fts5_tcl.c 6da58d6e8f42a93c4486b5ba9b187a7f995dee37
 F ext/fts5/fts5_test_mi.c e96be827aa8f571031e65e481251dc1981d608bf
@@ -186,7 +186,7 @@ F ext/fts5/test/fts5version.test 978f59541d8cef7e8591f8be2115ec5ccb863e2e
 F ext/fts5/test/fts5vocab.test cdf97b9678484e9bad5062edf9c9106e5c3b0c5c
 F ext/fts5/tool/fts5txt2db.tcl 3d19fb8ffb234031d33d7d2151acfbc55e9cfcc4
 F ext/fts5/tool/loadfts5.tcl 58e90407cc5c2b1770460119488fd7c0090d4dd3
-F ext/fts5/tool/mkfts5c.tcl 5745072c7de346e18c7f491e4c3281fe8a1cfe51
+F ext/fts5/tool/mkfts5c.tcl 1df2d86c4f9675e9cdb70b4ff5a53e57aca8a5c0
 F ext/fts5/tool/showfts5.tcl 9eaf6c3df352f98a2ab5ce1921dd94128ab1381d
 F ext/icu/README.txt d9fbbad0c2f647c3fdf715fc9fd64af53aedfc43
 F ext/icu/icu.c b2732aef0b076e4276d9b39b5a33cec7a05e1413
@@ -198,7 +198,7 @@ F ext/misc/eval.c f971962e92ebb8b0a4e6b62949463ee454d88fa2
 F ext/misc/fileio.c d4171c815d6543a9edef8308aab2951413cd8d0f
 F ext/misc/fuzzer.c 4c84635c71c26cfa7c2e5848cf49fe2d2cfcd767
 F ext/misc/ieee754.c b0362167289170627659e84173f5d2e8fee8566e
-F ext/misc/json1.c 263cac0292302b7cf7ecb2e8bd698a50d1aedecc
+F ext/misc/json1.c e1822098b8131133f24800bda551c56877244ceb
 F ext/misc/nextchar.c 35c8b8baacb96d92abbb34a83a997b797075b342
 F ext/misc/percentile.c bcbee3c061b884eccb80e21651daaae8e1e43c63
 F ext/misc/regexp.c af92cdaa5058fcec1451e49becc7ba44dba023dc
@@ -264,7 +264,7 @@ F ext/userauth/userauth.c 5fa3bdb492f481bbc1709fc83c91ebd13460c69e
 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
 F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
 F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
-F main.mk 151fcaba704fdeeb0a1941857ef6e1d6216732d8
+F main.mk 40bed4c4b5719ee1aef9ce24eddd8bb50db9dd99
 F mkopcodec.awk c2ff431854d702cdd2d779c9c0d1f58fa16fa4ea
 F mkopcodeh.awk 0e7f04a8eb90f92259e47d80110e4e98d7ce337a
 F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
@@ -291,7 +291,7 @@ F src/btreeInt.h 8177c9ab90d772d6d2c6c517e05bed774b7c92c0
 F src/build.c 0549b56722f15c146ca21f82a33838365c2031f0
 F src/callback.c 7b44ce59674338ad48b0e84e7b72f935ea4f68b0
 F src/complete.c addcd8160b081131005d5bc2d34adf20c1c5c92f
-F src/ctime.c 5a0b735dc95604766f5dac73973658eef782ee8b
+F src/ctime.c 509ef9c64d1321f42448f111da86400b1799218a
 F src/date.c fb1c99172017dcc8e237339132c91a21a0788584
 F src/dbstat.c e637e7a7ff40ef32132a418c6fdf1cfb63aa27c7
 F src/delete.c 35c939eb8bacc9dd8a6715964e5f69feb8c20e44
@@ -308,7 +308,7 @@ F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
 F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
 F src/lempar.c d344a95d60c24e2f490ee59db9784b1b17439012
 F src/loadext.c f0b66d28e377fd6c6d36cc9d92df1ff251ebee44
-F src/main.c c80ea19ec71609ccbec21f334fbcf475bb6af2fc
+F src/main.c 286aa6485809e43b9df8be708e728e007cfb8e5f
 F src/malloc.c 3a37ce6979a40f499d8cea9e9ab4e8517854d35d
 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
 F src/mem1.c abe6ee469b6c5a35c7f22bfeb9c9bac664a1c987
@@ -344,7 +344,7 @@ F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
 F src/resolve.c 1954a0f01bf65d78d7d559aea3d5c67f33376d91
 F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
 F src/select.c 2c4bfdf7c797df9b43121ed7850bf939b6f27405
-F src/shell.c dfd18e56fcb88dd79378774e9bc3246a9bd52243
+F src/shell.c d25df04168d6ba5a4fa05bdbf859df667f9eb621
 F src/sqlite.h.in 4b76d74d69af48c534c58fb723137dc6944bdedc
 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
 F src/sqlite3ext.h 64350bf36833a56ad675e27392a913f417c5c308
@@ -1357,8 +1357,8 @@ F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
 F tool/mkpragmatab.tcl 84af2b180484323a2ea22a2279e8bd9e3e1e492e
 F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
 F tool/mksqlite3c-noext.tcl 87240b09c20042999b41d5fabe091b7111287835
-F tool/mksqlite3c.tcl 421ecbd437d8cd7123e67430ee8146218396680d
-F tool/mksqlite3h.tcl 44730d586c9031638cdd2eb443b801c0d2dbd9f8
+F tool/mksqlite3c.tcl f38527a5125ada6705601d6665065a3bdf38ec64
+F tool/mksqlite3h.tcl e3ac3f23897d86cb8f5f5df92e91643229fcc8d1
 F tool/mksqlite3internalh.tcl eb994013e833359137eb53a55acdad0b5ae1049b
 F tool/mkvsix.tcl bbe57cd9ae11c6cc70319241101ef8d2b8c3765b
 F tool/offsets.c fe4262fdfa378e8f5499a42136d17bf3b98f6091
@@ -1390,7 +1390,10 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 83dc1ff7fa010715ca7f406a572f4ee444a967d7
-R 23aa9f023fe3604f2c01d6814f9077e1
+P 77b707b77496a08703fe9405e8e4521a4e5b419e
+R b36b15e9683569a33dbd7dbda8478407
+T *branch * amalg-json1-fts5
+T *sym-amalg-json1-fts5 *
+T -sym-trunk *
 U drh
-Z 20dd7ef754329d35cfe6df88eb2905f9
+Z 77663aaa3c104357ac781d9ff8201195
index f50ffd68a431319968f6fba679d483801e88bac0..016a3c8fab4ba5500c346f52f31492a88f9c5740 100644 (file)
@@ -1 +1 @@
-77b707b77496a08703fe9405e8e4521a4e5b419e
\ No newline at end of file
+d820a1bd1b8dd702d1b3a099af393530cc5a5d51
\ No newline at end of file
index 9503214f50434e076b7913f9ef9d0ec54642b277..17dd710bc337b6d30df2692d20644680dab690e9 100644 (file)
@@ -96,12 +96,18 @@ static const char * const azCompileOpt[] = {
 #if SQLITE_ENABLE_FTS4
   "ENABLE_FTS4",
 #endif
+#if SQLITE_ENABLE_FTS5
+  "ENABLE_FTS5",
+#endif
 #if SQLITE_ENABLE_ICU
   "ENABLE_ICU",
 #endif
 #if SQLITE_ENABLE_IOTRACE
   "ENABLE_IOTRACE",
 #endif
+#if SQLITE_ENABLE_JSON1
+  "ENABLE_JSON1",
+#endif
 #if SQLITE_ENABLE_LOAD_EXTENSION
   "ENABLE_LOAD_EXTENSION",
 #endif
index fa374c70125c1ecca139757c8288503c0d436764..43d2efcfe23d5aeea11e5ccaf5174745b3d69aab 100644 (file)
@@ -2872,12 +2872,19 @@ static int openDatabase(
   }
 #endif
 
-#ifdef SQLITE_ENABLE_FTS3
+#ifdef SQLITE_ENABLE_FTS3 /* automatically defined by SQLITE_ENABLE_FTS4 */
   if( !db->mallocFailed && rc==SQLITE_OK ){
     rc = sqlite3Fts3Init(db);
   }
 #endif
 
+#ifdef SQLITE_ENABLE_FTS5
+  if( !db->mallocFailed && rc==SQLITE_OK ){
+    extern int sqlite3Fts5Init(sqlite3*);
+    rc = sqlite3Fts5Init(db);
+  }
+#endif
+
 #ifdef SQLITE_ENABLE_ICU
   if( !db->mallocFailed && rc==SQLITE_OK ){
     rc = sqlite3IcuInit(db);
index 96d0ab65f7a4673f32813c6bd3b29b416be19ffa..f79087122c1235926ea626965cd3d4a6a27bfc5c 100644 (file)
@@ -4654,13 +4654,6 @@ int SQLITE_CDECL main(int argc, char **argv){
   }
   data.out = stdout;
 
-#ifdef SQLITE_SHELL_JSON1
-  {
-    extern int sqlite3_json_init(sqlite3*);
-    sqlite3_auto_extension((void(*)(void))sqlite3_json_init);
-  }
-#endif
-
   /* Go ahead and open the database file if it already exists.  If the
   ** file does not exist, delay opening it.  This prevents empty database
   ** files from being created if a user mistypes the database name argument
index e52b036612a1cfcd5553910ddb892d05373f3ddb..ce808faa9117d4991151378dda8ccd0976b75d49 100644 (file)
@@ -378,6 +378,8 @@ foreach file {
    fts3_icu.c
    sqlite3rbu.c
    dbstat.c
+   json1.c
+   fts5.c
 } {
   copy_file tsrc/$file
 }
index cabce1f50b7e053a7771c4af395678bf607d6cc1..2fe2157387331ce304330aa2ec1a4aac4e1d53bf 100644 (file)
@@ -71,6 +71,7 @@ fconfigure stdout -translation lf
 set filelist [subst {
   $TOP/src/sqlite.h.in
   $TOP/ext/rtree/sqlite3rtree.h
+  $TOP/ext/fts5/fts5.h
 }]
 
 # These are the functions that accept a variable number of arguments.  They