Split the sqlite3_complete() API out into a separate source file so that
in static links where it is not used it will not take up space in the
resulting binary. (CVS 2594)
check-in: 62b87751 user: drh tags: trunk

Disable an overzealous optimization the omitted sorting on a join if the first
table gave a unique result. The sort can only be omitted if all tables in
the join are unique. Ticket #1358. (CVS 2589)
check-in: 4f076612 user: drh tags: trunk

Add the "!" flag to the "%g" mprintf conversion parameter to force a
decimal point. This prevents floating point values from appearing as
integers. Use this flag when converting floating point to text.
Ticket #1362. (CVS 2586)
check-in: 4b98dace user: drh tags: trunk

Optimizer now converts OR-connected WHERE-clause terms into an IN operator so
that they can be used with indices. There are known problems with the
ORDER BY optimization in this and in several prior check-ins. This
check-in is not recommended for production use. (CVS 2569)
check-in: d23c8bf8 user: drh tags: trunk

Correct the documentation to show that sqlite3_column_text() returns
a NULL pointer (not an empty string) when the column value is NULL.
The same goes for sqlite3_column_blob(). Ticket #1334. (CVS 2558)
check-in: fd1e013a user: drh tags: trunk

Split the OP_Integer opcode into OP_Integer and OP_Int64. This allows
comments to be added to OP_Integer. Cleanup in the optimizer. Allow
terms of the FROM clause to be reordered automatically. (CVS 2556)
check-in: e2f822ac user: drh tags: trunk

Allow the IN operator to take a list of arbitrary expressions on its
right-hand side. The expressions no longer need to be constant. The
current implementation seems to work but needs more testing and optimization. (CVS 2542)
check-in: ba56478d user: drh tags: trunk

NULL values in a row of a unique index cause the row to be distinct.
Ticket #1301. More testing and optimization needs to be done on this
before closing the ticket. (CVS 2526)
check-in: 06a71b16 user: drh tags: trunk