mistachkin [Sat, 12 Nov 2011 03:17:40 +0000 (03:17 +0000)]
Make sure to flag benign malloc failures in the Windows VFS as such. Expand use of the DO_OS_MALLOC_TEST to cover the VFS functions that can now return an out of memory error. Support an experimental --match option to the test suite that will run only those tests matching the specified pattern.
mistachkin [Thu, 10 Nov 2011 20:21:20 +0000 (20:21 +0000)]
In winAccess, save the Win32 last error value prior to invoking user logging callback. Also, explicitly pass the Win32 last error value to winLogError in order to keep it accurate. Fixes a problem reported on the mailing list.
drh [Wed, 9 Nov 2011 18:07:34 +0000 (18:07 +0000)]
Omit an unnecessary Sleep() call in windows pending-lock retry
logic. Enhance the comment on that logic to discourage people
from copying it into other VFSes.
drh [Mon, 7 Nov 2011 13:05:23 +0000 (13:05 +0000)]
Change the default file format from 1 to 4. This means that, unless
PRAGMA legacy_file_format=ON is used first,
new databases will not be readable by versions prior to 3.3.0 (2006-01-10).
drh [Fri, 4 Nov 2011 14:36:02 +0000 (14:36 +0000)]
Update the xfer optimization code so that the xfer optimization can be used
with INTEGER PRIMARY KEY ON CONFLICT ... as long as the destination table
is initially empty. Improvements to the comments on the xfer optimization.
New test cases added.
drh [Fri, 4 Nov 2011 02:24:02 +0000 (02:24 +0000)]
Use mkdir() and rmdir() rather than open() and unlink() to create the lock
files with the unix-dotlock VFS. The change is backwards compatible and,
we are told, works better on some network filesystems.
drh [Fri, 4 Nov 2011 00:23:53 +0000 (00:23 +0000)]
Make sure the INSERT INTO ... SELECT statement works correctly even when
the destination table contains an INTEGER PRIMARY KEY ON CONFLICT... column.
Ticket [676bc02b87176125].
dan [Thu, 27 Oct 2011 15:19:58 +0000 (15:19 +0000)]
If an error occurs within sqlite3_step() on a statement prepared using sqlite3_prepare_v2(), transfer both the error code and error message to the database handle before sqlite3_step() returns (so that they are available via sqlite3_errcode() and sqlite3_errmsg(). Prior to this commit, only the error code was transfered. The error message was not available until after either sqlite3_reset() or sqlite3_finalize() had been called on the statement handle.
dan [Fri, 21 Oct 2011 14:27:32 +0000 (14:27 +0000)]
If an error occurs while writing to the database file during a VACUUM, discard the contents of the in-memory cache. This is required as if the database is a zipvfs database, the contents of the cache may be inconsistent with respect to the database as stored on disk.
dan [Wed, 19 Oct 2011 11:57:13 +0000 (11:57 +0000)]
Change the way ^ tokens work in FTS so that the filtering is done as part of reading the FTS index instead of waiting until an entire doclist has been retrieved and then filtering it.
drh [Sat, 15 Oct 2011 00:16:30 +0000 (00:16 +0000)]
Added the tool/warnings-clang.sh script. Changes so that there are no
warnings with either gcc or clang even including FTS4 and RTREE and
both with and without SQLITE_THREADSAFE=0.
drh [Fri, 14 Oct 2011 21:49:18 +0000 (21:49 +0000)]
Add assert() statements and eliminate needless variable assignments in order
to get the clang scan-build utility to report zero problems against the
SQLite core. Clang's static analysis did find one real problem - but it was
in the command-line shell, not in the SQLite core.
drh [Thu, 13 Oct 2011 18:00:11 +0000 (18:00 +0000)]
Simplifications to the upper() and lower() SQL functions.
Updates to documentation on sqlite3_bind_text() and sqlite3_result_text()
to make it clear that users should not try to create strings with
embedded NULs and that if they do the result of expression on those strings
is undefined. Ticket [57c971fc74524a]
drh [Thu, 13 Oct 2011 16:30:13 +0000 (16:30 +0000)]
Change the command-line shell to do the ".dump" inside of a SAVEPOINT
rather than a transaction, since this allows it to be run from within
a transaction.
drh [Thu, 13 Oct 2011 13:34:04 +0000 (13:34 +0000)]
Do the ".dump" command inside of a transaction to prevent other processes
from modifying the database while the dump is underway.
Ticket [2466653295e65]
drh [Thu, 13 Oct 2011 00:41:49 +0000 (00:41 +0000)]
If errors are encountered while processing the ".dump" command in the
command-line shell, print error messages as comments in the output and
ROLLBACK at the end rather than committing.
Ticket [ee19e690ec9a5a2]
drh [Thu, 13 Oct 2011 00:11:36 +0000 (00:11 +0000)]
Be sure to allocate plenty of space for error messages coming out of
sqlite3_load_extension(), so that filenames and procedure names are
not truncated. Ticket [7d32c69b50f89d]
drh [Tue, 11 Oct 2011 17:54:54 +0000 (17:54 +0000)]
Remove all precision and width limits from formatting fields in the
sqlite3_mprintf() family of functions. Malloc for space as necessary.
The prevents a stack overflow on very large numbers using %f.
drh [Fri, 7 Oct 2011 23:52:25 +0000 (23:52 +0000)]
Change the ANALYZE command so that it no longer tried to delete unused
sqlite_stat2 and sqlite_stat3 tables. Change the DROP TABLE command so
that it is able to drop those tables.
drh [Fri, 7 Oct 2011 13:33:10 +0000 (13:33 +0000)]
Begin an effort to enhance the query planner to do a better job with OR terms
in the WHERE clause. This change allows ANDs outside of the OR to be factored
into the OR terms if that is helpful in finding better indices.
drh [Wed, 5 Oct 2011 15:26:13 +0000 (15:26 +0000)]
When finding the appropriate file permissions for journal files with
SQLITE_ENABLE_8_3_NAMES, ignore "-" characters in the name of the
containing directory.
dan [Wed, 5 Oct 2011 15:11:30 +0000 (15:11 +0000)]
Change FTS4 so that if both the content=xxx option and column names are specified, the virtual table assumes that the named columns correspond to columns of table xxx.
dan [Tue, 4 Oct 2011 16:37:35 +0000 (16:37 +0000)]
Add tests to check that modifying the schema of an FTS content table does not cause a crash in the FTS module. Also disable the deferred token optimization for content=xxx FTS tables.