summaryrefslogtreecommitdiff
path: root/dev-db/sqlite/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-03-03 13:42:34 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-03-03 13:42:34 +0000
commit066d27181e9a797ad9f8fc43b49fc9a10ff2f707 (patch)
tree3cb05783d73b2c33589ba305144a31c718e123cd /dev-db/sqlite/files
parent16449a80e28af2209916cc66d19c9a44ca2b90d9 (diff)
gentoo resync : 03.03.2019
Diffstat (limited to 'dev-db/sqlite/files')
-rw-r--r--dev-db/sqlite/files/sqlite-3.21.0-nonfull_archive-build.patch14
-rw-r--r--dev-db/sqlite/files/sqlite-3.23.0-full_archive-build.patch407
-rw-r--r--dev-db/sqlite/files/sqlite-3.23.1-full_archive-prohibit_bound_parameters_in_arguments_to_table-valued_functions_within_triggers.patch24
-rw-r--r--dev-db/sqlite/files/sqlite-3.23.1-full_archive-tests.patch224
-rw-r--r--dev-db/sqlite/files/sqlite-3.23.1-nonfull_archive-prohibit_bound_parameters_in_arguments_to_table-valued_functions_within_triggers.patch14
-rw-r--r--dev-db/sqlite/files/sqlite-3.24.0-full_archive-archive_command_paths_handling.patch14
-rw-r--r--dev-db/sqlite/files/sqlite-3.24.0-nonfull_archive-archive_command_paths_handling.patch14
-rw-r--r--dev-db/sqlite/files/sqlite-3.25.2-full_archive-disallow_window_functions_in_recursive_queries.patch49
-rw-r--r--dev-db/sqlite/files/sqlite-3.25.2-nonfull_archive-disallow_window_functions_in_recursive_queries.patch19
-rw-r--r--dev-db/sqlite/files/sqlite-3.27.0-full_archive-build.patch (renamed from dev-db/sqlite/files/sqlite-3.24.0-full_archive-build.patch)124
-rw-r--r--dev-db/sqlite/files/sqlite-3.27.2-full_archive-tests.patch36
11 files changed, 125 insertions, 814 deletions
diff --git a/dev-db/sqlite/files/sqlite-3.21.0-nonfull_archive-build.patch b/dev-db/sqlite/files/sqlite-3.21.0-nonfull_archive-build.patch
deleted file mode 100644
index 06ea8b290536..000000000000
--- a/dev-db/sqlite/files/sqlite-3.21.0-nonfull_archive-build.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Fix building with dlopen() not available.
-
---- /configure.ac
-+++ /configure.ac
-@@ -102,6 +102,9 @@
- [], [enable_dynamic_extensions=yes])
- if test x"$enable_dynamic_extensions" != "xno"; then
- AC_SEARCH_LIBS(dlopen, dl)
-+ if test "${ac_cv_search_dlopen}" = "no" ; then
-+ DYNAMIC_EXTENSION_FLAGS=-DSQLITE_OMIT_LOAD_EXTENSION=1
-+ fi
- else
- DYNAMIC_EXTENSION_FLAGS=-DSQLITE_OMIT_LOAD_EXTENSION=1
- fi
diff --git a/dev-db/sqlite/files/sqlite-3.23.0-full_archive-build.patch b/dev-db/sqlite/files/sqlite-3.23.0-full_archive-build.patch
deleted file mode 100644
index f46df1c15a50..000000000000
--- a/dev-db/sqlite/files/sqlite-3.23.0-full_archive-build.patch
+++ /dev/null
@@ -1,407 +0,0 @@
-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
-@@ -308,6 +308,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 \
-@@ -356,8 +359,11 @@
- $(TOP)/ext/rbu/sqlite3rbu.h \
- $(TOP)/ext/rbu/sqlite3rbu.c
- SRC += \
-+ $(TOP)/ext/misc/appendvfs.c \
- $(TOP)/ext/misc/json1.c \
-- $(TOP)/ext/misc/stmt.c
-+ $(TOP)/ext/misc/sqlar.c \
-+ $(TOP)/ext/misc/stmt.c \
-+ $(TOP)/ext/misc/zipfile.c
-
- # Generated source code files
- #
-@@ -426,7 +432,6 @@
- # 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 \
-@@ -449,8 +454,7 @@
- $(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/misc/wholenumber.c
-
- # Source code to the library files needed by the test fixture
- #
-@@ -613,25 +617,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
-@@ -710,7 +714,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
- #
-@@ -1004,14 +1008,9 @@
- # 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/expert/sqlite3expert.c \
-- $(TOP)/ext/expert/sqlite3expert.h \
-- $(TOP)/ext/misc/zipfile.c \
- $(TOP)/src/test_windirent.c
-
- shell.c: $(SHELL_SRC) $(TOP)/tool/mkshellc.tcl
-@@ -1170,15 +1169,15 @@
-
- # 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
-
- fastfuzztest: fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db
-- ./fuzzcheck$(TEXE) --limit-mem 100M $(FUZZDATA)
-+ ./fuzzcheck$(TEXE) --limit-mem 100M --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.
-@@ -1209,24 +1208,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 \
-@@ -1237,30 +1235,30 @@
- 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
-
--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
-
--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
-
- rollback-test$(TEXE): $(TOP)/tool/rollback-test.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/tool/rollback-test.c sqlite3.lo $(TLIBS)
-@@ -1279,11 +1277,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
-@@ -590,6 +590,9 @@
- if test "${use_loadextension}" = "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/misc/sqlar.c
-+++ /ext/misc/sqlar.c
-@@ -14,6 +14,8 @@
- ** for working with sqlar archives and used by the shell tool's built-in
- ** sqlar support.
- */
-+#ifdef SQLITE_HAVE_ZLIB
-+
- #include "sqlite3ext.h"
- SQLITE_EXTENSION_INIT1
- #include <zlib.h>
-@@ -119,3 +121,5 @@
- }
- return rc;
- }
-+
-+#endif /* SQLITE_HAVE_ZLIB */
---- /ext/misc/zipfile.c
-+++ /ext/misc/zipfile.c
-@@ -24,6 +24,8 @@
- ** * No support for zip64 extensions
- ** * Only the "inflate/deflate" (zlib) compression method is supported
- */
-+#ifdef SQLITE_HAVE_ZLIB
-+
- #include "sqlite3ext.h"
- SQLITE_EXTENSION_INIT1
- #include <stdio.h>
-@@ -2175,3 +2177,5 @@
- (void)pzErrMsg; /* Unused parameter */
- return zipfileRegister(db);
- }
-+
-+#endif /* SQLITE_HAVE_ZLIB */
---- /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/shell.c.in
-+++ /src/shell.c.in
-@@ -61,6 +61,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;
-@@ -124,6 +125,10 @@
- # define SHELL_USE_LOCAL_GETLINE 1
- #endif
-
-+#ifdef SQLITE_HAVE_ZLIB
-+#include <zlib.h>
-+#endif
-+
-
- #if defined(_WIN32) || defined(WIN32)
- # include <io.h>
-@@ -966,13 +971,6 @@
- INCLUDE ../ext/misc/shathree.c
- INCLUDE ../ext/misc/fileio.c
- INCLUDE ../ext/misc/completion.c
--INCLUDE ../ext/misc/appendvfs.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_ENABLE_SESSION)
- /*
-@@ -3522,7 +3520,9 @@
- sqlite3_shathree_init(p->db, 0, 0);
- sqlite3_completion_init(p->db, 0, 0);
- #ifdef SQLITE_HAVE_ZLIB
-+ extern int sqlite3_zipfile_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_zipfile_init(p->db, 0, 0);
-+ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_sqlar_init(p->db, 0, 0);
- #endif
- sqlite3_create_function(p->db, "shell_add_schema", 3, SQLITE_UTF8, 0,
-@@ -5411,6 +5411,7 @@
- goto end_ar_command;
- }
- sqlite3_fileio_init(cmd.db, 0, 0);
-+ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_sqlar_init(cmd.db, 0, 0);
- sqlite3_create_function(cmd.db, "shell_putsnl", 1, SQLITE_UTF8, cmd.p,
- shellPutsFunc, 0, 0);
-@@ -8367,6 +8368,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
---- /tool/mksqlite3c.tcl
-+++ /tool/mksqlite3c.tcl
-@@ -116,6 +116,7 @@
- rtree.h
- sqlite3session.h
- sqlite3.h
-+ sqlite3expert.h
- sqlite3ext.h
- sqlite3rbu.h
- sqliteicu.h
-@@ -400,6 +401,10 @@
- json1.c
- fts5.c
- stmt.c
-+ appendvfs.c
-+ sqlar.c
-+ sqlite3expert.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,19 +27,17 @@
- #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
-+ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_auto_extension((void(*)(void))sqlite3_sqlar_init);
-+ extern int sqlite3_zipfile_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_auto_extension((void(*)(void))sqlite3_zipfile_init);
- #endif
-
diff --git a/dev-db/sqlite/files/sqlite-3.23.1-full_archive-prohibit_bound_parameters_in_arguments_to_table-valued_functions_within_triggers.patch b/dev-db/sqlite/files/sqlite-3.23.1-full_archive-prohibit_bound_parameters_in_arguments_to_table-valued_functions_within_triggers.patch
deleted file mode 100644
index c97679daf7d9..000000000000
--- a/dev-db/sqlite/files/sqlite-3.23.1-full_archive-prohibit_bound_parameters_in_arguments_to_table-valued_functions_within_triggers.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://sqlite.org/src/info/b7178209152452e8
-
---- /src/attach.c
-+++ /src/attach.c
-@@ -502,6 +502,9 @@
- if( sqlite3FixSelect(pFix, pItem->pSelect) ) return 1;
- if( sqlite3FixExpr(pFix, pItem->pOn) ) return 1;
- #endif
-+ if( pItem->fg.isTabFunc && sqlite3FixExprList(pFix, pItem->u1.pFuncArg) ){
-+ return 1;
-+ }
- }
- return 0;
- }
---- /test/triggerE.test
-+++ /test/triggerE.test
-@@ -57,6 +57,7 @@
- 7 { BEFORE DELETE ON t1 BEGIN SELECT * FROM t2 ORDER BY ?; END; }
- 8 { BEFORE UPDATE ON t1 BEGIN UPDATE t2 SET c = ?; END; }
- 9 { BEFORE UPDATE ON t1 BEGIN UPDATE t2 SET c = 1 WHERE d = ?; END; }
-+ 10 { AFTER INSERT ON t1 BEGIN SELECT * FROM pragma_stats(?); END; }
- } {
- catchsql {drop trigger tr1}
- do_catchsql_test 1.1.$tn "CREATE TRIGGER tr1 $defn" [list 1 $errmsg]
diff --git a/dev-db/sqlite/files/sqlite-3.23.1-full_archive-tests.patch b/dev-db/sqlite/files/sqlite-3.23.1-full_archive-tests.patch
deleted file mode 100644
index ef813f67e743..000000000000
--- a/dev-db/sqlite/files/sqlite-3.23.1-full_archive-tests.patch
+++ /dev/null
@@ -1,224 +0,0 @@
-https://sqlite.org/src/info/893e6089c875e947
-https://sqlite.org/src/info/576a8f69ae25883f
-https://sqlite.org/src/info/de508e831a43f02c
-
---- /ext/fts3/fts3.c
-+++ /ext/fts3/fts3.c
-@@ -3963,7 +3963,7 @@
-
- #ifdef SQLITE_TEST
- if( rc==SQLITE_OK ){
-- rc = sqlite3Fts3ExprInitTestInterface(db);
-+ rc = sqlite3Fts3ExprInitTestInterface(db, pHash);
- }
- #endif
-
---- /ext/fts3/fts3Int.h
-+++ /ext/fts3/fts3Int.h
-@@ -584,7 +584,7 @@
- );
- void sqlite3Fts3ExprFree(Fts3Expr *);
- #ifdef SQLITE_TEST
--int sqlite3Fts3ExprInitTestInterface(sqlite3 *db);
-+int sqlite3Fts3ExprInitTestInterface(sqlite3 *db, Fts3Hash*);
- int sqlite3Fts3InitTerm(sqlite3 *db);
- #endif
-
---- /ext/fts3/fts3_expr.c
-+++ /ext/fts3/fts3_expr.c
-@@ -1109,34 +1109,6 @@
- #include <stdio.h>
-
- /*
--** Function to query the hash-table of tokenizers (see README.tokenizers).
--*/
--static int queryTestTokenizer(
-- sqlite3 *db,
-- const char *zName,
-- const sqlite3_tokenizer_module **pp
--){
-- int rc;
-- sqlite3_stmt *pStmt;
-- const char zSql[] = "SELECT fts3_tokenizer(?)";
--
-- *pp = 0;
-- rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);
-- if( rc!=SQLITE_OK ){
-- return rc;
-- }
--
-- sqlite3_bind_text(pStmt, 1, zName, -1, SQLITE_STATIC);
-- if( SQLITE_ROW==sqlite3_step(pStmt) ){
-- if( sqlite3_column_type(pStmt, 0)==SQLITE_BLOB ){
-- memcpy((void *)pp, sqlite3_column_blob(pStmt, 0), sizeof(*pp));
-- }
-- }
--
-- return sqlite3_finalize(pStmt);
--}
--
--/*
- ** Return a pointer to a buffer containing a text representation of the
- ** expression passed as the first argument. The buffer is obtained from
- ** sqlite3_malloc(). It is the responsibility of the caller to use
-@@ -1203,12 +1175,12 @@
- **
- ** SELECT fts3_exprtest('simple', 'Bill col2:Bloggs', 'col1', 'col2');
- */
--static void fts3ExprTest(
-+static void fts3ExprTestCommon(
-+ int bRebalance,
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
- ){
-- sqlite3_tokenizer_module const *pModule = 0;
- sqlite3_tokenizer *pTokenizer = 0;
- int rc;
- char **azCol = 0;
-@@ -1218,7 +1190,9 @@
- int ii;
- Fts3Expr *pExpr;
- char *zBuf = 0;
-- sqlite3 *db = sqlite3_context_db_handle(context);
-+ Fts3Hash *pHash = (Fts3Hash*)sqlite3_user_data(context);
-+ const char *zTokenizer = 0;
-+ char *zErr = 0;
-
- if( argc<3 ){
- sqlite3_result_error(context,
-@@ -1227,23 +1201,17 @@
- return;
- }
-
-- rc = queryTestTokenizer(db,
-- (const char *)sqlite3_value_text(argv[0]), &pModule);
-- if( rc==SQLITE_NOMEM ){
-- sqlite3_result_error_nomem(context);
-- goto exprtest_out;
-- }else if( !pModule ){
-- sqlite3_result_error(context, "No such tokenizer module", -1);
-- goto exprtest_out;
-- }
--
-- rc = pModule->xCreate(0, 0, &pTokenizer);
-- assert( rc==SQLITE_NOMEM || rc==SQLITE_OK );
-- if( rc==SQLITE_NOMEM ){
-- sqlite3_result_error_nomem(context);
-- goto exprtest_out;
-+ zTokenizer = (const char*)sqlite3_value_text(argv[0]);
-+ rc = sqlite3Fts3InitTokenizer(pHash, zTokenizer, &pTokenizer, &zErr);
-+ if( rc!=SQLITE_OK ){
-+ if( rc==SQLITE_NOMEM ){
-+ sqlite3_result_error_nomem(context);
-+ }else{
-+ sqlite3_result_error(context, zErr, -1);
-+ }
-+ sqlite3_free(zErr);
-+ return;
- }
-- pTokenizer->pModule = pModule;
-
- zExpr = (const char *)sqlite3_value_text(argv[1]);
- nExpr = sqlite3_value_bytes(argv[1]);
-@@ -1257,7 +1225,7 @@
- azCol[ii] = (char *)sqlite3_value_text(argv[ii+2]);
- }
-
-- if( sqlite3_user_data(context) ){
-+ if( bRebalance ){
- char *zDummy = 0;
- rc = sqlite3Fts3ExprParse(
- pTokenizer, 0, azCol, 0, nCol, nCol, zExpr, nExpr, &pExpr, &zDummy
-@@ -1283,23 +1251,38 @@
- sqlite3Fts3ExprFree(pExpr);
-
- exprtest_out:
-- if( pModule && pTokenizer ){
-- rc = pModule->xDestroy(pTokenizer);
-+ if( pTokenizer ){
-+ rc = pTokenizer->pModule->xDestroy(pTokenizer);
- }
- sqlite3_free(azCol);
- }
-
-+static void fts3ExprTest(
-+ sqlite3_context *context,
-+ int argc,
-+ sqlite3_value **argv
-+){
-+ fts3ExprTestCommon(0, context, argc, argv);
-+}
-+static void fts3ExprTestRebalance(
-+ sqlite3_context *context,
-+ int argc,
-+ sqlite3_value **argv
-+){
-+ fts3ExprTestCommon(1, context, argc, argv);
-+}
-+
- /*
- ** Register the query expression parser test function fts3_exprtest()
- ** with database connection db.
- */
--int sqlite3Fts3ExprInitTestInterface(sqlite3* db){
-+int sqlite3Fts3ExprInitTestInterface(sqlite3 *db, Fts3Hash *pHash){
- int rc = sqlite3_create_function(
-- db, "fts3_exprtest", -1, SQLITE_UTF8, 0, fts3ExprTest, 0, 0
-+ db, "fts3_exprtest", -1, SQLITE_UTF8, (void*)pHash, fts3ExprTest, 0, 0
- );
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "fts3_exprtest_rebalance",
-- -1, SQLITE_UTF8, (void *)1, fts3ExprTest, 0, 0
-+ -1, SQLITE_UTF8, (void*)pHash, fts3ExprTestRebalance, 0, 0
- );
- }
- return rc;
---- /test/fts3expr.test
-+++ /test/fts3expr.test
-@@ -409,7 +409,7 @@
- } {1 {Usage: fts3_exprtest(tokenizer, expr, col1, ...}}
- do_test fts3expr-5.2 {
- catchsql { SELECT fts3_exprtest('doesnotexist', 'a b', 'c') }
--} {1 {No such tokenizer module}}
-+} {1 {unknown tokenizer: doesnotexist}}
- do_test fts3expr-5.3 {
- catchsql { SELECT fts3_exprtest('simple', 'a b OR', 'c') }
- } {1 {Error parsing expression}}
---- /test/fts3expr4.test
-+++ /test/fts3expr4.test
-@@ -29,7 +29,8 @@
- }
-
- proc do_icu_expr_test {tn expr res} {
-- uplevel [list do_test $tn [list test_fts3expr icu $expr] [list {*}$res]]
-+ set res2 [list {*}$res]
-+ uplevel [list do_test $tn [list test_fts3expr "icu en_US" $expr] $res2]
- }
-
- proc do_simple_expr_test {tn expr res} {
---- /test/zipfile2.test
-+++ /test/zipfile2.test
-@@ -52,17 +52,15 @@
- CREATE VIRTUAL TABLE fff USING zipfile('test''zip');
- }
-
--if {$::tcl_platform(platform)=="windows"} {
-- set res {1 {cannot open file: testdir}}
--} else {
-- set res {1 {error in fread()}}
--}
- do_test 2.0 {
- forcedelete testdir
- file mkdir testdir
- execsql { CREATE VIRTUAL TABLE hhh USING zipfile('testdir') }
-- catchsql { SELECT * FROM hhh }
--} $res
-+ lindex [catchsql {
-+ SELECT * FROM hhh;
-+ INSERT INTO hhh(name, data) VALUES('1.txt', 'file data');
-+ }] 0
-+} 1
-
-
- set archive {
diff --git a/dev-db/sqlite/files/sqlite-3.23.1-nonfull_archive-prohibit_bound_parameters_in_arguments_to_table-valued_functions_within_triggers.patch b/dev-db/sqlite/files/sqlite-3.23.1-nonfull_archive-prohibit_bound_parameters_in_arguments_to_table-valued_functions_within_triggers.patch
deleted file mode 100644
index c60cd9c90dcb..000000000000
--- a/dev-db/sqlite/files/sqlite-3.23.1-nonfull_archive-prohibit_bound_parameters_in_arguments_to_table-valued_functions_within_triggers.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://sqlite.org/src/info/b7178209152452e8
-
---- /sqlite3.c
-+++ /sqlite3.c
-@@ -102780,6 +102780,9 @@
- if( sqlite3FixSelect(pFix, pItem->pSelect) ) return 1;
- if( sqlite3FixExpr(pFix, pItem->pOn) ) return 1;
- #endif
-+ if( pItem->fg.isTabFunc && sqlite3FixExprList(pFix, pItem->u1.pFuncArg) ){
-+ return 1;
-+ }
- }
- return 0;
- }
diff --git a/dev-db/sqlite/files/sqlite-3.24.0-full_archive-archive_command_paths_handling.patch b/dev-db/sqlite/files/sqlite-3.24.0-full_archive-archive_command_paths_handling.patch
deleted file mode 100644
index 5c27aa3465b0..000000000000
--- a/dev-db/sqlite/files/sqlite-3.24.0-full_archive-archive_command_paths_handling.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://sqlite.org/src/info/27291f2d7fd4dadf
-
---- /src/shell.c.in
-+++ /src/shell.c.in
-@@ -5284,7 +5284,8 @@
- "SELECT "
- " ($dir || name),"
- " writefile(($dir || name), %s, mode, mtime) "
-- "FROM %s WHERE (%s) AND (data IS NULL OR $dirOnly = 0)";
-+ "FROM %s WHERE (%s) AND (data IS NULL OR $dirOnly = 0)"
-+ " AND name NOT GLOB '*..[/\\]*'";
-
- const char *azExtraArg[] = {
- "sqlar_uncompress(data, sz)",
diff --git a/dev-db/sqlite/files/sqlite-3.24.0-nonfull_archive-archive_command_paths_handling.patch b/dev-db/sqlite/files/sqlite-3.24.0-nonfull_archive-archive_command_paths_handling.patch
deleted file mode 100644
index 69ab04822709..000000000000
--- a/dev-db/sqlite/files/sqlite-3.24.0-nonfull_archive-archive_command_paths_handling.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://sqlite.org/src/info/27291f2d7fd4dadf
-
---- /shell.c
-+++ /shell.c
-@@ -12786,7 +12786,8 @@
- "SELECT "
- " ($dir || name),"
- " writefile(($dir || name), %s, mode, mtime) "
-- "FROM %s WHERE (%s) AND (data IS NULL OR $dirOnly = 0)";
-+ "FROM %s WHERE (%s) AND (data IS NULL OR $dirOnly = 0)"
-+ " AND name NOT GLOB '*..[/\\]*'";
-
- const char *azExtraArg[] = {
- "sqlar_uncompress(data, sz)",
diff --git a/dev-db/sqlite/files/sqlite-3.25.2-full_archive-disallow_window_functions_in_recursive_queries.patch b/dev-db/sqlite/files/sqlite-3.25.2-full_archive-disallow_window_functions_in_recursive_queries.patch
deleted file mode 100644
index 6b34e2e4f9d8..000000000000
--- a/dev-db/sqlite/files/sqlite-3.25.2-full_archive-disallow_window_functions_in_recursive_queries.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-https://sqlite.org/src/info/e8275b415a2f03bee
-https://sqlite.org/src/info/7fc2994434c7d9ed
-
---- /src/select.c
-+++ /src/select.c
-@@ -2318,6 +2318,13 @@
- Expr *pLimit; /* Saved LIMIT and OFFSET */
- int regLimit, regOffset; /* Registers used by LIMIT and OFFSET */
-
-+#ifndef SQLITE_OMIT_WINDOWFUNC
-+ if( p->pWin ){
-+ sqlite3ErrorMsg(pParse, "cannot use window functions in recursive queries");
-+ return;
-+ }
-+#endif
-+
- /* Obtain authorization to do a recursive query */
- if( sqlite3AuthCheck(pParse, SQLITE_RECURSIVE, 0, 0, 0) ) return;
-
---- /test/with1.test
-+++ /test/with1.test
-@@ -865,6 +865,27 @@
- SELECT * FROM i;
- } {1 {recursive aggregate queries not supported}}
-
-+# Or window-function recursive queries. Ticket e8275b41.
-+#
-+ifcapable windowfunc {
-+ do_catchsql_test 16.2 {
-+ WITH RECURSIVE
-+ i(x) AS (VALUES(1) UNION SELECT count(*) OVER () FROM i)
-+ SELECT * FROM i;
-+ } {1 {cannot use window functions in recursive queries}}
-+ do_catchsql_test 16.3 {
-+ WITH RECURSIVE
-+ t(id, parent) AS (VALUES(1,2)),
-+ q(id, parent, rn) AS (
-+ VALUES(1,2,3)
-+ UNION ALL
-+ SELECT t.*, ROW_NUMBER() OVER (ORDER BY t.id) AS rn
-+ FROM q JOIN t ON t.parent = q.id
-+ )
-+ SELECT * FROM q;
-+ } {1 {cannot use window functions in recursive queries}}
-+}
-+
- #-------------------------------------------------------------------------
- do_execsql_test 17.1 {
- WITH x(a) AS (
diff --git a/dev-db/sqlite/files/sqlite-3.25.2-nonfull_archive-disallow_window_functions_in_recursive_queries.patch b/dev-db/sqlite/files/sqlite-3.25.2-nonfull_archive-disallow_window_functions_in_recursive_queries.patch
deleted file mode 100644
index 4ee3d477cfc4..000000000000
--- a/dev-db/sqlite/files/sqlite-3.25.2-nonfull_archive-disallow_window_functions_in_recursive_queries.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-https://sqlite.org/src/info/e8275b415a2f03bee
-https://sqlite.org/src/info/7fc2994434c7d9ed
-
---- /sqlite3.c
-+++ /sqlite3.c
-@@ -125441,6 +125441,13 @@
- Expr *pLimit; /* Saved LIMIT and OFFSET */
- int regLimit, regOffset; /* Registers used by LIMIT and OFFSET */
-
-+#ifndef SQLITE_OMIT_WINDOWFUNC
-+ if( p->pWin ){
-+ sqlite3ErrorMsg(pParse, "cannot use window functions in recursive queries");
-+ return;
-+ }
-+#endif
-+
- /* Obtain authorization to do a recursive query */
- if( sqlite3AuthCheck(pParse, SQLITE_RECURSIVE, 0, 0, 0) ) return;
-
diff --git a/dev-db/sqlite/files/sqlite-3.24.0-full_archive-build.patch b/dev-db/sqlite/files/sqlite-3.27.0-full_archive-build.patch
index 072b8049c144..18c6d4d7bd30 100644
--- a/dev-db/sqlite/files/sqlite-3.24.0-full_archive-build.patch
+++ b/dev-db/sqlite/files/sqlite-3.27.0-full_archive-build.patch
@@ -5,7 +5,7 @@ Fix building with dlopen() not available.
--- /Makefile.in
+++ /Makefile.in
-@@ -309,6 +309,9 @@
+@@ -311,6 +311,9 @@
# Source code for extensions
#
SRC += \
@@ -15,7 +15,7 @@ Fix building with dlopen() not available.
$(TOP)/ext/fts1/fts1.c \
$(TOP)/ext/fts1/fts1.h \
$(TOP)/ext/fts1/fts1_hash.c \
-@@ -357,8 +360,11 @@
+@@ -363,8 +366,11 @@
$(TOP)/ext/rbu/sqlite3rbu.h \
$(TOP)/ext/rbu/sqlite3rbu.c
SRC += \
@@ -28,7 +28,7 @@ Fix building with dlopen() not available.
# Generated source code files
#
-@@ -427,7 +433,6 @@
+@@ -434,7 +440,6 @@
# Statically linked extensions
#
TESTSRC += \
@@ -36,17 +36,15 @@ Fix building with dlopen() not available.
$(TOP)/ext/expert/test_expert.c \
$(TOP)/ext/misc/amatch.c \
$(TOP)/ext/misc/carray.c \
-@@ -450,8 +455,7 @@
- $(TOP)/ext/misc/spellfix.c \
+@@ -460,7 +465,6 @@
$(TOP)/ext/misc/totype.c \
$(TOP)/ext/misc/unionvtab.c \
-- $(TOP)/ext/misc/wholenumber.c \
-- $(TOP)/ext/misc/zipfile.c
-+ $(TOP)/ext/misc/wholenumber.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
- #
-@@ -615,25 +619,25 @@
+@@ -639,25 +643,25 @@
libtclsqlite3.la: tclsqlite.lo libsqlite3.la
$(LTLINK) -no-undefined -o $@ tclsqlite.lo \
@@ -83,7 +81,7 @@ Fix building with dlopen() not available.
srcck1$(BEXE): $(TOP)/tool/srcck1.c
$(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c
-@@ -712,7 +716,7 @@
+@@ -767,7 +771,7 @@
# Rule to build the amalgamation
#
sqlite3.lo: sqlite3.c
@@ -92,7 +90,7 @@ Fix building with dlopen() not available.
# Rules to build the LEMON compiler generator
#
-@@ -1009,14 +1013,9 @@
+@@ -1067,14 +1071,9 @@
# Source files that go into making shell.c
SHELL_SRC = \
$(TOP)/src/shell.c.in \
@@ -104,10 +102,10 @@ Fix building with dlopen() not available.
- $(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
- shell.c: $(SHELL_SRC) $(TOP)/tool/mkshellc.tcl
-@@ -1175,15 +1174,15 @@
+@@ -1242,15 +1241,15 @@
# Fuzz testing
fuzztest: fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db
@@ -126,7 +124,7 @@ Fix building with dlopen() not available.
valgrind ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
# The veryquick.test TCL tests.
-@@ -1214,24 +1213,23 @@
+@@ -1281,24 +1280,23 @@
smoketest: $(TESTPROGS) fuzzcheck$(TEXE)
./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS)
@@ -139,18 +137,18 @@ Fix building with dlopen() not available.
+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
+-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
++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
++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 =\
@@ -159,7 +157,7 @@ Fix building with dlopen() not available.
$(TOP)/src/tclsqlite.c \
$(TOP)/ext/repair/sqlite3_checker.tcl \
$(TOP)/ext/repair/checkindex.c \
-@@ -1242,30 +1240,30 @@
+@@ -1309,36 +1307,36 @@
sqlite3_checker.c: $(CHECKER_DEPS)
$(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/ext/repair/sqlite3_checker.c.in >$@
@@ -174,6 +172,11 @@ Fix building with dlopen() not available.
- $(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
@@ -197,18 +200,23 @@ Fix building with dlopen() not available.
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
- rollback-test$(TEXE): $(TOP)/tool/rollback-test.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/tool/rollback-test.c sqlite3.lo $(TLIBS)
-@@ -1284,11 +1282,11 @@
+ changesetfuzz$(TEXE): $(TOP)/ext/session/changesetfuzz.c sqlite3.lo
+ $(LTLINK) -o $@ $(TOP)/ext/session/changesetfuzz.c sqlite3.lo $(TLIBS)
+@@ -1363,11 +1361,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
+-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
@@ -222,8 +230,8 @@ Fix building with dlopen() not available.
# symbols that do not begin with "sqlite3_". It is run as part of the
--- /configure.ac
+++ /configure.ac
-@@ -590,6 +590,9 @@
- if test "${use_loadextension}" = "yes" ; then
+@@ -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
@@ -260,7 +268,7 @@ Fix building with dlopen() not available.
#include "sqlite3ext.h"
SQLITE_EXTENSION_INIT1
#include <stdio.h>
-@@ -2175,3 +2177,5 @@
+@@ -2176,3 +2178,5 @@
(void)pzErrMsg; /* Unused parameter */
return zipfileRegister(db);
}
@@ -295,7 +303,7 @@ Fix building with dlopen() not available.
typedef sqlite3_int64 i64;
typedef sqlite3_uint64 u64;
typedef unsigned char u8;
-@@ -124,6 +125,10 @@
+@@ -127,6 +128,10 @@
# define SHELL_USE_LOCAL_GETLINE 1
#endif
@@ -306,11 +314,12 @@ Fix building with dlopen() not available.
#if defined(_WIN32) || defined(WIN32)
# include <io.h>
-@@ -939,13 +944,6 @@
+@@ -939,14 +944,7 @@
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
-#ifdef SQLITE_HAVE_ZLIB
-INCLUDE ../ext/misc/zipfile.c
-INCLUDE ../ext/misc/sqlar.c
@@ -320,7 +329,7 @@ Fix building with dlopen() not available.
#if defined(SQLITE_ENABLE_SESSION)
/*
-@@ -3632,7 +3630,9 @@
+@@ -3934,7 +3932,9 @@
sqlite3_shathree_init(p->db, 0, 0);
sqlite3_completion_init(p->db, 0, 0);
#ifdef SQLITE_HAVE_ZLIB
@@ -330,7 +339,7 @@ Fix building with dlopen() not available.
sqlite3_sqlar_init(p->db, 0, 0);
#endif
sqlite3_create_function(p->db, "shell_add_schema", 3, SQLITE_UTF8, 0,
-@@ -5523,6 +5523,7 @@
+@@ -5868,6 +5868,7 @@
goto end_ar_command;
}
sqlite3_fileio_init(cmd.db, 0, 0);
@@ -338,7 +347,7 @@ Fix building with dlopen() not available.
sqlite3_sqlar_init(cmd.db, 0, 0);
sqlite3_create_function(cmd.db, "shell_putsnl", 1, SQLITE_UTF8, cmd.p,
shellPutsFunc, 0, 0);
-@@ -8539,6 +8540,7 @@
+@@ -9045,6 +9046,7 @@
#endif
}
data.out = stdout;
@@ -346,9 +355,54 @@ Fix building with dlopen() not available.
sqlite3_appendvfs_init(0,0,0);
/* Go ahead and open the database file if it already exists. If the
+--- /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
-@@ -116,6 +116,7 @@
+@@ -117,6 +117,7 @@
rtree.h
sqlite3session.h
sqlite3.h
@@ -356,8 +410,8 @@ Fix building with dlopen() not available.
sqlite3ext.h
sqlite3rbu.h
sqliteicu.h
-@@ -401,6 +402,10 @@
- json1.c
+@@ -403,6 +404,10 @@
+ sqlite3session.c
fts5.c
stmt.c
+ appendvfs.c
diff --git a/dev-db/sqlite/files/sqlite-3.27.2-full_archive-tests.patch b/dev-db/sqlite/files/sqlite-3.27.2-full_archive-tests.patch
new file mode 100644
index 000000000000..92959579b542
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.27.2-full_archive-tests.patch
@@ -0,0 +1,36 @@
+https://sqlite.org/src/info/29d02bf2fa9ecacb
+
+--- /ext/session/sessionB.test
++++ /ext/session/sessionB.test
+@@ -258,8 +258,7 @@
+ INSERT INTO t2 VALUES('a', 'a', 'a', 'a');
+ } {
+ DELETE FROM t2 WHERE c = 'a';
+-} {
+-}
++} {}
+
+ # INSERT + UPDATE
+ do_patchconcat_test 4.3.4 {
+--- /test/fts3expr4.test
++++ /test/fts3expr4.test
+@@ -68,7 +68,7 @@
+ AND {AND {AND {PHRASE 3 0 *} {PHRASE 3 0 lol+}} {PHRASE 3 0 *}} {PHRASE 3 0 h4h+}
+ }
+
+-do_simple_expr_test 3.3 { * } { }
++do_simple_expr_test 3.3 { * } {}
+ do_simple_expr_test 3.4 { *a } { PHRASE 3 0 a }
+ do_simple_expr_test 3.5 { a*b } { AND {PHRASE 3 0 a+} {PHRASE 3 0 b} }
+ do_simple_expr_test 3.6 { *a*b } { AND {PHRASE 3 0 a+} {PHRASE 3 0 b} }
+--- /test/scanstatus.test
++++ /test/scanstatus.test
+@@ -254,7 +254,7 @@
+ }
+
+ do_execsql_test 4.1.1 { INSERT INTO t1 VALUES(1, 2, 3); }
+-do_scanstatus_test 4.1.2 { }
++do_scanstatus_test 4.1.2 {}
+
+ do_execsql_test 4.2 {
+ CREATE TABLE p1(x PRIMARY KEY);