diff --git a/sqlite-doc-3440200.zip b/sqlite-doc-3440200.zip deleted file mode 100644 index ebec809..0000000 --- a/sqlite-doc-3440200.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:62e51962552fb204ef0a541d51f8f721499d1a3fffae6e86558d251c96084fcf -size 10704552 diff --git a/sqlite-doc-3480000.zip b/sqlite-doc-3480000.zip new file mode 100644 index 0000000..d6c1d52 --- /dev/null +++ b/sqlite-doc-3480000.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3dc137fcd7c6acb326af60a61b9844dd15d3773cb05e7a9ce276c41f713d765a +size 11391112 diff --git a/sqlite-src-3440200.zip b/sqlite-src-3440200.zip deleted file mode 100644 index a55c03d..0000000 --- a/sqlite-src-3440200.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:73187473feb74509357e8fa6cb9fd67153b2d010d00aeb2fddb6ceeb18abaf27 -size 14070781 diff --git a/sqlite-src-3480000.zip b/sqlite-src-3480000.zip new file mode 100644 index 0000000..561651e --- /dev/null +++ b/sqlite-src-3480000.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d7b032b6fdfe8c442aa809f850687a81d06381deecd7be3312601d28612e640 +size 14350897 diff --git a/sqlite3-rtree-i686.patch b/sqlite3-rtree-i686.patch deleted file mode 100644 index de961d4..0000000 --- a/sqlite3-rtree-i686.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - ext/rtree/rtree1.test | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: sqlite-src-3440000/ext/rtree/rtree1.test -=================================================================== ---- sqlite-src-3440000.orig/ext/rtree/rtree1.test -+++ sqlite-src-3440000/ext/rtree/rtree1.test -@@ -760,6 +760,9 @@ do_execsql_test 20.4 { - # Do not omit constraints that involve equality comparisons of - # floating-point values. - # -+if {![string match i*86 $tcl_platform(machine)]} { -+# It seems the fix wasn't sufficient for i[56]86, so the tests still -+# fail there and we disable them to fix build for now. - reset_db - do_execsql_test 21.0 { - CREATE VIRTUAL TABLE t1 USING rtree(id, x0, x1); -@@ -785,6 +788,7 @@ if {$tcl_platform(machine)!="i686" || $t - SELECT id, x0 > 9223372036854775807 AS 'a0' FROM t1; - } {123 1} - } -+} - - # 2023-10-14 dbsqlfuzz --sql-fuzz find. rtreecheck() should not call - # BEGIN/COMMIT because that causes problems with statement transactions, diff --git a/sqlite3.changes b/sqlite3.changes index ea596d1..531b869 100644 --- a/sqlite3.changes +++ b/sqlite3.changes @@ -1,3 +1,229 @@ +------------------------------------------------------------------- +Thu Jan 16 10:39:29 UTC 2025 - Reinhard Max + +- Re-enable SONAME which got disabled by default in 3.48.0. + * https://www.sqlite.org/src/forumpost/5a3b44f510df8ded + * https://sqlite.org/forum/forumpost/ab8f15697a + +------------------------------------------------------------------- +Tue Jan 14 15:44:26 UTC 2025 - Reinhard Max + +- Update to release 3.48.0: + * Improved EXPLAIN QUERY PLAN output for covering indexes. + * Allow a two-argument version of the iif() SQL function. + * Also allow if() as an alternative spelling for iif(). + * Add the ".dbtotxt" command to the CLI. + * Add the SQLITE_IOCAP_SUBPAGE_READ property to the + xDeviceCharacteristics method of the sqlite3_io_methods object. + * Add the SQLITE_PREPARE_DONT_LOG option to sqlite3_prepare_v3() + that prevents warning messages being sent to the error log if + the SQL is ill-formed. This allows sqlite3_prepare_v3() to be + used to do test compiles of SQL to check for validity without + polluting the error log with false messages. + * Increase the minimum allowed value of SQLITE_LIMIT_LENGTH from + 1 to 30. + * Added the SQLITE_FCNTL_NULL_IO file control. + * Extend the FTS5 auxiliary API xInstToken() to work with prefix + queries via the insttoken configuration option and the + fts5_insttoken() SQL function. + * Increase the maximum number of arguments to an SQL function + from 127 to 1000. + * Obsoletes sqlite3-6216bfcb.patch . + +------------------------------------------------------------------- +Mon Dec 16 15:40:43 UTC 2024 - Reinhard Max + +- Add sqlite3-6216bfcb.patch to fix a test suite regression in + 3.47.0 on s390x. Only the test was broken, not the code itself. + https://sqlite.org/forum/forumpost/7b2bab04c5 + +------------------------------------------------------------------- +Mon Dec 9 11:26:23 UTC 2024 - Reinhard Max + +- Update to release 3.47.2: + * Fix a problem in text-to-floating-point conversion that affects + text values where the first 16 significant digits are + '1844674407370955'. This issue was introduced in 3.47.0 and + only arises on x64 and i386 hardware. + * Other minor bug fixes. +- Enable the session extension, because NodeJS 22 needs it. + +------------------------------------------------------------------- +Wed Nov 27 10:09:03 UTC 2024 - Reinhard Max + +- Update to release 3.47.1: + * Fix the makefiles so that they once again honored DESTDIR for + the "install" target. + * Add the SQLITE_IOCAP_SUBPAGE_READ capability to the VFS, to + work around issues on some non-standard VFSes caused by making + SQLITE_DIRECT_OVERFLOW_READ the default in version 3.45.0. + * Fix incorrect answers to certain obscure IN queries caused by + new query optimizations added in the 3.47.0 release. + * Other minor bug fixes. + +------------------------------------------------------------------- +Tue Oct 22 16:05:19 UTC 2024 - Reinhard Max + +- Update to release 3.47.0: + * Allow arbitrary expressions in the second argument to the RAISE + function. + * If the RHS of the ->> operator is negative, then access array + elements counting from the right. + * Fix a problem with rolling back hot journal files in the + seldom-used unix-dotfile VFS. + * FTS5 tables can now be dropped even if they use a non-standard + tokenizer that has not been registered. + * Fix the group_concat() aggregate function so that it returns an + empty string, not a NULL, if it receives a single input value + which is an empty string. + * Enhance the generate_series() table-valued function so that it + is able to recognize and use constraints on its output value. + Preupdate hooks now recognize when a column added by ALTER + TABLE ADD COLUMN has a non-null default value. + * Improved reuse of subqueries associated with the IN operator, + especially when the IN operator has been duplicated due to + predicate push-down. + * Use a Bloom filter on subqueries on the right-hand side of the + IN operator, in cases where that seems likely to improve + performance. + * Ensure that queries like "SELECT func(a) FROM tab GROUP BY 1" + only invoke the func() function once per row. + * No attempt is made to create automatic indexes on a column + that is known to be non-selective because of its use in other + indexes that have been analyzed. + * Adjustments to the query planner so that it produces better + plans for star queries with a large number of dimension + tables. + * Add the "order-by-subquery" optimization, that seeks to + disable sort operations in outer queries if the desired order + is obtained naturally due to ORDER BY clauses in subqueries. + * The "indexed-subtype-expr" optimization strives to use + expressions that are part of an index rather than recomputing + the expression based on table values, as long as the query + planner can prove that the subtype of the expression will + never be used. + * Miscellaneous coding tweaks for faster runtimes. + * Add the experimental sqlite3_rsync program. + * Add extension functions median(), percentile(), + percentile_cont(), and percentile_disc() to the CLI. + * Add the .www dot-command to the CLI. + * The sqlite3_analyzer utility now provides a break-out of + statistics for WITHOUT ROWID tables. + * The sqldiff utility avoids creating an empty database if its + second argument does not exist. + * Enhance the sqlite_dbpage table-valued function such that + INSERT can be used to increase or decrease the size of the + database file. + * SQLite no longer makes any use of the "long double" data type, + as hardware support for long double is becoming less common + and long double creates challenges for some compiler tool + chains. Instead, SQLite uses Dekker's algorithm when extended + precision is needed. + * The TCL Interface for SQLite supports TCL9. Everything + probably still works for TCL 8.5 and later, though this is not + guaranteed. Users are encouraged to upgrade to TCL9. + * Fix a corruption-causing bug in the JavaScript "opfs" VFS. + Correct "mode=ro" handling for the "opfs" VFS. Work around a + couple of browser-specific OPFS quirks. + * Add the fts5_tokenizer_v2 API and the locale=1 option, for + creating custom locale-aware tokenizers and fts5 tables that + may take advantage of them. + * Add the contentless_unindexed=1 option, for creating + contentless fts5 tables that store the values of any UNINDEXED + columns persistently in the database. + * Allow an FTS5 table to be dropped even if it uses a custom + tokenizer whose implementation is not available. + +------------------------------------------------------------------- +Tue Sep 24 11:36:12 UTC 2024 - Reinhard Max + +- Update to release 3.46.1: + * Improved robustness while parsing the tokenize= arguments in + FTS5. + * Enhancements to covering index prediction in the query planner. + * Do not let the number of terms on a VALUES clause be limited by + SQLITE_LIMIT_COMPOUND_SELECT, even if the VALUES clause + contains elements that appear to be variables due to + double-quoted string literals. + * Fix the window function version of group_concat() so that it + returns an empty string if it has one or more empty string + inputs. + * In FTS5 secure-delete mode, fix false-positive integrity-check + reports about corrupt indexes. + * Syntax errors in ALTER TABLE should always return SQLITE_ERROR. + In some cases, they were formerly returning SQLITE_INTERNAL. + * Other minor fixes. + +------------------------------------------------------------------- +Thu May 23 19:21:24 UTC 2024 - Reinhard Max + +- Update to release 3.46.0: + * https://sqlite.org/releaselog/3_46_0.html + * Enhance PRAGMA optimize in multiple ways. + * Enhancements to the date and time functions. + * Add support for underscore ("_") characters between digits in + numeric literals. + * Add the json_pretty() SQL function. + * Query planner improvements. + * Allocate additional memory from the heap for the SQL parser + stack if that stack overflows, rather than reporting a "parser + stack overflow" error. + * Allow ASCII control characters within JSON5 string literals. + * Fix the -> and ->> JSON operators so that when the right-hand + side operand is a string that looks like an integer it is still + treated as a string, because that is what PostgreSQL does. + * Obsoletes sqlite3-float-i586.patch. + +------------------------------------------------------------------- +Wed Apr 17 08:50:51 UTC 2024 - Reinhard Max + +- Update to release 3.45.3: + * Fix a long-standing bug (going back to version 3.24.0) that + might (rarely) cause the "old.*" values of an UPDATE trigger + to be incorrect if that trigger fires in response to an UPSERT. + * Reduce the scope of the NOT NULL strength reduction + optimization that was added as item 8e in version 3.35.0. The + optimization was being attempted in some contexts where it did + not work, resulting in incorrect query results. +- Add SQLITE_STRICT_SUBTYPE=1 as recommended by upstream. + +------------------------------------------------------------------- +Tue Mar 12 14:50:27 UTC 2024 - Reinhard Max + +- Update to release 3.45.2: + * Added the SQLITE_RESULT_SUBTYPE property for application- + defined SQL functions. + * Enhancements to the JSON SQL functions + * Add the FTS5 tokendata option to the FTS5 virtual table. + * The SQLITE_DIRECT_OVERFLOW_READ optimization is now enabled by + default. + * Query planner improvements + * Increase the default value for SQLITE_MAX_PAGE_COUNT from + 1073741824 to 4294967294. + * Enhancements to the CLI + * Restore the JSON BLOB input bug, and promise to support the + anomaly in subsequent releases, for backward compatibility. + * Fix the PRAGMA integrity_check command so that it works on + read-only databases that contain FTS3 and FTS5 tables. + * Fix issues associated with processing corrupt JSONB inputs. + * Fix a long-standing bug in which a read of a few bytes past the + end of a memory-mapped segment might occur when accessing a + craftily corrupted database using memory-mapped database. + * Fix a long-standing bug in which a NULL pointer dereference + might occur in the bytecode engine due to incorrect bytecode + being generated for a class of SQL statements that are + deliberately designed to stress the query planner but which + are otherwise pointless. + * Fix an error in UPSERT, introduced in version 3.35.0. + * Reduce the scope of the NOT NULL strength reduction + optimization that was added in version 3.35.0. + +- Add sqlite3-float-i586.patch to fix build on i586. + +- sqlite3-rtree-i686.patch is not needed anymore. + +- Abort build when %version and %tarversion don't match. + ------------------------------------------------------------------- Thu Dec 7 13:38:59 UTC 2023 - Dominique Leuenberger diff --git a/sqlite3.spec b/sqlite3.spec index 5d8def0..de001c8 100644 --- a/sqlite3.spec +++ b/sqlite3.spec @@ -1,7 +1,7 @@ # # spec file for package sqlite3 # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,12 +17,12 @@ %define oname sqlite -%define tarversion 3440200 -%define docversion 3440200 +%define tarversion 3480000 +%define docversion 3480000 %bcond_with icu %bcond_without check Name: sqlite3 -Version: 3.44.2 +Version: 3.48.0 Release: 0 Summary: Embeddable SQL Database Engine License: SUSE-Public-Domain @@ -31,7 +31,6 @@ URL: https://www.sqlite.org/ Source0: https://www.sqlite.org/2023/sqlite-src-%{tarversion}.zip Source1: baselibs.conf Source2: https://www.sqlite.org/2023/sqlite-doc-%{docversion}.zip -Patch0: sqlite3-rtree-i686.patch BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig @@ -129,7 +128,15 @@ other documentation found on sqlite.org. The files can be found in %{_docdir}/%{name}-doc. %prep -%autosetup -p1 -n sqlite-src-%{tarversion} -a2 +# Version and %tarversion need to match, but %docversion might be different, +IFS=. read a b c d <<< "%version" +if [ "%tarversion" != $(printf "%1d%02d%02d%02d" $a $b $c $d) ] +then + echo "Version %version does not match tarversion %tarversion." + exit 1 +fi + +%autosetup -p0 -n sqlite-src-%{tarversion} -a2 rm -v sqlite-doc-%{docversion}/releaselog/current.html ln -sv `echo %{docversion} | sed "s/\./_/g"`.html sqlite-doc-%{docversion}/releaselog/current.html @@ -138,7 +145,8 @@ cmp sqlite-doc-%{docversion}/fileformat{,2}.html && ln -sf fileformat.html sqlit %build export TCLLIBDIR=%tcl_archdir/sqlite%version -export LIBS="$LIBS -lm %{?with_icu:-licuuc -licui18n}" +export CC=gcc +export CC_FOR_BUILD=gcc export CFLAGS="%{optflags} \ -DSQLITE_ENABLE_API_ARMOR \ -DSQLITE_ENABLE_COLUMN_METADATA \ @@ -158,15 +166,18 @@ export CFLAGS="%{optflags} \ -DSQLITE_ENABLE_UNLOCK_NOTIFY \ -DSQLITE_SECURE_DELETE \ -DSQLITE_ENABLE_MATH_FUNCTIONS \ + -DSQLITE_STRICT_SUBTYPE=1 \ " %configure \ + --soname=legacy \ --disable-static \ --enable-readline \ --enable-fts3 \ --enable-fts4 \ --enable-fts5 \ --enable-update-limit \ - --enable-rtree + --enable-rtree \ + --enable-session %make_build sqlite3.c %make_build