drh [Sat, 14 Jan 2012 00:42:40 +0000 (00:42 +0000)]
In the multiplexor routine that determines the size of an overflow file,
return 0 and leave the error code unchanges if there were prior errors.
This prevents some I/O errors from going unreported in nx-devkit tests.
drh [Fri, 13 Jan 2012 15:50:02 +0000 (15:50 +0000)]
Update the documentation for the sqlite3_uri_*() routines to make it clear
that there argument must be a database filename passed into xOpen().
No changes to code.
dan [Wed, 11 Jan 2012 11:20:42 +0000 (11:20 +0000)]
Fix the sqlite3_quota_file() function in test_quota.c so that it adds the second nul-terminator to all file names that will be passed to a VFS xOpen method.
mistachkin [Wed, 11 Jan 2012 01:01:02 +0000 (01:01 +0000)]
Prevent winOpenSharedMemory from masking the real return code from its call to winOpen. Also, add asserts to check the double-zero termination of database file names.
drh [Tue, 10 Jan 2012 23:18:38 +0000 (23:18 +0000)]
Only require double-zero terminators on database filenames, not any every
files supplied to the xOpen method. This backs out [2544f233f1]. Also
refactor the fillInUnixFile() routine in os_unix.c to reduce the number
of parameters.
dan [Tue, 10 Jan 2012 17:28:10 +0000 (17:28 +0000)]
Avoid passing strings with a single nul-terminator (two are required) to the VFS xOpen() method from within the code that checks to see if a master-journal file may be safely deleted.
dan [Tue, 10 Jan 2012 16:56:39 +0000 (16:56 +0000)]
Add function sqlite3OsFileControlNoFail(), which is the same as sqlite3OsFileControl() except that it does not simulate OOM errors. This saves adding calls to the BenignMalloc() functions around each of the invocations of sqliteOsFileControl() that ignore the return code.
drh [Tue, 10 Jan 2012 00:24:59 +0000 (00:24 +0000)]
Remove the BenignMalloc() from around the call to FCNTL_OVERWRITE. Add
new ones around sqlite3OsDelete(). Fix an assert that causes problems for
the nx-devkit.
dan [Mon, 9 Jan 2012 11:37:34 +0000 (11:37 +0000)]
Have test_multiplex.c add a second nul-terminator byte to the strings that it passes to the xOpen method of the underlying VFS, in case that VFS passes the string to sqlite3_uri_parameter() or similar.
drh [Sat, 7 Jan 2012 15:17:18 +0000 (15:17 +0000)]
Fix a bug in lemon in computation of which non-terminals can generate an
empty string. This bug and the fix make absolutely no difference for the
grammar used by SQLite, but it can make a difference when lemon is used
in other grammars.
drh [Thu, 5 Jan 2012 23:32:06 +0000 (23:32 +0000)]
Combine various boolean variables in the BtShared structure into a single
boolean vector. Also make performance improvement simplifications to
sqlite3BtreeMovetoUnpacked().
drh [Thu, 5 Jan 2012 21:19:54 +0000 (21:19 +0000)]
Make sure the name of the shared memory file has two zero-terminators in the
UNIX VFS, so that sqlite3_uri_parameter() will work correctly on that name.
drh [Thu, 5 Jan 2012 16:07:30 +0000 (16:07 +0000)]
Change the unix VFS so that it ignores all but the least-significant bit
of the syncDir flag to xDelete. Add an assert to prove that the core only
ever uses that one bit.
drh [Mon, 2 Jan 2012 18:20:14 +0000 (18:20 +0000)]
Remove the code that attempts to find the sector size from the OS and
hardcode the xSectorSize methods of the unix and windows VFSes to return
SQLITE_DEFAULT_SECTOR_SIZE, which is now set to 4096 unless overridden.
drh [Fri, 30 Dec 2011 15:17:47 +0000 (15:17 +0000)]
Update the text of requirements associated with sqlite3_pcache_methods2.
Update requirements marks embedded in code. All of the above are comment
changes only; there are no changes to code in this check-in.
drh [Fri, 23 Dec 2011 00:07:33 +0000 (00:07 +0000)]
Add interfaces sqlite3_uri_boolean() and sqlite3_uri_int64() which are
wrappers around sqlite3_uri_parameter() combined with internal routines for
converting strings to booleans and 64-bit integers.
drh [Thu, 22 Dec 2011 17:10:35 +0000 (17:10 +0000)]
Check the return code from sqlite3_initialize() called from within
sqlite3_soft_heap_limit64() and return an error from sqlite3_soft_heap_limit64()
if sqlite3_initialize() fails.
drh [Wed, 21 Dec 2011 14:42:29 +0000 (14:42 +0000)]
Add the ability to enable or disable SQLITE_IOCAP_ZERO_DAMAGE using a URI
parameter for both unix and windows. Add a file-control to query or disable
the ZERO_DAMAGE setting. Add the -uri option to the "sqlite3" TCL command
in tclsqlite3.c. Allow the sqlite3_uri_parameter() interface to accept a
NULL pointer for its first parameter.
drh [Tue, 20 Dec 2011 20:13:25 +0000 (20:13 +0000)]
Refactor the sqlite3WalFrames() routine for clarity of presentation.
Do the padded transaction sync as the write pointer crosses the final
sector boundary instead of at the end, for efficiency. Always sync
the WAL header immediately after it is written.
drh [Sat, 17 Dec 2011 19:49:02 +0000 (19:49 +0000)]
Add SQLITE_IOCAP_ZERO_DAMAGE and enable it for both unix and windows. Use
this device characteristic to reduce the required work in journaling.
A side effect is that this changes the default page exists back to 1024
even with the use of statvfs().
drh [Sat, 17 Dec 2011 13:45:28 +0000 (13:45 +0000)]
Merge in changes that cause the first sector of the WAL file to be synced
when the WAL restarts. This is a fix for the power-loss corruption
problem described in ticket [ff5be73dee086]
drh [Fri, 16 Dec 2011 15:38:52 +0000 (15:38 +0000)]
Merge the fix for [a1fa75cbdd02] from the experimental branch. Also
fix the persistent-wal mode feature of truncating the WAL on close so that
it always truncates the WAL to zero bytes.