]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Json1 tests are working. Builds without FTS5 enabled. Still some problems
authordrh <drh@noemail.net>
Thu, 8 Oct 2015 23:37:00 +0000 (23:37 +0000)
committerdrh <drh@noemail.net>
Thu, 8 Oct 2015 23:37:00 +0000 (23:37 +0000)
building with FTS5.

FossilOrigin-Name: 2928f8e87d2e5d121e6e7e5993cbb773bb2b0603

Makefile.in
main.mk
manifest
manifest.uuid
src/main.c
src/test1.c
src/test_config.c
test/json101.test
test/json102.test
test/releasetest.tcl

index f78d6cf092ca734d15d6f8c29589a8659a8d164e..b66086417a02635ede353350d4c5b22ff2ff88b1 100644 (file)
@@ -175,7 +175,7 @@ LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
          fts3_unicode.lo fts3_unicode2.lo fts3_write.lo \
         fts5.lo \
          func.lo global.lo hash.lo \
-         icu.lo insert.lo journal.lo legacy.lo loadext.lo \
+         icu.lo insert.lo journal.lo json1.lo legacy.lo loadext.lo \
          main.lo malloc.lo mem0.lo mem1.lo mem2.lo mem3.lo mem5.lo \
          memjournal.lo \
          mutex.lo mutex_noop.lo mutex_unix.lo mutex_w32.lo \
@@ -346,7 +346,7 @@ 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
 
@@ -420,7 +420,6 @@ TESTSRC += \
   $(TOP)/ext/fts5/fts5_tcl.c \
   $(TOP)/ext/fts5/fts5_test_mi.c \
   $(TOP)/ext/misc/ieee754.c \
-  $(TOP)/ext/misc/json1.c \
   $(TOP)/ext/misc/nextchar.c \
   $(TOP)/ext/misc/percentile.c \
   $(TOP)/ext/misc/regexp.c \
@@ -994,6 +993,9 @@ fts3_write.lo:      $(TOP)/ext/fts3/fts3_write.c $(HDR) $(EXTHDR)
 rtree.lo:      $(TOP)/ext/rtree/rtree.c $(HDR) $(EXTHDR)
        $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/rtree/rtree.c
 
+json1.lo:      $(TOP)/ext/misc/json1.c
+       $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/misc/json1.c
+
 # FTS5 things
 #
 FTS5_SRC = \
diff --git a/main.mk b/main.mk
index 07ffd811a9a84a7d33a0c022826b96022a547364..0fddfafe6790030d89a8c95d89d86398df7f0163 100644 (file)
--- a/main.mk
+++ b/main.mk
@@ -60,7 +60,7 @@ LIBOBJ+= vdbe.o parse.o \
          fts3_tokenize_vtab.o \
         fts3_unicode.o fts3_unicode2.o \
          fts3_write.o func.o global.o hash.o \
-         icu.o insert.o journal.o legacy.o loadext.o \
+         icu.o insert.o journal.o json1.o legacy.o loadext.o \
          main.o malloc.o mem0.o mem1.o mem2.o mem3.o mem5.o \
          memjournal.o \
          mutex.o mutex_noop.o mutex_unix.o mutex_w32.o \
@@ -322,7 +322,6 @@ TESTSRC += \
   $(TOP)/ext/misc/fileio.c \
   $(TOP)/ext/misc/fuzzer.c \
   $(TOP)/ext/misc/ieee754.c \
-  $(TOP)/ext/misc/json1.c \
   $(TOP)/ext/misc/nextchar.c \
   $(TOP)/ext/misc/percentile.c \
   $(TOP)/ext/misc/regexp.c \
@@ -332,7 +331,8 @@ TESTSRC += \
   $(TOP)/ext/misc/wholenumber.c \
   $(TOP)/ext/misc/vfslog.c \
   $(TOP)/ext/fts5/fts5_tcl.c \
-  $(TOP)/ext/fts5/fts5_test_mi.c 
+  $(TOP)/ext/fts5/fts5_test_mi.c \
+  fts5.c
 
 
 #TESTSRC += $(TOP)/ext/fts2/fts2_tokenizer.c
@@ -669,9 +669,17 @@ fts3_unicode2.o:   $(TOP)/ext/fts3/fts3_unicode2.c $(HDR) $(EXTHDR)
 fts3_write.o:  $(TOP)/ext/fts3/fts3_write.c $(HDR) $(EXTHDR)
        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_write.c
 
