*** DRAFT ***
SQLite Release 3.34.0 On 2020-12-04
- 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
- 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 show the status of each database
file as determined by sqlite3_db_readonly() and
- Added the --tabs command-line option that sets
- 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
- 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.
- SQLITE_SOURCE_ID: pending
- SHA3-256 for sqlite3.c: pending
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.
*** DRAFT ***