Add support for renaming columns within a table using
+ ALTER TABLE table RENAME COLUMN oldname TO newname.
+
Fix table rename feature so that it also updates references
+ to the renamed table in triggers and views.
+
+
Query optimizer improvements:
+
+
Avoid unnecessary loads of columns in an aggregate query that
+ are not within an aggregate function and that are not part
+ of the GROUP BY clause.
+
The IN-early-out optimization: When doing a look-up on a
+ multi-column index and an IN operator is used on a column
+ other than the left-most column, then if no rows match against
+ the first IN value, check to make sure there exist rows that
+ match the columns to the right before continuing with the
+ next IN value.
+
Use the transitive property to try to propagate constant
+ values within the WHERE clause. For example, convert
+ "a=99 AND b=a" into "a=99 AND b=99".
+
+
Use a separate mutex on every inode in the unix VFS, rather than
+ a single mutex shared among them all, for slightly better concurrency
+ in multi-threaded environments.
+
Enhance the PRAGMA integrity_check command for improved detection
+ of problems on the page freelist.
+
Output infinity as 1e999 in the ".dump" command of the
+ command-line shell.
+
The ORDER BY LIMIT optimization might have caused an infinite loop
+ in the byte code of the prepared statement under very obscure
+ circumstances,
+ due to a confluence of minor defects in the query optimizer.
+ Fix for ticket
+ 9936b2fa443fec03ff25
+
On an UPSERT when the order of constraint checks is rearranged,
+ ensure that the affinity transformations on the inserted content
+ occur before any of the constraint checks. Fix for ticket
+ 79cad5e4b2e219dd197242e9e.
+
Avoid using a prepared statement for ".stats on" command of the
+ CLI after it has been closed by the ".eqp full" logicc. Fix for ticket
+ 7be932dfa60a8a6b3b26bcf76.
+
The LIKE optimization was generating incorrect byte-code and hence
+ getting the wrong answer
+ if the left-hand operand has numeric affinity and the right-hand-side
+ pattern is '/%' or if the pattern begins with the ESCAPE character.
+ Fix for ticket
+ c94369cae9b561b1f996d0054b
+
+
Additional changes in version 3.25.1 (2018-09-18):
+
+
Extra sanity checking added to ALTER TABLE in the 3.25.0 release
+ sometimes raises a false-positive
+ when the table being modified has a trigger that
+ updates a virtual table. The false-positive caused the ALTER
+ TABLE to rollback, thus leaving the schema unchanged.
+ Ticket b41031ea2b537237.
+
The fix in the 3.25.0 release for the endless-loop in the byte-code
+ associated with the ORDER BY LIMIT optimization did not work for
+ some queries involving window functions. An additional correction
+ is required. Ticket
+ 510cde277783b5fb
+
+
Additional changes in version 3.25.2 (2018-09-25):
+
+
Add the PRAGMA legacy_alter_table=ON command that causes the
+ "ALTER TABLE RENAME" command to behave as it did in SQLite versions 3.24.0
+ and earlier: references to the renamed table inside the bodies of triggers
+ and views are not updated. This new pragma provides a compatibility
+ work around for older programs that expected the older, wonky behavior
+ of ALTER TABLE RENAME.
+
Fix a problem with the new window functions implementation that caused
+ a malfunction when complicated expressions involving window functions were used
+ inside of a view.
+
Fixes for various other compiler warnings and minor problems associated
+ with obscure configurations.
+