+fts5.o:        fts5.c
+       $(TCCX) -DSQLITE_CORE -c fts5.c
+
+json1.o:       $(TOP)/ext/misc/json1.c
+       $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/misc/json1.c
+
 rtree.o:       $(TOP)/ext/rtree/rtree.c $(HDR) $(EXTHDR)
        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/rtree/rtree.c
 
+
+
 fts5parse.c:   $(TOP)/ext/fts5/fts5parse.y lemon 
        cp $(TOP)/ext/fts5/fts5parse.y .
        rm -f fts5parse.h
@@ -718,9 +726,9 @@ testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c
                $(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c                \
                -o testfixture$(EXE) $(LIBTCL) libsqlite3.a $(THREADLIB)
 
-amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c
+amalgamation-testfixture$(EXE): sqlite3.c fts5.c $(TESTSRC) $(TOP)/src/tclsqlite.c
        $(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS)                  \
-               $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c                  \
+               $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c fts5.c           \
                -o testfixture$(EXE) $(LIBTCL) $(THREADLIB)
 
 fts3-testfixture$(EXE): sqlite3.c fts3amal.c $(TESTSRC) $(TOP)/src/tclsqlite.c
index db74889816deb9a61ba486caec948e3d00bc2f9d..76f039490fe8c125d02ddbdfa9b7a5ada2655a74 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,7 +1,7 @@
-C Remove\scalls\sto\s"load_static_extension"\sfrom\sfts5\stest\sscripts.
-D 2015-10-08T21:02:29.524
+C Json1\stests\sare\sworking.\s\sBuilds\swithout\sFTS5\senabled.\s\sStill\ssome\sproblems\nbuilding\swith\sFTS5.
+D 2015-10-08T23:37:00.134
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
-F Makefile.in 336f9494810fe361b59aa4e0c5cd41fc64d83323
+F Makefile.in ab670f8513a9aac7e6367f791bf5ac685111d0a9
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
 F Makefile.msc f95e14e549addbf22304f6c01901b600aea10a6d
 F Makefile.vxworks e1b65dea203f054e71653415bd8f96dcaed47858
@@ -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 cabb44ec58598504aa60a73d0c7b2ed7867a5314
+F main.mk e78ca7d50592dd4a4f2c7a09db478034feabc92f
 F mkopcodec.awk c2ff431854d702cdd2d779c9c0d1f58fa16fa4ea
 F mkopcodeh.awk 0e7f04a8eb90f92259e47d80110e4e98d7ce337a
 F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
@@ -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 1bd3839327e6657ebb722085f02d9d5a48c4cd60
+F src/main.c fec97668771438033a7559883401067b139729e1
 F src/malloc.c 3a37ce6979a40f499d8cea9e9ab4e8517854d35d
 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
 F src/mem1.c abe6ee469b6c5a35c7f22bfeb9c9bac664a1c987
@@ -353,7 +353,7 @@ F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46
 F src/status.c f266ad8a2892d659b74f0f50cb6a88b6e7c12179
 F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e
 F src/tclsqlite.c d9439b6a910985b7fff43ba6756bcef00de22649
-F src/test1.c c96508c835979bf15dc0e3146e2c7a51a2333d3c
+F src/test1.c 5d1bbac006ef00e6fe4332c554a7cd96abe5fa42
 F src/test2.c 577961fe48961b2f2e5c8b56ee50c3f459d3359d
 F src/test3.c 64d2afdd68feac1bb5e2ffb8226c8c639f798622
 F src/test4.c d168f83cc78d02e8d35567bb5630e40dcd85ac1e
@@ -367,7 +367,7 @@ F src/test_autoext.c dea8a01a7153b9adc97bd26161e4226329546e12
 F src/test_backup.c 2e6e6a081870150f20c526a2e9d0d29cda47d803
 F src/test_blob.c e5a7a81d61a780da79101aeb1e60d300af169e07
 F src/test_btree.c 2e9978eca99a9a4bfa8cae949efb00886860a64f
-F src/test_config.c fb2e5d354d9a077f5fbb261652eff4787deb104f
+F src/test_config.c ada6f38b0acb6722fb7f0ed8c54fd66df41085b9
 F src/test_demovfs.c 0de72c2c89551629f58486fde5734b7d90758852
 F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc
 F src/test_fs.c ced436e3d4b8e4681328409b8081051ce614e28f
@@ -820,8 +820,8 @@ F test/journal3.test ff8af941f9e06161d3db1b46bb9f965ff0e7f307
 F test/jrnlmode.test 7864d59cf7f6e552b9b99ba0f38acd167edc10fa
 F test/jrnlmode2.test 81610545a4e6ed239ea8fa661891893385e23a1d
 F test/jrnlmode3.test 556b447a05be0e0963f4311e95ab1632b11c9eaa
-F test/json101.test e8b50fbcdbf283cfafbc42632bf2c7dfa4541c46
-F test/json102.test 796b1c59894c6e0f38fc1a3acb0e690573b952a3
+F test/json101.test 83e6ebfb3cef6329853ab854403ec82b1787b537
+F test/json102.test bf3fe7a706d30936a76a0f7a0375e1e8e73aff5a
 F test/keyword1.test 37ef6bba5d2ed5b07ecdd6810571de2956599dff
 F test/lastinsert.test 42e948fd6442f07d60acbd15d33fb86473e0ef63
 F test/laststmtchanges.test ae613f53819206b3222771828d024154d51db200
@@ -947,7 +947,7 @@ F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736
 F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8
 F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8
 F test/reindex.test 44edd3966b474468b823d481eafef0c305022254
-F test/releasetest.tcl afdac5c3429dceb034295617c0a51df9954d467a
+F test/releasetest.tcl 97e4e5ca5925b21ef470b3c97d4c46dd063cfec4
 F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb
 F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea
 F test/rollback2.test fc14cf6d1a2b250d2735ef16124b971bce152f14
@@ -1390,7 +1390,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 97e11b79a52fb1c57f0afd2dbd6ee66cf00a922d
-R 8e17a2728ff14bbeff2287e659139e9d
-U dan
-Z 3aa012086094b7ff1432167080b1bc87
+P 53dd7c4c65842c5c9ed3e84edd62e24f2c9be15b
+R 9e61c8794766296f6abfb50c81f18f50
+U drh
+Z a87c3731b988c508695a8d0d1121a40b
index 2c90e71ff54850967aafe654f13209057c434368..9f32f5f37ec4f528d88c06afbb292c7017f91a11 100644 (file)
@@ -1 +1 @@
-53dd7c4c65842c5c9ed3e84edd62e24f2c9be15b
\ No newline at end of file
+2928f8e87d2e5d121e6e7e5993cbb773bb2b0603
\ No newline at end of file
index afdcfe4f210ecc081b0ba29c697780c70ef325e9..ef2fa66ec3a18a16b2bdf6e047ebdaa908a1dc66 100644 (file)
 #ifdef SQLITE_ENABLE_ICU
 # include "sqliteicu.h"
 #endif
+#ifdef SQLITE_ENABLE_JSON1
+int sqlite3Json1Init(sqlite3*);
+#endif
+#ifdef SQLITE_ENABLE_FTS5
+int sqlite3Fts5Init(sqlite3*);
+#endif
 
 #ifndef SQLITE_AMALGAMATION
 /* IMPLEMENTATION-OF: R-46656-45156 The sqlite3_version[] string constant
@@ -2638,13 +2644,6 @@ int sqlite3ParseUri(
   return rc;
 }
 
-#ifdef SQLITE_ENABLE_FTS5
-#ifdef SQLITE_AMALGAMATION
-static int sqlite3Fts5Init(sqlite3*);
-#else
-extern int sqlite3Fts5Init(sqlite3*);
-#endif
-#endif
 
 /*
 ** This routine does the work of opening a database on behalf of
@@ -2911,7 +2910,6 @@ static int openDatabase(
 
 #ifdef SQLITE_ENABLE_JSON1
   if( !db->mallocFailed && rc==SQLITE_OK){
-    extern int sqlite3Json1Init(sqlite3*);
     rc = sqlite3Json1Init(db);
   }
 #endif
index 1f76ea5ba50767ff6389eee637698c125c48401f..df00e1943ee434dd6cc0d116bebb1876dd154ff1 100644 (file)
@@ -6377,7 +6377,6 @@ static int tclLoadStaticExtensionCmd(
   extern int sqlite3_fileio_init(sqlite3*,char**,const sqlite3_api_routines*);
   extern int sqlite3_fuzzer_init(sqlite3*,char**,const sqlite3_api_routines*);
   extern int sqlite3_ieee_init(sqlite3*,char**,const sqlite3_api_routines*);
-  extern int sqlite3_json_init(sqlite3*,char**,const sqlite3_api_routines*);
   extern int sqlite3_nextchar_init(sqlite3*,char**,const sqlite3_api_routines*);
   extern int sqlite3_percentile_init(sqlite3*,char**,const sqlite3_api_routines*);
   extern int sqlite3_regexp_init(sqlite3*,char**,const sqlite3_api_routines*);
@@ -6399,7 +6398,6 @@ static int tclLoadStaticExtensionCmd(
     { "fileio",                sqlite3_fileio_init               },
     { "fuzzer",                sqlite3_fuzzer_init               },
     { "ieee754",               sqlite3_ieee_init                 },
-    { "json",                  sqlite3_json_init                 },
     { "nextchar",              sqlite3_nextchar_init             },
     { "percentile",            sqlite3_percentile_init           },
     { "regexp",                sqlite3_regexp_init               },
@@ -6426,7 +6424,11 @@ static int tclLoadStaticExtensionCmd(
       Tcl_AppendResult(interp, "no such extension: ", zName, (char*)0);
       return TCL_ERROR;
     }
-    rc = aExtension[i].pInit(db, &zErrMsg, 0);
+    if( aExtension[i].pInit ){
+      rc = aExtension[i].pInit(db, &zErrMsg, 0);
+    }else{
+      rc = SQLITE_OK;
+    }
     if( rc!=SQLITE_OK || zErrMsg ){
       Tcl_AppendResult(interp, "initialization of ", zName, " failed: ", zErrMsg,
                        (char*)0);
index 0aa29c70d70761a889b4ec9fad41a789fda1239c..5da2df16b7777ea31b00d459d89d1a4a8134b95f 100644 (file)
@@ -167,6 +167,12 @@ static void set_options(Tcl_Interp *interp){
   Tcl_SetVar2(interp, "sqlite_options", "atomicwrite", "0", TCL_GLOBAL_ONLY);
 #endif
 
+#ifdef SQLITE_ENABLE_JSON1
+  Tcl_SetVar2(interp, "sqlite_options", "json1", "1", TCL_GLOBAL_ONLY);
+#else
+  Tcl_SetVar2(interp, "sqlite_options", "json1", "0", TCL_GLOBAL_ONLY);
+#endif
+
 #ifdef SQLITE_OMIT_ATTACH
   Tcl_SetVar2(interp, "sqlite_options", "attach", "0", TCL_GLOBAL_ONLY);
 #else
index 943292640d9cb192ed17f98da7b46ff49ec55692..e11cdd01383a88d9b658cbf027968c9f14fe3caa 100644 (file)
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
-load_static_extension db json
+ifcapable !json1 {
+  finish_test
+  return
+}
+
 do_execsql_test json101-1.1.00 {
   SELECT json_array(1,2.5,null,'hello');
 } {[1,2.5,null,"hello"]}
index f40580da4ec7ebb9fd0f0af5c333ba689535a09e..a4d88dbeaa09bae90ae9a344b4a5a3adb9318e55 100644 (file)
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
-load_static_extension db json
+ifcapable !json1 {
+  finish_test
+  return
+}
+
 do_execsql_test json102-100 {
   SELECT json_object('ex','[52,3.14159]');
 } {{{"ex":"[52,3.14159]"}}}
index dde3f039d64f91662469bb0d34a888183b996d65..ef29a0d945ba8b3caafe92830a2c04e682c0eed3 100644 (file)
@@ -129,6 +129,7 @@ array set ::Configs [strip_comments {
     -DSQLITE_DISABLE_LFS=1
     -DSQLITE_ENABLE_ATOMIC_WRITE=1
     -DSQLITE_ENABLE_IOTRACE=1
+    -DSQLITE_ENABLE_JSON1=1
     -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1
     -DSQLITE_MAX_PAGE_SIZE=4096
     -DSQLITE_OMIT_LOAD_EXTENSION=1
@@ -145,6 +146,7 @@ array set ::Configs [strip_comments {
     -DSQLITE_DEFAULT_TEMP_CACHE_SIZE=1000
     -DSQLITE_DISABLE_LFS=1
     -DSQLITE_ENABLE_FTS3=1
+    -DSQLITE_ENABLE_JSON1=1
     -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1
     -DSQLITE_ENABLE_RTREE=1
     -DSQLITE_MAX_COMPOUND_SELECT=50
@@ -163,6 +165,7 @@ array set ::Configs [strip_comments {
     -DSQLITE_DEFAULT_MEMSTATUS=0
     -DSQLITE_THREADSAFE=2
     -DSQLITE_OS_UNIX=1
+    -DSQLITE_ENABLE_JSON1=1
     -DSQLITE_ENABLE_LOCKING_STYLE=1
     -DUSE_PREAD=1
     -DSQLITE_ENABLE_RTREE=1
@@ -197,6 +200,7 @@ array set ::Configs [strip_comments {
     -DSQLITE_ENABLE_STAT4
     -DSQLITE_ENABLE_FTS4
     -DSQLITE_ENABLE_RTREE
+    -DSQLITE_ENABLE_JSON1=1
   }
 
   # The next group of configurations are used only by the