SQLite Release 3.27.1 On 2019-02-08
En esta página
SQLite Release 3.27.1 On 2019-02-08#
Prior changes from version 3.27.0 (2019-02-07):
- Added the VACUUM INTO command
- Issue an SQLITE_WARNING message on the error log if a double-quoted string literal is used.
- The sqlite3_normalized_sql() interface works on any prepared statement created using sqlite3_prepare_v2() or sqlite3_prepare_v3(). It is no longer necessary to use sqlite3_prepare_v3() with SQLITE_PREPARE_NORMALIZE in order to use sqlite3_normalized_sql().
- Added the remove_diacritics=2 option to FTS3 and FTS5.
- Added the SQLITE_PREPARE_NO_VTAB option to sqlite3_prepare_v3(). Use that option to prevent circular references to shadow tables from causing resource leaks.
- Enhancements to the sqlite3_deserialize() interface:
- Add the SQLITE_FCNTL_SIZE_LIMIT file-control for setting an upper bound on the size of the in-memory database created by sqlite3_deserialize. The default upper bound is 1GiB, or whatever alternative value is specified by sqlite3_config(SQLITE_CONFIG_MEMDB_MAXSIZE) and/or SQLITE_MEMDB_DEFAULT_MAXSIZE.
- Honor the SQLITE_DESERIALIZE_READONLY flag, which was previously described in the documentation, but was previously a no-op.
- Enhance the "deserialize" command of the TCL Interface to give it new "--maxsize N" and "--readonly BOOLEAN" options.
- Enhancements to the CLI, mostly to support testing and debugging of the SQLite library itself:
- Add support for ".open --hexdb". The "dbtotxt" utility program used to generate the text for the "hexdb" is added to the source tree.
- Add support for the "--maxsize N" option on ".open --deserialize".
- Add the "--memtrace" command-line option, to show all memory allocations and deallocations.
- Add the ".eqp trace" option on builds with SQLITE_DEBUG, to enable bytecode program listing with indentation and PRAGMA vdbe_trace all in one step.
- Add the ".progress" command for accessing the sqlite3_progress_handler() interface.
- Add the "--async" option to the ".backup" command.
- Add options "--expanded", "--normalized", "--plain", "--profile", "--row", "--stmt", and "--close" to the ".trace" command.
- Increased robustness against malicious SQL that is run against a maliciously corrupted database. Bug fixes:
- Do not use a partial index to do a table scan on an IN operator. Ticket 1d958d90596593a774.
- Fix the query flattener so that it works on queries that contain subqueries that use window functions. Ticket 709fcd17810f65f717
- Ensure that ALTER TABLE modifies table and column names embedded in WITH clauses that are part of views and triggers.
- Fix a parser bug that prevented the use of parentheses around table-valued functions.
- Fix a problem with the OR optimization on indexes on expressions. Ticket d96eba87698a428c1d.
- Fix a problem with the LEFT JOIN strength reduction optimization in which the optimization was being applied inappropriately due to an IS NOT NULL operator. Ticket 5948e09b8c415bc45d.
- Fix the REPLACE command so that it is no longer able to sneak a NULL value into a NOT NULL column even if the NOT NULL column has a default value of NULL. Ticket e6f1f2e34dceeb1ed6
- Fix a problem with the use of window functions used within correlated subqueries. Ticket d0866b26f83e9c55e3
- Fix the ALTER TABLE RENAME COLUMN command so that it works for tables that have redundant UNIQUE constraints. Ticket bc8d94f0fbd633fd9a
- Fix a bug that caused zeroblob values to be truncated when inserted into a table that uses an expression index. Ticket bb4bdb9f7f654b0bb9
Changes in this specific patch release, version 3.27.1 (2019-02-08):
- Fix a bug in the query optimizer: an adverse interaction between the OR optimization and the optimization that tries to use values read directly from an expression index instead of recomputing the expression. Ticket 4e8e4857d32d401f Hashes:
- SQLITE_SOURCE_ID: 2019-02-08 13:17:39 0eca3dd3d38b31c92b49ca2d311128b74584714d9e7de895b1a6286ef959a1dd
- SHA3-256 for sqlite3.c: 11c14992660d5ac713ea8bea48dc5e6123f26bc8d3075fe5585d1a217d090233
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.