| 3.51.0
| - (5) CLI enhancements:
- Increase the precision of ".timer" to microseconds.
- Enhance the "box" and "column" formatting modes to deal
with double-wide characters.
- The ".imposter" command provides read-only imposter tables
that work with VACUUM and do not require the --unsafe-testing
option.
- Add the --ifexists option to the CLI command-line option and to
the .open command.
- Limit columns widths set by the ".width" command to 30,000 or less,
as there is not good reason to have wider columns, but supporting
wider columns provides opportunity to malefactors.
| 3.47.0
| - (7) Preupdate hooks now recognize when a column added by ALTER TABLE ADD COLUMN
has a non-null default value.
- (8) Performance optimizations:
- 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.
- (14) FTS5 Changes:
- 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.
| 3.37.0
| |
|
|