Enhancements to the Lemon parser generator
+ so that it creates a smaller and faster SQL parser.
+
Only create master journal files if two or more attached databases are all
+ modified, do not have PRAGMA synchronous set to OFF, and
+ do not have the journal_mode set to OFF, MEMORY, or WAL.
+
The query planner is able to optimize IN operators on virtual tables
+ even if the xBestIndex method does not set the
+ sqlite3_index_constraint_usage.omit flag of the
+ virtual table column to the left of the IN operator.
+
The query planner now does a better job of optimizing virtual table
+ accesses in a 3-way or higher join where constraints on the virtual
+ table are split across two or more other tables of the join.
+
More efficient handling of application-defined SQL functions, especially
+ in cases where the application defines hundreds or thousands of
+ custom functions.
+
The query planner considers the LIMIT clause when estimating the cost
+ of ORDER BY.
+
The configure script (on unix) automatically detects
+ pread() and pwrite() and sets compile-time options to use those OS
+ interfaces if they are available.
+
Reduce the amount of memory needed to hold the schema.
+
Other miscellaneous micro-optimizations for improved performance and reduced
+ memory usage.
+
Enhanced the ".stats" command in the command-line shell to show more
+ information about I/O performance obtained from /proc, when available.
+
Bug fixes:
+
Make sure the sqlite3_set_auxdata() values from multiple triggers
+ within a single statement do not interfere with one another.
+ Ticket dc9b1c91.
+
Fix the code generator for expressions of the form "x IN (SELECT...)" where
+ the SELECT statement on the RHS is a correlated subquery.
+ Ticket 5e3c886796e5512e.
+
Additional changes in version 3.12.1 (2016-04-08):
+
+
Fix a boundary condition error introduced by version 3.12.0
+ that can result in a crash during heavy SAVEPOINT usage.
+ Ticket 7f7f8026eda38.
+
Fix views so that they inherit column datatypes from the
+ table that they are defined against, when possible.
+
Fix the query planner so that IS and IS NULL operators are able
+ to drive an index on a LEFT OUTER JOIN.
+
+
Additional changes in version 3.12.2 (2016-04-18):
+
+
Fix a backwards compatibility problem in version 3.12.0 and 3.12.1:
+ Columns declared as "INTEGER" PRIMARY KEY (with quotes around
+ the datatype keyword) were not being recognized as an
+ INTEGER PRIMARY KEY, which resulted in an incompatible database file.
+ Ticket 7d7525cb01b68
+
Fix a bug in the code generator that can cause incorrect results if
+ two or more virtual tables are joined and the virtual table used in
+ outer loop of the join has an IN operator constraint.
+
Correctly interpret negative "PRAGMA cache_size" values when determining
+ the cache size used for sorting large amounts of data.
+