Small. Fast. Reliable.
Choose any three.
SQLite Release 3.34.1 On 2021-01-20
Prior changes from version 3.34.0 (2020-12-01):
- Added the sqlite3_txn_state() interface for reporting on the current
transaction state of the database connection.
- Enhance recursive common table expressions to support two or more
recursive terms as is done by SQL Server, since this helps make
queries against graphs easier to write and faster to execute.
- Improved error messages on CHECK constraint failures.
- CLI enhancements:
- The .read dot-command now accepts a pipeline in addition to
a filename.
- Added options --data-only and --nosys to the .dump dot-command.
- Added the --nosys option to the .schema dot-command.
- Table name quoting works correctly for the .import dot-command.
- The generate_series(START,END,STEP) table-valued function
extension is now built into the CLI.
- The .databases dot-command now shows the status of each database
file as determined by sqlite3_db_readonly() and
sqlite3_txn_state().
- Added the --tabs command-line option that sets
.mode tabs.
- The --init option reports an error if the file named as its argument
cannot be opened. The --init option also now honors the --bail option.
- Query planner improvements:
- Improved estimates for the cost of running a DISTINCT operator.
- When doing an UPDATE or DELETE using a multi-column index where
only a few of the earlier columns of the index are useful for the
index lookup, postpone doing the main table seek until after all
WHERE clause constraints have been evaluated, in case those
constraints can be covered by unused later terms of the index,
thus avoiding unnecessary main table seeks.
- The new OP_SeekScan opcode is used to improve performance of
multi-column index look-ups when later columns are constrained
by an IN operator.
- The BEGIN IMMEDIATE and BEGIN EXCLUSIVE commands now work even
if one or more attached database files are read-only.
- Enhanced FTS5 to support trigram indexes.
- Improved performance of WAL mode locking primitives in cases where
there are hundreds of connections all accessing the same database file
at once.
- Enhanced the carray() table-valued function to include a single-argument
form that is bound using the auxiliary sqlite3_carray_bind() interface.
- The substr() SQL function can now also be called "substring()" for
compatibility with SQL Server.
- The syntax diagrams are now implemented as
Pikchr scripts and rendered
as SVG for improved legibility and ease of maintenance.
Changes in this specific patch release, version 3.34.1 (2021-01-20):
- Fix a potential use-after-free bug when processing a a subquery with both
a correlated WHERE clause and a "HAVING 0" clause and where the parent
query is an aggregate.
- Fix documentation typos
- Fix minor problems in extensions.
Hashes:
- SQLITE_SOURCE_ID: 2021-01-20 14:10:07 10e20c0b43500cfb9bbc0eaa061c57514f715d87238f4d835880cd846b9ebd1f
- SHA3-256 for sqlite3.c: 799a7be90651fc7296113b641a70b028c142d767b25af1d0a78f93dcf1a2bf20
A complete list of SQLite releases
in a single page and a chronology are both also available.
A detailed history of every
check-in is available at
SQLite version control site.