A subquery in the result set of a SELECT should be able to look into outer
queries to find variable references. But a subquery in the FROM clause
should not be able to do this. Ticket #3530. (CVS 5998)
check-in: be03fa05 user: drh tags: trunk

Make sure the KeyInfo object attached to a transient table used for
sorting records the sqlite3 object used for memory allocation, so that
memory allocation failures on UTF16 to UTF8 conversion can be recorded. (CVS 5987)
check-in: 76246d9f user: drh tags: trunk

Make use of sqlite3DbMallocSize to maximize the size of growable buffers
after each reallocation. Added new comments and testcase() macros to
where.c. (CVS 5981)
check-in: 46f2d089 user: drh tags: trunk

Always enable the OP_Blob opcode in the VDBE even when
SQLITE_OMIT_BLOB_LITERAL is defined, since that opcode is used for other
purposes as well. Ticket #3518. (CVS 5974)
check-in: 760333de user: drh tags: trunk

Continuing work on the os_unix.c refactoring. Removed all of the
LOCKING_STYLE_* constants and instead pass around pointers to the
underlying sqlite3_io_method objects. (CVS 5966)
check-in: 1017d2fb user: drh tags: trunk

First step in refactoring os_unix.c. This is work in progress. The code
compiles and runs on Linux and MacOSX (as long as SQLITE_ENABLE_LOCKING_STYLE
is turned off), but there are a few test failures. (CVS 5965)
check-in: 7825cd63 user: drh tags: trunk

Work toward cleaning up and refactoring the os_unix.c VFS module.
Change IS_VXWORKS to OS_VXWORKS. The VxWorks implementation can now
be built and tested on Linux using -DOS_VXWORKS=1 -Dsem_t=int -DPATH_MAX=512 -DNO_GETTOD=1. (CVS 5942)
check-in: 30a0132a user: drh tags: trunk

Fix the OOM handling for explain statements so that it is the same as for regular statements if the OOM error occurs from within a call to sqlite3_column_text() or text16(). (CVS 5941)
check-in: 891b14e1 user: danielk1977 tags: trunk

Fix a segfault that can be caused by an INSTEAD OF trigger on a view that includes an expression of the form "table.column" in the select list. (CVS 5940)
check-in: 88a09dbb user: danielk1977 tags: trunk

Modify a failing test case in corruptC.test. The test case was failing only because the integrity_check was returning a slightly different error message than expected. (CVS 5891)
check-in: 0953f300 user: danielk1977 tags: trunk

Make sure affinities and implicit collation sequences are correctly used by comparison expressions in the select-list or having clause of an aggregate query. Ticket #3493. (CVS 5889)
check-in: b8ceaa00 user: danielk1977 tags: trunk

When an assignment occurs in a boolean, always test the result using "!=0"
to avoid confusion and make it clear that assignment is intended, not
an equality test. Ticket #3491. (CVS 5879)
check-in: 89ee5295 user: drh tags: trunk

Fix the CLI so that it does not terminate input when an Oracle or MS-SQL
command terminator mark is seen in the middle of a string literal.
Ticket #3490. (CVS 5878)
check-in: 68662e3b user: drh tags: trunk

Add the sqlite3_extended_errcode() interface. Change to return
SQLITE_BUSY instead of SQLITE_ERROR when a COMMIT is attempted and one
or more queries are still pending. (CVS 5850)
check-in: 4c6a90a1 user: drh tags: trunk

If a hot-journal file is detected but the application does not have the required read/write permissions, return SQLITE_CANTOPEN. Prior to this change, SQLITE_BUSY was returned. Ticket #3457. (CVS 5849)
check-in: dc5308c7 user: danielk1977 tags: trunk

Disable the result-set alias cache when on conditional code branches.
Ticket #3461. The column cache and result set alias cache mechanisms are
prone to this kind of error and need to be refactored. This check-in should
be considered a temporary fix in advance of a more general redesign of the
whole mechanism. (CVS 5841)
check-in: 1fa3bbd8 user: drh tags: trunk

In rollback.test, do not check for journal deletion if the journal mode
is not DELETE. Call show_memstats after each test module in all.test
and quick.test. (CVS 5814)
check-in: df2c28dc user: drh tags: trunk

If sqlite3_column_value() is called to obtain a value with the MEM_Static flag set, clear it and set the MEM_Ephem flag before returning. Otherwise, if the value is passed to sqlite3_bind_value() or sqlite3_result_value(), sqlite may attempt to use the buffer after the statement has been finalized. This is not always valid, as MEM_Static only guarantees that a MEM.z buffer will be valid for the lifetime of the owner statement, not that it is actually a static buffer. (CVS 5812)
check-in: b055bfc4 user: danielk1977 tags: trunk