diff options
Diffstat (limited to 'dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_2.patch')
-rw-r--r-- | dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_2.patch | 640 |
1 files changed, 0 insertions, 640 deletions
diff --git a/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_2.patch b/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_2.patch deleted file mode 100644 index f12c0b22a483..000000000000 --- a/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_2.patch +++ /dev/null @@ -1,640 +0,0 @@ -Enable some extensions in libsqlite3.so. -Move some code to libsqlite3.so to avoid duplication. -Link executables against libsqlite3.so. -Increase timeout for fuzzcheck. -Fix building with dlopen() not available. - ---- /Makefile.in -+++ /Makefile.in -@@ -313,6 +313,9 @@ - # Source code for extensions - # - SRC += \ -+ $(TOP)/ext/expert/sqlite3expert.c \ -+ $(TOP)/ext/expert/sqlite3expert.h -+SRC += \ - $(TOP)/ext/fts1/fts1.c \ - $(TOP)/ext/fts1/fts1.h \ - $(TOP)/ext/fts1/fts1_hash.c \ -@@ -365,8 +368,24 @@ - $(TOP)/ext/rbu/sqlite3rbu.h \ - $(TOP)/ext/rbu/sqlite3rbu.c - SRC += \ -+ $(TOP)/ext/misc/appendvfs.c \ -+ $(TOP)/ext/misc/carray.c \ -+ $(TOP)/ext/misc/completion.c \ -+ $(TOP)/ext/misc/csv.c \ -+ $(TOP)/ext/misc/dbdata.c \ -+ $(TOP)/ext/misc/eval.c \ -+ $(TOP)/ext/misc/fileio.c \ -+ $(TOP)/ext/misc/ieee754.c \ - $(TOP)/ext/misc/json1.c \ -- $(TOP)/ext/misc/stmt.c -+ $(TOP)/ext/misc/regexp.c \ -+ $(TOP)/ext/misc/sha1.c \ -+ $(TOP)/ext/misc/shathree.c \ -+ $(TOP)/ext/misc/sqlar.c \ -+ $(TOP)/ext/misc/stmt.c \ -+ $(TOP)/ext/misc/totype.c \ -+ $(TOP)/ext/misc/uint.c \ -+ $(TOP)/ext/misc/uuid.c \ -+ $(TOP)/ext/misc/zipfile.c - - # Generated source code files - # -@@ -437,33 +456,24 @@ - # Statically linked extensions - # - TESTSRC += \ -- $(TOP)/ext/expert/sqlite3expert.c \ - $(TOP)/ext/expert/test_expert.c \ - $(TOP)/ext/misc/amatch.c \ -- $(TOP)/ext/misc/carray.c \ - $(TOP)/ext/misc/closure.c \ -- $(TOP)/ext/misc/csv.c \ -- $(TOP)/ext/misc/eval.c \ - $(TOP)/ext/misc/explain.c \ -- $(TOP)/ext/misc/fileio.c \ - $(TOP)/ext/misc/fuzzer.c \ - $(TOP)/ext/fts5/fts5_tcl.c \ - $(TOP)/ext/fts5/fts5_test_mi.c \ - $(TOP)/ext/fts5/fts5_test_tok.c \ -- $(TOP)/ext/misc/ieee754.c \ - $(TOP)/ext/misc/mmapwarm.c \ - $(TOP)/ext/misc/nextchar.c \ - $(TOP)/ext/misc/normalize.c \ - $(TOP)/ext/misc/percentile.c \ - $(TOP)/ext/misc/prefixes.c \ -- $(TOP)/ext/misc/regexp.c \ - $(TOP)/ext/misc/remember.c \ - $(TOP)/ext/misc/series.c \ - $(TOP)/ext/misc/spellfix.c \ -- $(TOP)/ext/misc/totype.c \ - $(TOP)/ext/misc/unionvtab.c \ - $(TOP)/ext/misc/wholenumber.c \ -- $(TOP)/ext/misc/zipfile.c \ - $(TOP)/ext/userauth/userauth.c - - # Source code to the library files needed by the test fixture -@@ -645,25 +655,25 @@ - - libtclsqlite3.la: tclsqlite.lo libsqlite3.la - $(LTLINK) -no-undefined -o $@ tclsqlite.lo \ -- libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \ -+ libsqlite3.la @TCL_STUB_LIB_SPEC@ \ - -rpath "$(TCLLIBDIR)" \ - -version-info "8:6:8" \ - -avoid-version - --sqlite3$(TEXE): shell.c sqlite3.c -- $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \ -- shell.c sqlite3.c \ -- $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)" -+sqlite3$(TEXE): shell.c libsqlite3.la -+ $(LTLINK) $(READLINE_FLAGS) -o $@ \ -+ shell.c libsqlite3.la \ -+ $(LIBREADLINE) - --sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.lo sqlite3.h -- $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.lo $(TLIBS) -+sqldiff$(TEXE): $(TOP)/tool/sqldiff.c libsqlite3.la -+ $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c libsqlite3.la - --dbhash$(TEXE): $(TOP)/tool/dbhash.c sqlite3.lo sqlite3.h -- $(LTLINK) -o $@ $(TOP)/tool/dbhash.c sqlite3.lo $(TLIBS) -+dbhash$(TEXE): $(TOP)/tool/dbhash.c libsqlite3.la -+ $(LTLINK) -o $@ $(TOP)/tool/dbhash.c libsqlite3.la - --scrub$(TEXE): $(TOP)/ext/misc/scrub.c sqlite3.lo -+scrub$(TEXE): $(TOP)/ext/misc/scrub.c libsqlite3.la - $(LTLINK) -o $@ -I. -DSCRUB_STANDALONE \ -- $(TOP)/ext/misc/scrub.c sqlite3.lo $(TLIBS) -+ $(TOP)/ext/misc/scrub.c libsqlite3.la - - srcck1$(BEXE): $(TOP)/tool/srcck1.c - $(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c -@@ -774,7 +784,7 @@ - # Rule to build the amalgamation - # - sqlite3.lo: sqlite3.c -- $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c -+ $(LTCOMPILE) $(SHELL_OPT) $(TEMP_STORE) -c sqlite3.c - - # Rules to build the LEMON compiler generator - # -@@ -1074,15 +1084,6 @@ - # Source files that go into making shell.c - SHELL_SRC = \ - $(TOP)/src/shell.c.in \ -- $(TOP)/ext/misc/appendvfs.c \ -- $(TOP)/ext/misc/shathree.c \ -- $(TOP)/ext/misc/fileio.c \ -- $(TOP)/ext/misc/completion.c \ -- $(TOP)/ext/misc/sqlar.c \ -- $(TOP)/ext/misc/uint.c \ -- $(TOP)/ext/expert/sqlite3expert.c \ -- $(TOP)/ext/expert/sqlite3expert.h \ -- $(TOP)/ext/misc/zipfile.c \ - $(TOP)/ext/misc/memtrace.c \ - $(TOP)/src/test_windirent.c - -@@ -1251,11 +1252,11 @@ - - # Fuzz testing - fuzztest: fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db -- ./fuzzcheck$(TEXE) $(FUZZDATA) -+ ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA) - ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db - - valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db -- valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA) -+ valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA) - valgrind ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db - - # The veryquick.test TCL tests. -@@ -1286,24 +1287,23 @@ - smoketest: $(TESTPROGS) fuzzcheck$(TEXE) - ./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS) - --sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in -+sqlite3_analyzer.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in - $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in >sqlite3_analyzer.c - --sqlite3_analyzer$(TEXE): sqlite3_analyzer.c -- $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS) -+sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la -+ $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL) - --sqltclsh.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/ext/misc/appendvfs.c $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in -+sqltclsh.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in - $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in >sqltclsh.c - --sqltclsh$(TEXE): sqltclsh.c -- $(LTLINK) sqltclsh.c -o $@ $(LIBTCL) $(TLIBS) -+sqltclsh$(TEXE): sqltclsh.c libsqlite3.la -+ $(LTLINK) sqltclsh.c -o $@ libsqlite3.la $(LIBTCL) - --sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c -- $(LTLINK) $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c -o sqlite3_expert $(TLIBS) -+sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/expert.c libsqlite3.la -+ $(LTLINK) $(TOP)/ext/expert/expert.c -o sqlite3_expert libsqlite3.la - - CHECKER_DEPS =\ - $(TOP)/tool/mkccode.tcl \ -- sqlite3.c \ - $(TOP)/src/tclsqlite.c \ - $(TOP)/ext/repair/sqlite3_checker.tcl \ - $(TOP)/ext/repair/checkindex.c \ -@@ -1314,36 +1314,36 @@ - sqlite3_checker.c: $(CHECKER_DEPS) - $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/ext/repair/sqlite3_checker.c.in >$@ - --sqlite3_checker$(TEXE): sqlite3_checker.c -- $(LTLINK) sqlite3_checker.c -o $@ $(LIBTCL) $(TLIBS) -+sqlite3_checker$(TEXE): sqlite3_checker.c libsqlite3.la -+ $(LTLINK) sqlite3_checker.c -o $@ libsqlite3.la $(LIBTCL) - --dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c sqlite3.lo -+dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c libsqlite3.la - $(LTLINK) -DDBDUMP_STANDALONE -o $@ \ -- $(TOP)/ext/misc/dbdump.c sqlite3.lo $(TLIBS) -+ $(TOP)/ext/misc/dbdump.c libsqlite3.la - --dbtotxt$(TEXE): $(TOP)/tool/dbtotxt.c -- $(LTLINK)-o $@ $(TOP)/tool/dbtotxt.c -+dbtotxt$(TEXE): $(TOP)/tool/dbtotxt.c -+ $(LTLINK) -o $@ $(TOP)/tool/dbtotxt.c - --showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo -- $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS) -+showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la -+ $(LTLINK) -o $@ $(TOP)/tool/showdb.c libsqlite3.la - --showstat4$(TEXE): $(TOP)/tool/showstat4.c sqlite3.lo -- $(LTLINK) -o $@ $(TOP)/tool/showstat4.c sqlite3.lo $(TLIBS) -+showstat4$(TEXE): $(TOP)/tool/showstat4.c libsqlite3.la -+ $(LTLINK) -o $@ $(TOP)/tool/showstat4.c libsqlite3.la - --showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo -- $(LTLINK) -o $@ $(TOP)/tool/showjournal.c sqlite3.lo $(TLIBS) -+showjournal$(TEXE): $(TOP)/tool/showjournal.c -+ $(LTLINK) -o $@ $(TOP)/tool/showjournal.c - --showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo -- $(LTLINK) -o $@ $(TOP)/tool/showwal.c sqlite3.lo $(TLIBS) -+showwal$(TEXE): $(TOP)/tool/showwal.c -+ $(LTLINK) -o $@ $(TOP)/tool/showwal.c - - showshm$(TEXE): $(TOP)/tool/showshm.c - $(LTLINK) -o $@ $(TOP)/tool/showshm.c - --index_usage$(TEXE): $(TOP)/tool/index_usage.c sqlite3.lo -- $(LTLINK) $(SHELL_OPT) -o $@ $(TOP)/tool/index_usage.c sqlite3.lo $(TLIBS) -+index_usage$(TEXE): $(TOP)/tool/index_usage.c libsqlite3.la -+ $(LTLINK) -o $@ $(TOP)/tool/index_usage.c libsqlite3.la - --changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo -- $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS) -+changeset$(TEXE): $(TOP)/ext/session/changeset.c libsqlite3.la -+ $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c libsqlite3.la - - changesetfuzz$(TEXE): $(TOP)/ext/session/changesetfuzz.c sqlite3.lo - $(LTLINK) -o $@ $(TOP)/ext/session/changesetfuzz.c sqlite3.lo $(TLIBS) -@@ -1368,11 +1368,11 @@ - kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c - $(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS) - --rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo -- $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS) -+rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la -+ $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la - --loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la -- $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS) -+loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la -+ $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ - - # This target will fail if the SQLite amalgamation contains any exported - # symbols that do not begin with "sqlite3_". It is run as part of the ---- /configure.ac -+++ /configure.ac -@@ -587,6 +587,9 @@ - if test "${enable_load_extension}" = "yes" ; then - OPT_FEATURE_FLAGS="" - AC_SEARCH_LIBS(dlopen, dl) -+ if test "${ac_cv_search_dlopen}" = "no" ; then -+ OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" -+ fi - else - OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" - fi ---- /ext/repair/sqlite3_checker.c.in -+++ /ext/repair/sqlite3_checker.c.in -@@ -2,6 +2,7 @@ - ** Read an SQLite database file and analyze its space utilization. Generate - ** text on standard output. - */ -+#define SQLITE_CORE 1 - #define TCLSH_INIT_PROC sqlite3_checker_init_proc - #define SQLITE_ENABLE_DBPAGE_VTAB 1 - #define SQLITE_ENABLE_JSON1 1 -@@ -14,7 +15,7 @@ - #define SQLITE_OMIT_SHARED_CACHE 1 - #define SQLITE_DEFAULT_MEMSTATUS 0 - #define SQLITE_MAX_EXPR_DEPTH 0 --INCLUDE sqlite3.c -+#include "sqlite3.h" - INCLUDE $ROOT/src/tclsqlite.c - INCLUDE $ROOT/ext/misc/btreeinfo.c - INCLUDE $ROOT/ext/repair/checkindex.c ---- /src/main.c -+++ /src/main.c -@@ -50,12 +50,31 @@ - #ifdef SQLITE_ENABLE_FTS5 - int sqlite3Fts5Init(sqlite3*); - #endif -+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) -+int sqlite3DbdataRegister(sqlite3*); -+#endif - #ifdef SQLITE_ENABLE_JSON1 - int sqlite3Json1Init(sqlite3*); - #endif - #ifdef SQLITE_ENABLE_STMTVTAB - int sqlite3StmtVtabInit(sqlite3*); - #endif -+int sqlite3CarrayInit(sqlite3*); -+int sqlite3CompletionVtabInit(sqlite3*); -+int sqlite3CsvInit(sqlite3*); -+int sqlite3EvalInit(sqlite3*); -+int sqlite3FileioInit(sqlite3*); -+int sqlite3IeeeInit(sqlite3*); -+int sqlite3RegexpInit(sqlite3*); -+int sqlite3ShaInit(sqlite3*); -+int sqlite3ShathreeInit(sqlite3*); -+int sqlite3TotypeInit(sqlite3*); -+int sqlite3UintInit(sqlite3*); -+int sqlite3UuidInit(sqlite3*); -+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_HAVE_ZLIB) -+int sqlite3ZipfileInit(sqlite3*); -+int sqlite3SqlarInit(sqlite3*); -+#endif - - /* - ** An array of pointers to extension initializer functions for -@@ -83,6 +102,9 @@ - #ifdef SQLITE_ENABLE_DBPAGE_VTAB - sqlite3DbpageRegister, - #endif -+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) -+ sqlite3DbdataRegister, -+#endif - #ifdef SQLITE_ENABLE_DBSTAT_VTAB - sqlite3DbstatRegister, - #endif -@@ -96,6 +118,22 @@ - #ifdef SQLITE_ENABLE_BYTECODE_VTAB - sqlite3VdbeBytecodeVtabInit, - #endif -+ sqlite3CarrayInit, -+ sqlite3CompletionVtabInit, -+ sqlite3CsvInit, -+ sqlite3EvalInit, -+ sqlite3FileioInit, -+ sqlite3IeeeInit, -+ sqlite3RegexpInit, -+ sqlite3ShaInit, -+ sqlite3ShathreeInit, -+ sqlite3TotypeInit, -+ sqlite3UintInit, -+ sqlite3UuidInit, -+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_HAVE_ZLIB) -+ sqlite3ZipfileInit, -+ sqlite3SqlarInit, -+#endif - }; - - #ifndef SQLITE_AMALGAMATION ---- /src/shell.c.in -+++ /src/shell.c.in -@@ -69,6 +69,7 @@ - #include <stdio.h> - #include <assert.h> - #include "sqlite3.h" -+#include "ext/expert/sqlite3expert.h" - typedef sqlite3_int64 i64; - typedef sqlite3_uint64 u64; - typedef unsigned char u8; -@@ -135,6 +136,10 @@ - # define SHELL_USE_LOCAL_GETLINE 1 - #endif - -+#ifdef SQLITE_HAVE_ZLIB -+#include <zlib.h> -+#endif -+ - - #if defined(_WIN32) || defined(WIN32) - # if SQLITE_OS_WINRT -@@ -1005,22 +1010,7 @@ - INCLUDE test_windirent.c - #define dirent DIRENT - #endif --INCLUDE ../ext/misc/shathree.c --INCLUDE ../ext/misc/fileio.c --INCLUDE ../ext/misc/completion.c --INCLUDE ../ext/misc/appendvfs.c - INCLUDE ../ext/misc/memtrace.c --INCLUDE ../ext/misc/uint.c --#ifdef SQLITE_HAVE_ZLIB --INCLUDE ../ext/misc/zipfile.c --INCLUDE ../ext/misc/sqlar.c --#endif --INCLUDE ../ext/expert/sqlite3expert.h --INCLUDE ../ext/expert/sqlite3expert.c -- --#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) --INCLUDE ../ext/misc/dbdata.c --#endif - - #if defined(SQLITE_ENABLE_SESSION) - /* -@@ -4261,17 +4251,6 @@ - #ifndef SQLITE_OMIT_LOAD_EXTENSION - sqlite3_enable_load_extension(p->db, 1); - #endif -- sqlite3_fileio_init(p->db, 0, 0); -- sqlite3_shathree_init(p->db, 0, 0); -- sqlite3_completion_init(p->db, 0, 0); -- sqlite3_uint_init(p->db, 0, 0); --#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) -- sqlite3_dbdata_init(p->db, 0, 0); --#endif --#ifdef SQLITE_HAVE_ZLIB -- sqlite3_zipfile_init(p->db, 0, 0); -- sqlite3_sqlar_init(p->db, 0, 0); --#endif - sqlite3_create_function(p->db, "shell_add_schema", 3, SQLITE_UTF8, 0, - shellAddSchemaName, 0, 0); - sqlite3_create_function(p->db, "shell_module_schema", 1, SQLITE_UTF8, 0, -@@ -6281,8 +6260,6 @@ - ); - goto end_ar_command; - } -- sqlite3_fileio_init(cmd.db, 0, 0); -- sqlite3_sqlar_init(cmd.db, 0, 0); - sqlite3_create_function(cmd.db, "shell_putsnl", 1, SQLITE_UTF8, cmd.p, - shellPutsFunc, 0, 0); - -@@ -10621,6 +10598,7 @@ - #endif - } - data.out = stdout; -+ extern int sqlite3_appendvfs_init(sqlite3 *, char **, const sqlite3_api_routines *); - sqlite3_appendvfs_init(0,0,0); - - /* Go ahead and open the database file if it already exists. If the ---- /src/test_config.c -+++ /src/test_config.c -@@ -540,6 +540,8 @@ - Tcl_SetVar2(interp, "sqlite_options", "progress", "1", TCL_GLOBAL_ONLY); - #endif - -+ Tcl_SetVar2(interp, "sqlite_options", "regexp", "1", TCL_GLOBAL_ONLY); -+ - #ifdef SQLITE_OMIT_REINDEX - Tcl_SetVar2(interp, "sqlite_options", "reindex", "0", TCL_GLOBAL_ONLY); - #else -@@ -662,6 +664,8 @@ - Tcl_SetVar2(interp, "sqlite_options", "truncate_opt", "1", TCL_GLOBAL_ONLY); - #endif - -+ Tcl_SetVar2(interp, "sqlite_options", "uint", "1", TCL_GLOBAL_ONLY); -+ - #ifdef SQLITE_OMIT_UTF16 - Tcl_SetVar2(interp, "sqlite_options", "utf16", "0", TCL_GLOBAL_ONLY); - #else ---- /test/e_expr.test -+++ /test/e_expr.test -@@ -1078,7 +1078,7 @@ - # - # There is a regexp function if ICU is enabled though. - # --ifcapable !icu { -+ifcapable !icu&&!regexp { - do_catchsql_test e_expr-18.1.1 { - SELECT regexp('abc', 'def') - } {1 {no such function: regexp}} ---- /test/icu.test -+++ /test/icu.test -@@ -41,7 +41,7 @@ - # - test_expr icu-1.1 {i1='hello'} {i1 REGEXP 'hello'} 1 - test_expr icu-1.2 {i1='hello'} {i1 REGEXP '.ello'} 1 -- test_expr icu-1.3 {i1='hello'} {i1 REGEXP '.ell'} 0 -+ test_expr icu-1.3 {i1='hello'} {i1 REGEXP '.ell$'} 0 - test_expr icu-1.4 {i1='hello'} {i1 REGEXP '.ell.*'} 1 - test_expr icu-1.5 {i1=NULL} {i1 REGEXP '.ell.*'} {} - ---- /test/pragma.test -+++ /test/pragma.test -@@ -1360,17 +1360,32 @@ - } ;# ifcapable trigger - - ifcapable schema_pragmas { -- do_test pragma-11.1 { -- execsql2 { -- pragma collation_list; -- } -- } {seq 0 name RTRIM seq 1 name NOCASE seq 2 name BINARY} -- do_test pragma-11.2 { -- db collate New_Collation blah... -- execsql { -- pragma collation_list; -- } -- } {0 New_Collation 1 RTRIM 2 NOCASE 3 BINARY} -+ ifcapable uint { -+ do_test pragma-11.1 { -+ execsql2 { -+ pragma collation_list; -+ } -+ } {seq 0 name UINT seq 1 name RTRIM seq 2 name NOCASE seq 3 name BINARY} -+ do_test pragma-11.2 { -+ db collate New_Collation blah... -+ execsql { -+ pragma collation_list; -+ } -+ } {0 New_Collation 1 UINT 2 RTRIM 3 NOCASE 4 BINARY} -+ } -+ ifcapable !uint { -+ do_test pragma-11.1 { -+ execsql2 { -+ pragma collation_list; -+ } -+ } {seq 0 name RTRIM seq 1 name NOCASE seq 2 name BINARY} -+ do_test pragma-11.2 { -+ db collate New_Collation blah... -+ execsql { -+ pragma collation_list; -+ } -+ } {0 New_Collation 1 RTRIM 2 NOCASE 3 BINARY} -+ } - } - - ifcapable schema_pragmas&&tempdb { ---- /test/sessionfuzz.c -+++ /test/sessionfuzz.c -@@ -700,42 +700,6 @@ - #include <assert.h> - #include "zlib.h" - --/* --** Implementation of the "sqlar_uncompress(X,SZ)" SQL function --** --** Parameter SZ is interpreted as an integer. If it is less than or --** equal to zero, then this function returns a copy of X. Or, if --** SZ is equal to the size of X when interpreted as a blob, also --** return a copy of X. Otherwise, decompress blob X using zlib --** utility function uncompress() and return the results (another --** blob). --*/ --static void sqlarUncompressFunc( -- sqlite3_context *context, -- int argc, -- sqlite3_value **argv --){ -- uLong nData; -- uLongf sz; -- -- assert( argc==2 ); -- sz = sqlite3_value_int(argv[1]); -- -- if( sz<=0 || sz==(nData = sqlite3_value_bytes(argv[0])) ){ -- sqlite3_result_value(context, argv[0]); -- }else{ -- const Bytef *pData= sqlite3_value_blob(argv[0]); -- Bytef *pOut = sqlite3_malloc(sz); -- if( Z_OK!=uncompress(pOut, &sz, pData, nData) ){ -- sqlite3_result_error(context, "error in uncompress()", -1); -- }else{ -- sqlite3_result_blob(context, pOut, sz, SQLITE_TRANSIENT); -- } -- sqlite3_free(pOut); -- } --} -- -- - /* Run a chunk of SQL. If any errors happen, print an error message - ** and exit. - */ ---- /tool/mksqlite3c.tcl -+++ /tool/mksqlite3c.tcl -@@ -117,6 +117,7 @@ - rtree.h - sqlite3session.h - sqlite3.h -+ sqlite3expert.h - sqlite3ext.h - sqlite3rbu.h - sqliteicu.h -@@ -404,6 +405,23 @@ - sqlite3session.c - fts5.c - stmt.c -+ appendvfs.c -+ carray.c -+ completion.c -+ csv.c -+ dbdata.c -+ eval.c -+ fileio.c -+ ieee754.c -+ regexp.c -+ sha1.c -+ shathree.c -+ sqlar.c -+ sqlite3expert.c -+ totype.c -+ uint.c -+ uuid.c -+ zipfile.c - } { - copy_file tsrc/$file - } ---- /tool/sqlite3_analyzer.c.in -+++ /tool/sqlite3_analyzer.c.in -@@ -14,9 +14,6 @@ - #define SQLITE_DEFAULT_MEMSTATUS 0 - #define SQLITE_MAX_EXPR_DEPTH 0 - #define SQLITE_OMIT_LOAD_EXTENSION 1 --#ifndef USE_EXTERNAL_SQLITE --INCLUDE sqlite3.c --#endif - INCLUDE $ROOT/src/tclsqlite.c - - const char *sqlite3_analyzer_init_proc(Tcl_Interp *interp){ ---- /tool/sqltclsh.c.in -+++ /tool/sqltclsh.c.in -@@ -27,21 +27,13 @@ - #define SQLITE_OMIT_SHARED_CACHE 1 - #define SQLITE_DEFAULT_MEMSTATUS 0 - #define SQLITE_MAX_EXPR_DEPTH 0 --INCLUDE sqlite3.c --INCLUDE $ROOT/ext/misc/appendvfs.c --#ifdef SQLITE_HAVE_ZLIB --INCLUDE $ROOT/ext/misc/zipfile.c --INCLUDE $ROOT/ext/misc/sqlar.c --#endif -+#include "sqlite3.h" - INCLUDE $ROOT/src/tclsqlite.c - - const char *sqlite3_tclapp_init_proc(Tcl_Interp *interp){ - (void)interp; -+ extern int sqlite3_appendvfs_init(sqlite3 *,char **, const sqlite3_api_routines *); - sqlite3_appendvfs_init(0,0,0); --#ifdef SQLITE_HAVE_ZLIB -- sqlite3_auto_extension((void(*)(void))sqlite3_sqlar_init); -- sqlite3_auto_extension((void(*)(void))sqlite3_zipfile_init); --#endif - - return - BEGIN_STRING |