./databases/sqlite3, SQL Database Engine in a C Library

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 3.43.1, Package name: sqlite3-3.43.1, Maintainer: pkgsrc-users

SQLite is a C library that implements an SQL database engine. Programs
that link with the SQLite library can have SQL database access without
running a separate RDBMS process. The distribution comes with a standalone
command-line access program (sqlite) that can be used to administer an
SQLite database and which serves as an example of how to use the SQLite

SQLite is not a client library used to connect to a big database server.
SQLite is the server. The SQLite library reads and writes directly to and
from the database files on disk.

This is sqlite3, the current stable version.

Package options: fts

Master sites:

Filesize: 3101.534 KB

Version history: (Expand)

CVS history: (Expand)

   2023-09-13 07:33:19 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
sqlite3: upstream has changed the distfile
   2023-09-12 21:28:13 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
sqlite3: updated to 3.43.1


Fix a regression in the way that the sum(), avg(), and total() aggregate \ 
functions handle infinities.
Fix a bug in the json_array_length() function that occurs when the argument \ 
comes directly from json_remove().
Fix the omit-unused-subquery-columns optimization (introduced in in version \ 
3.42.0) so that it works correctly if the subquery is a compound where one arm \ 
is DISTINCT and the other is not.
Other minor fixes.
   2023-08-25 08:48:00 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
databases/sqlite3* devel/lemon: updated to 2.43.0

SQLite Release 3.43.0 On 2023-08-24

Add support for Contentless-Delete FTS5 Indexes. This is a variety of FTS5 \ 
full-text search index that omits storing the content that is being indexed \ 
while also allowing records to be deleted.
Enhancements to the date and time functions:
Added new time shift modifiers of the form ±YYYY-MM-DD HH:MM:SS.SSS.
Added the timediff() SQL function.
Added the octet_length(X) SQL function.
Added the sqlite3_stmt_explain() API.
Query planner enhancements:
Generalize the LEFT JOIN strength reduction optimization so that it works for \ 
RIGHT and FULL JOINs as well. Rename it to OUTER JOIN strength reduction.
Enhance the theorem prover in the OUTER JOIN strength reduction optimization so \ 
that it returns fewer false-negatives.
Enhancements to the decimal extension:
New function decimal_pow2(N) returns the N-th power of 2 for integer N between \ 
-20000 and +20000.
New function decimal_exp(X) works like decimal(X) except that it returns the \ 
result in exponential notation - with a "e+NN" at the end.
If X is a floating-point value, then the decimal(X) function now does a full \ 
expansion of that value into its exact decimal equivalent.
Performance enhancements to JSON processing results in a 2x performance \ 
improvement for some kinds of processing on large JSON strings.
New makefile target "verify-source" checks to ensure that there are no \ 
unintentional changes in the source tree. (Works for canonical source code only \ 
- not for precompiled amalgamation tarballs.)
Added the SQLITE_USE_SEH compile-time option that enables Structured Exception \ 
Handling on Windows while working with the memory-mapped shm file that is part \ 
of WAL mode processing. This option is enabled by default when building on \ 
Windows using Makefile.msc.
The VFS for unix now assumes that the nanosleep() system call is available \ 
unless compiled with -DHAVE_NANOSLEEP=0.
   2023-05-17 14:29:58 by Adam Ciarcinski | Files touched by this commit (8) | Package updated
Log message:
sqlite3: updated to 3.42.0

SQLite Release 3.42.0 On 2023-05-16

Add the FTS5 secure-delete command. This option causes all forensic traces to be \ 
removed from the FTS5 inverted index when content is deleted.
Enhance the JSON SQL functions to support JSON5 extensions.
The SQLITE_CONFIG_LOG and SQLITE_CONFIG_PCACHE_HDRSZ calls to sqlite3_config() \ 
are now allowed to occur after sqlite3_initialize().
New sqlite3_db_config() options: SQLITE_DBCONFIG_STMT_SCANSTATUS and \ 
Query planner improvements:
Enable the "count-of-view" optimization by default.
Avoid computing unused columns in subqueries.
Improvements to the push-down optimization.
Enhancements to the CLI:
Add the --unsafe-testing command-line option. Without this option, some \ 
dot-commands (ex: ".testctrl") are now disabled because those commands \ 
that are intended for testing only and can cause malfunctions misused.
Allow commands ".log on" and ".log off", even in --safe mode.
"--" as a command-line argument means all subsequent arguments that \ 
start with "-" are interpreted as normal non-option argument.
Magic parameters ":inf" and ":nan" bind to floating point \ 
literals Infinity and NaN, respectively.
The --utf8 command-line option omits all translation to or from MBCS on the \ 
Windows console for interactive sessions, and sets the console code page for \ 
UTF-8 I/O during such sessions. The --utf8 option is a no-op on all other \ 
Add the ability for application-defined SQL functions to have the same name as \ 
Enhancements to PRAGMA integrity_check:
Detect and raise an error when a NaN value is stored in a NOT NULL column.
Improved error message output identifies the root page of a b-tree when an error \ 
is found within a b-tree.
Allow the session extension to be configured to capture changes from tables that \ 
lack an explicit ROWID.
Added the subsecond modifier to the date and time functions.
Negative values passed into sqlite3_sleep() are henceforth interpreted as 0.
The maximum recursion depth for JSON arrays and objects is lowered from 2000 to 1000.
Extended the built-in printf() function so the comma option now works with \ 
floating-point conversions in addition to integer conversions.
Miscellaneous bug fixes and performance optimizations
   2023-04-19 10:12:01 by Adam Ciarcinski | Files touched by this commit (2359) | Package updated
