 
Small. Fast. Reliable.
Choose any three.
 
SQLite Release 3.27.1 On 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
Changes carried forward 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
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.