Log message:
revbump after textproc/icu update
   2023-03-28 15:01:41 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
sqlite3: updated to 3.41.2

version 3.41.2 (2023-03-22):

Multiple fixes for reads past the end of memory buffers (NB: reads not writes) \ 
in the following circumstances:
When processing a corrupt database file using the non-standard \ 
SQLITE_ENABLE_STAT4 compile-time option.
In the CLI when the sqlite3_error_offset() routine returns an out-of-range value \ 
(see also the fix to sqlite3_error_offset() below).
In the recovery extension.
In FTS3 when processing a corrupt database file.
Fix the sqlite3_error_offset() so that it does not return out-of-range values \ 
when reporting errors associated with generated columns.
Multiple fixes in the query optimizer for problems that cause incorrect results \ 
for bizarre, fuzzer-generated queries.
Increase the size of the reference counter in the page cache object to 64 bits \ 
to ensure that the counter never overflows.
Fix a performance regression caused by a bug fix in patch release 3.41.1.
Fix a few incorrect assert() statements.
   2023-03-12 11:34:33 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
sqlite3: updated to 3.41.1

version 3.41.1 (2023-03-10):

Provide compile-time options -DHAVE_LOG2=0 and -DHAVE_LOG10=0 to enable SQLite \ 
to be compiled on systems that omit the standard library functions log2() and \ 
log10(), repectively.
Ensure that the datatype for column t1.x in "CREATE TABLE t1 AS SELECT \ 
CAST(7 AS INT) AS x;" continues to be INT and is not NUM, for historical \ 
Enhance PRAGMA integrity_check to detect when extra bytes appear at the end of \ 
an index record.
Fix various obscure bugs reported by the user community. See the timeline of \ 
changes for details.
   2023-02-24 09:34:38 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
sqlite3: updated to 3.41.0

SQLite Release 3.41.0 On 2023-02-21

Query planner improvements:
Make use of indexed expressions within an aggregate query that includes a GROUP \ 
BY clause.
The query planner has improved awareness of when an index is a covering index \ 
and adjusts predicted runtimes accordingly.
The query planner is more aggressive about using co-routines rather than \ 
materializing subqueries and views.
Queries against the built-in table-valued functions json_tree() and json_each() \ 
will now usually treat "ORDER BY rowid" as a no-op.
Enhance the ability of the query planner to use indexed expressions even if the \ 
expression has been modified by the constant-propagation optimization. (See \ 
forum thread 0a539c7.)
Add the built-in unhex() SQL function.
Add the base64 and base85 application-defined functions as an extension and \ 
include that extension in the CLI.
Add the sqlite3_stmt_scanstatus_v2() interface. (This interface is only \ 
available if SQLite is compiled using SQLITE_ENABLE_STMT_SCANSTATUS.)
In-memory databases created using sqlite3_deserialize() now report their \ 
filename as an empty string, not as 'x'.
Changes to the CLI:
Add the new base64() and base85() SQL functions
Enhanced EXPLAIN QUERY PLAN output using the new sqlite3_stmt_scanstatus_v2() \ 
interface when compiled using SQLITE_ENABLE_STMT_SCANSTATUS.
The ".scanstats est" command provides query planner estimates in profiles.
The continuation prompt indicates if the input is currently inside of a string \ 
literal, identifier literal, comment, trigger definition, etc.
Enhance the --safe command-line option to disallow dangerous SQL functions.
The double-quoted string misfeature is now disabled by default for CLI builds. \ 
Legacy use cases can reenable the misfeature at run-time using the \ 
".dbconfig dqs_dml on" and ".dbconfig dqs_ddl on" commands.
Enhance the PRAGMA integrity_check command so that it detects when text strings \ 
in a table are equivalent to but not byte-for-byte identical to the same strings \ 
in the index.
Enhance the carray table-valued function so that it is able to bind an array of \ 
BLOB objects.
Added the sqlite3_is_interrupted() interface.
Long-running calls to sqlite3_prepare() and similar now invoke the progress \ 
handler callback and react to sqlite3_interrupt().
The sqlite3_vtab_in_first() and sqlite3_vtab_in_next() functions are enhanced so \ 
that they reliably detect if they are invoked on a parameter that was not \ 
selected for multi-value IN processing using sqlite3_vtab_in(). They return \ 
SQLITE_ERROR instead of SQLITE_MISUSE in this case.
The parser now ignores excess parentheses around a subquery on the right-hand \ 
side of an IN operator, so that SQLite now works the same as PostgreSQL in this \ 
regard. Formerly, SQLite treated the subquery as an expression with an implied \ 
"LIMIT 1".
Added the SQLITE_FCNTL_RESET_CACHE option to the sqlite3_file_control() API.
Makefile improvements:
The new makefile target "sqlite3r.c" builds an amalgamation that \ 
includes the recovery extension.
New makefile targets "devtest" and "releasetest" for running \ 
a quick developmental test prior to doing a check-in and for doing a full \ 
release test, respectively.
Miscellaneous performance enhancements.