/ Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

9764 ancestors of 21695c3476804477

2012-02-02
19:37
Reduce the size of the MemPage object by about 32 bytes. Other structure size optimizations. (check-in: 21695c34 user: drh tags: trunk)
18:46
When non-aggregate columns occur in an aggregate query with a single min() or max(), then the values of the non-aggregate columns are taken from one of the rows that was the min() or max(). (check-in: fa13edd3 user: drh tags: trunk)
18:42
Fix a problem with NULL handling in aggregate min/max when returning values from the row containing the min or max. (Closed-Leaf check-in: f27c7b4f user: drh tags: output-minmax-row)
17:35
For queries of the form "SELECT p, max(q) FROM t1", the value of column p returned is the one on the same row that holds the maximum value of q. (check-in: adb29232 user: drh tags: output-minmax-row)
15:50
Data structure cleanup. Remove unused fields. Rearrange other files for tighter packing and reduced memory usage. (check-in: 0bc594e8 user: drh tags: trunk)
03:38
Simplified array allocation in the IdList and AggInfo objects. (check-in: 25df2a74 user: drh tags: trunk)
03:11
Fix a possible segfault after an OOM fault. This has been in the code for ages but only expressed itself following the previous check-in. (check-in: a3553b8a user: drh tags: trunk)
01:58
Remove the nAlloc field from the ExprList object. (check-in: 5963de30 user: drh tags: trunk)
2012-02-01
19:03
Very small performance enhancement and reduction in size of the sqlite3_stmt object. (check-in: a38d57a4 user: drh tags: trunk)
01:13
Fix ALTER TABLE RENAME so that it correctly handles triggers that attach to the table using the name in a different case. Ticket [ae6794effd404]. (check-in: 0d78ebb8 user: drh tags: trunk)
2012-01-31
23:34
Fix a compiler warning in FTS4. (check-in: b4cad1ce user: drh tags: trunk)
14:24
Futher pedantic fixes to the sqlite3_uri_boolean() interface. (check-in: 77b3430d user: drh tags: trunk)
13:35
Improvements to the documentation for sqlite3_uri_boolean(). (check-in: b0a16179 user: drh tags: trunk)
05:11
Change a comment in test script backup.test. (check-in: 313546b4 user: dan tags: trunk)
2012-01-30
18:40
Bring the documentation and implementation of sqlite3_uri_boolean() into closer agreement. Ticket [5f41597f7c9c] (check-in: 7b053d69 user: drh tags: trunk)
18:00
Fix compiler warnings in the TCL test harness. (check-in: c4cd38a0 user: drh tags: trunk)
16:02
Do not rely on the _WIN32_WINNT macro as vs2005 does not define it by default. Instead, always assume winNT unless the makefile explicitly sets SQLITE_OS_WINNT=0. (check-in: 1ce4d21d user: drh tags: trunk)
2012-01-28
21:08
Update the .dump command of the command-line shell so that it (1) avoids putting the semicolon of a DDL statement on the same line as a comment, (2) avoids long expression, even when dumping a table with many columns, and (3) avoids unnecessary quoting of the table name. This fixes tickets [c04a8b8a4f] and [232637c465]. Shell change only; no changes to the SQLite core. (check-in: e6eea8d5 user: drh tags: trunk)
19:44
Remove a couple of unnecessary nonterminals from the grammar. (check-in: 2b2a7d8d user: drh tags: trunk)
19:41
Add support for IF NOT EXISTS on CREATE VIRTUAL TABLE. (check-in: 230983e8 user: drh tags: trunk)
15:26
Update the version number to 3.7.11 and rerun autoconf. (check-in: 6f9b265d user: drh tags: trunk)
15:22
Add support for multiple rows of VALUES in an INSERT statement. (check-in: eb3b6a0c user: drh tags: trunk)
2012-01-25
20:43
Only invalidate the schema when the OP_ParseSchema opcode fails, not on any general failure of a vdbe program. (check-in: 11f68d99 user: drh tags: trunk)
16:29
Fix an FTS problem triggered by querying for an N character prefix using an N+1 character prefix index after rows have been deleted from the FTS table. Fix for [edb497982c]. (check-in: c05c3fd2 user: dan tags: trunk)
2012-01-24
10:08
Changes to the async-io module so that the xFileControl method returns SQLITE_NOTFOUND when a file-control is not recognized and so that it adds the second nul-terminator byte to filenames passed to the xOpen method of the underlying VFS. (check-in: 7036886e user: dan tags: trunk)
2012-01-19
16:57
Make the use and function of SQLITE_DYNAMIC clearer. Add assert() statement to help ensure that SQLITE_DYNAMIC is not misused. (check-in: ab80f2c3 user: drh tags: trunk)
2012-01-18
18:22
Avoid overriding the malloc_usable_size symbol using the C preprocessor as this might be confusing the build on some systems. (check-in: bbaec351 user: drh tags: trunk)
12:46
Add the SQLITE_WITHOUT_MSIZE and SQLITE_WITHOUT_ZONEMALLOC macros in mem1.c to disable the use of _msize() on windows and the zone memory allocator on Apple products, respectively. (check-in: 238e35a4 user: drh tags: trunk)
01:14
Remove a redundant assignment from the VM. (check-in: d0dabe2f user: drh tags: trunk)
01:09
Fix typo in comment. (check-in: 199edb68 user: mistachkin tags: trunk)
2012-01-17
15:29
Remove the undocumented PRAGMA omit_readlock hack. (check-in: 96900c47 user: drh tags: trunk)
2012-01-16
16:56
Enhance the command-lin shell to interpret CSV files as described by the wikipedia article on CSV. (check-in: 93aa17d8 user: drh tags: trunk)
16:39
Test the fts4 content and prefix options together. (check-in: de11cd5c user: dan tags: trunk)
13:28
Version 3.7.10 (check-in: ebd01a8d user: drh tags: trunk, release, version-3.7.10)
13:00
Rebuild the configure script using autoconf 2.68 since autoconf 2.65 (previously used) appears to build incorrect scripts for Mac. (check-in: 9da1cd0a user: drh tags: trunk)
2012-01-14
03:34
Make sure the EXTERN macro is properly defined when building targets that require it (e.g. on MinGW). (check-in: 88ad2f23 user: mistachkin tags: trunk)
00:42
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. (check-in: 6da0821a user: drh tags: trunk)
2012-01-13
16:48
Fix documentation typos. No changes to code. (check-in: 0b857613 user: drh tags: trunk)
16:16
Add the -uri option to the usage comment that is printed by the "sqlite3" TCL command when an unknown command-line option is supplied. (check-in: 7987e285 user: drh tags: trunk)
15:50
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. (check-in: 08230a3a user: drh tags: trunk)
15:21
Fix backup2.test so that it passes on OpenBSD (which produces a slightly different error message in one case). (check-in: 227cfe11 user: dan tags: trunk)
14:50
Do not throw an error from within test_journal.c if a database file size is not an integer multiple of the page-size. (check-in: 3f4899a9 user: dan tags: trunk)
10:51
Omit test file zerodamage.test from the inmemory_journal permutation. (check-in: 0c0051b1 user: dan tags: trunk)
10:04
Fix test case issues related to errors in file-controls and the PSOW flag. (check-in: 5afbcd49 user: dan tags: trunk)
2012-01-12
16:41
Fix issues in test cases so that they work with DEFAULT_AUTOVACUUM defined. And with a small default cache-size. (check-in: a298465c user: dan tags: trunk)
15:05
Fix typos in a testcase() macro introduced by the previous commit. (check-in: 0467742f user: dan tags: trunk)
14:25
Remove some assert() statements that can fail with corrupt databases. (check-in: 7654ae71 user: dan tags: trunk)
2012-01-11
16:16
Remove code made unreachable by the enhancement of the previous check-in. (check-in: 9e31a275 user: drh tags: trunk)
15:47
Make the pager less vulnerable to problems caused by shifting sector sizes when rolling back a hot journal. (check-in: 629108c8 user: drh tags: trunk)
11:20
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. (check-in: 3013f9a6 user: dan tags: trunk)
01:01
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. (check-in: 93a65776 user: mistachkin tags: trunk)
00:38
Make sure filenames handed to the VFS by the fake_big_file test procedure are double-zero terminated. (check-in: d0a86860 user: drh tags: trunk)
2012-01-10
23:18
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. (check-in: cb774b26 user: drh tags: trunk)
17:59
Refactor sqlite3OsFileControlNoFail() into sqlite3FileControlHint(). (check-in: 722735a4 user: drh tags: trunk)
17:28
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. (check-in: 2544f233 user: dan tags: trunk)
16:56
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. (check-in: af59b182 user: dan tags: trunk)
16:40
Check the return code from sqlite3OsFileControl() in sqlite3BtreeCopyFile() and report any errors that it generates. (check-in: 7f852ac6 user: drh tags: trunk)
00:24
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. (check-in: 38bc4236 user: drh tags: trunk)
2012-01-09
14:19
Cosmetic changes to lemon. No changes to core functionality nor impact on SQLite. (check-in: 393fc78a user: drh tags: trunk)
13:41
Make sure the multiplexor does not create unnecessary overflow files. (check-in: 12386197 user: drh tags: trunk)
11:37
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. (check-in: 12f5b8c9 user: dan tags: trunk)
2012-01-08
22:18
Fix typos in commands. Combine the ExpandBlob and expandBlob macros into one. (check-in: fc9179e1 user: drh tags: trunk)
12:32
Make sure the shared-memory filename sythesized by os_win.c is double-zero terminated, so that it can be used with sqlite3_uri_parameter(). (check-in: 429380f9 user: drh tags: trunk)
00:54
Fix harmless compiler warning seen with MSVC. (check-in: 9612bcd6 user: mistachkin tags: trunk)
2012-01-07
15:17
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. (check-in: ce32775b user: drh tags: trunk)
2012-01-06
13:58
Add missing finish_test to the end of the zerodamage.test module. Disable the zerodamage module if virtual tables are omitted from the build. (check-in: d2a5685b user: drh tags: trunk)
2012-01-05
23:32
Combine various boolean variables in the BtShared structure into a single boolean vector. Also make performance improvement simplifications to sqlite3BtreeMovetoUnpacked(). (check-in: 11949331 user: drh tags: trunk)
21:19
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. (check-in: 3d088ba5 user: drh tags: trunk)
18:33
Fix an incorrect assert() on the sqlite3FileSuffix3() function. (check-in: 24db54bd user: drh tags: trunk)
16:07
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. (check-in: e75fd3b2 user: drh tags: trunk)
12:38
Ensure 8-byte alignment of Index.aiRowEst elements even if the size of an Index object is not a multiple of 8 bytes. (check-in: 1378f905 user: drh tags: trunk)
11:43
Remove the SQLITE_FCNTL_SYNC_OMITTED cases from the unix and windows VFSes as they are no longer needed because of check-in [fd3822f1f2]. (check-in: 7cf568a1 user: drh tags: trunk)
2012-01-04
12:57
Fix typos and comments and make minor changes to a few function names, as suggested by readership. (check-in: e9d05cbb user: drh tags: trunk)
2012-01-03
14:50
Make sure filenames passed into sqlite3OsOpen() always have the extra zero-terminators needed by sqlite3_uri_parameter(). (check-in: d73e93cf user: drh tags: trunk)
2012-01-02
18:20
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. (check-in: 03d8362c user: drh tags: trunk)
18:00
Change page quantities in pcache1.c to unsigned. (check-in: da52e6e8 user: drh tags: trunk)
16:38
Remove an incorrect assert() in btree.c. (check-in: c1691d99 user: drh tags: trunk)
15:45
Make sure large negative arguments to PRAGMA cache_size do not cause 32-bit signed integer overflow. Also correct a requirements mark. (check-in: 17c30634 user: drh tags: trunk)
14:50
Have SQLITE_FCNTL_SYNC_OMITTED use the normal method of returning an error code. (check-in: fd3822f1 user: dan tags: trunk)
12:41
Fix the build so that it works when SQLITE_ENABLE_8_3_NAMES=1. (check-in: d9761f15 user: drh tags: trunk)
2012-01-01
13:58
Tweaks to improve testability. (check-in: e3a929e4 user: drh tags: trunk)
2011-12-31
21:51
Fix typos in comments. No changes to code. (check-in: 6827338e user: drh tags: trunk)
10:18
Add calls to the BenignMalloc() functions around the SQLITE_FCNTL_OVERWRITE call in backup.c. (check-in: 3e0833db user: dan tags: trunk)
2011-12-30
18:16
Add calls to the BenignMalloc() functions around the SQLITE_FCNTL_SIZE_HINT call in pager.c. (check-in: c17a3f5e user: dan tags: trunk)
16:16
Fix a typo in the documentation for PCACHE2. No changes to code. (check-in: 46e7903a user: drh tags: trunk)
16:09
Change dbstatus.test to account for the fact that the value reported by DBSTATUS_SCHEMA_USED may be slightly lower than the actual memory used on osx (check-in: 6f2010c8 user: dan tags: trunk)
16:07
Fix up requirements marks for syntax diagrams to reflect the new and improved GIF renderings. (check-in: 1bb23a3b user: drh tags: trunk)
15:17
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. (check-in: f945c41a user: drh tags: trunk)
11:43
Hold the database handle mutex for the duration of sqlite3_db_release_memory(). (check-in: eeaf2988 user: dan tags: trunk)
10:54
Minor changes to fix compilation with SQLITE_OMIT_WAL and SQLITE_OMIT_WSD defined. (check-in: 26a513a8 user: dan tags: trunk)
09:00
Change an implicit i64-to-int cast in pager.c to an explicit cast. (check-in: 6a71ba9c user: dan tags: trunk)
05:08
Fix some typos in comments. No code changes. (check-in: 4edc5994 user: dan tags: trunk)
2011-12-23
20:49
Documentation updates. No changes to code. (check-in: a8a1a639 user: drh tags: trunk)
13:32
Avoid excess syncs when padding a transaction in a WAL. (check-in: 1f24ae71 user: drh tags: trunk)
02:07
Merge the POWERSAFE_OVERWRITE features and the use of statvfs() from the statvfs branch into trunk. (check-in: 2370d70e user: drh tags: trunk)
01:04
Change the name ZERO_DAMAGE to the more descriptive POWERSAFE_OVERWRITE. The query parameter used to control this device characteristic is now "psow". (Closed-Leaf check-in: 6191c5e4 user: drh tags: statvfs)
00:25
Merge the latest trunk changes into the statvfs branch. (check-in: d5e36327 user: drh tags: statvfs)
00:07
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. (check-in: 83d26b9a user: drh tags: trunk)
2011-12-22
17:31
Fix minor issues with FTS and RTREE discovered by coverity. (check-in: 1c27d842 user: drh tags: trunk)
17:10
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. (check-in: 676acce2 user: drh tags: trunk)
15:30
Fix a problem in fts3_write.c causing stack memory to be referenced after it is out of scope. (check-in: f9c4a7c8 user: dan tags: trunk)
02:10
Merge recent trunk changes into the statvfs branch. (check-in: 995ec8a4 user: drh tags: statvfs)
01:46
Remove a redundant assignment operator. (check-in: 19a6852a user: drh tags: statvfs)
2011-12-21
18:04
Fix other problems where 32-bit integer overflow may cause a problem. Two that require an improbably large sub-journal and two in test harness code. Ticket [ac0ff496b7e2] (check-in: c723e3e1 user: dan tags: trunk)
17:00
Avoid 32-bit overflow when calculating the byte offset of an overflow page in SQLITE_DIRECT_OVERFLOW_READ code. Fix for [ac0ff496b7]. (check-in: c5256b59 user: dan tags: trunk)
14:42
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. (check-in: c83627b7 user: drh tags: statvfs)
2011-12-20
22:18
Remove the code that tries to detect OOO header writes on a WAL recovery. The code is made obsolete by syncing the WAL header. (check-in: 7ac713a1 user: drh tags: statvfs)
20:13
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. (check-in: 92c73b42 user: drh tags: statvfs)
13:13
Assert that the isCommit parameter to sqlite3WalFrames() is zero if and only if the nTruncate parameter is zero. (check-in: 979daf92 user: drh tags: trunk)
2011-12-19
15:46
Add test for WAL mode to unixexcl.test. (check-in: 4d518bd4 user: dan tags: trunk)
11:57
Merge [21b76af6ed] into statvfs branch. (check-in: e694f7b1 user: dan tags: statvfs)
11:16
Fix a couple of test cases to account for the master-journal name related change in [cf3bccc2]. (check-in: 21b76af6 user: dan tags: trunk)
10:07
Modify test cases to account for the ZERO_DAMAGE change. (check-in: 68684495 user: dan tags: statvfs)
00:31
Some fixes to the test suite so that it works with ZERO_DAMAGE set to true. Still lots more problems remain. (check-in: 41891b23 user: drh tags: statvfs)
2011-12-17
20:02
For improved clarity of presentation, refactor some of the code associated with ZERO_DAMAGE and sector-size. (check-in: 1dde96c9 user: drh tags: statvfs)
19:49
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(). (check-in: a0be6ea4 user: drh tags: statvfs)
16:25
Fix a bad #endif with the previous check-in on this branch. (check-in: 915713ff user: drh tags: statvfs)
16:09
Add support for statvfs() in os_unix.c, for determining the sector size. This causes many TCL test failures under Linux. (check-in: e0d44450 user: drh tags: statvfs)
13:45
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] (check-in: 44ca4d12 user: drh tags: trunk)
08:10
Add tests to walcrash3.test. (check-in: d7688042 user: dan tags: trunk)
01:31
Make sure the Salt-1 value in the WAL file is sequentially numbered at each checkpoint, as it says it should be in the documentation. (check-in: 7b63b11b user: drh tags: trunk)
2011-12-16
21:26
Enhance the WAL header sync so that it honors the various synchronous pragmas, settings, and device characteristics. (Closed-Leaf check-in: 9799241f user: drh tags: wal-header-sync)
19:34
Proposed changes that ensure that the WAL header is written prior to the first commit mark. (check-in: 91d0437c user: drh tags: wal-header-sync)
17:01
Add code for a test that was failing before the persistent-wal related changes of [09ccc4a1be]. (check-in: 49d21ce5 user: dan tags: trunk)
15:38
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. (check-in: 09ccc4a1 user: drh tags: trunk)
15:11
Improved logging of master-journal name conflicts. (check-in: b1005ef4 user: drh tags: trunk)
13:42
Merge the nx-devkit changes into trunk. (check-in: cf3bccc2 user: drh tags: trunk)
13:24
Experimental fix for [a1fa75cbdd]. (Closed-Leaf check-in: 6492af76 user: dan tags: experimental)
05:50
Tweaks to the way multiplexSubOpen() works, for backwards compatibility. (check-in: bb403388 user: drh tags: nx-devkit)
05:09
Fix a potential infinite loop (inserted by the previous check-in) on the multiplexWrite() method of the multiplexor. (check-in: 022bf427 user: drh tags: nx-devkit)
04:57
The xTruncate method for the multiplexor now changes surplus overflow files to zero-length by default. Or if the "truncate" query parameter is used, it actually deletes the surplus overflow files. This allows VACUUM to shrink the database again. (check-in: 5aefef04 user: drh tags: nx-devkit)
01:30
Call sqlite3_log() with an appropriate message if unable to find a unique master-journal filename. (check-in: e9177f7d user: drh tags: nx-devkit)
01:21
A better solution to being unable to find a unique master-journal filename: just delete an existing master-journal and reuse it. (check-in: 2685c2b9 user: drh tags: nx-devkit)
00:33
Make sure the antipenultimate character of master-journal filenames is a "9" in order to avoid collisions with other files in 8+3 filename mode. Also, limit the number of attempts at finding a unique master-journal filename. (check-in: 34a04836 user: drh tags: nx-devkit)
2011-12-15
17:44
Add stdio support to the quota VFS. (check-in: 322bd15f user: drh tags: trunk)
17:42
Use _commit() rather than FlushFileBuffers() as a substitute for fsync() on windows. Also cast for C++ and add support for SQLITE_FCNTL_VFSNAME. (Closed-Leaf check-in: e85cfe9a user: drh tags: quota-stdio)
17:00
When deleting a file with the multiplexor VFS, also delete any overflow files that exist. (check-in: 3af1feaa user: dan tags: nx-devkit)
13:29
Make sure the chunksize in test_multiplex does not cause the pending byte to fall near the end of a chunk. Adjust the chunksize upward as necessary to prevent this. (check-in: e05f8a29 user: drh tags: nx-devkit)
11:45
Fix some problems with dropped error codes in multiplexOpen(). (check-in: 2d50f781 user: dan tags: nx-devkit)
02:22
In the multiplexor, do not try to delete overflow files that do not exist. And assume all but the last overflow file is the size of the chunk size. (check-in: a822a80d user: drh tags: nx-devkit)
2011-12-14
18:33
Merge the nx-devkit changes into trunk. This includes the new SQLITE_FCNTL_VFSNAME file-control. (check-in: da118e02 user: drh tags: trunk)
18:28
Merge the VFSNAME file-control addition into the nx-devkit branch. (check-in: 08c1dc51 user: drh tags: nx-devkit)
17:53
Add a file-control that will discover the name of the bottom-level VFS and all the shims in between. (Closed-Leaf check-in: cdbfb553 user: drh tags: vfsname-filectrl)
01:38
Improvements to comments. No code changes. (check-in: 08bbbd8e user: drh tags: nx-devkit)
00:37
Treat a zero return value from the Win32 APIs MultiByteToWideChar and WideCharToMultiByte as an error condition. (check-in: c65e5a36 user: mistachkin tags: trunk)
00:04
Harden the utf8-to-mbcs converter in the quota module against failures. (check-in: 1cda511d user: drh tags: quota-stdio)
2011-12-13
23:26
Enhancements to test_quota.c: Remove the external dependency on sqlite3_win32_utf8_to_msbc(). Add an extra parameter to quota_fflush() that will also do an fsync (or the equivalent). (check-in: 92f4188f user: drh tags: quota-stdio)
19:03
Add a hard limit to the number of chunks a multiplexed database may consist of if ENABLE_8_3_NAMES is defined. (check-in: 43a12640 user: dan tags: nx-devkit)
18:22
Change the SQLITE_EXTRA_INIT routine to take a single argument which is a pointer to a string. Call SQLITE_EXTRA_INIT with a NULL argument. Fixes to multiplexor to treat the VFS properly in corner cases. Fix the initialization of multiplex3.test. (check-in: 8e65b913 user: drh tags: nx-devkit)
16:40
Add extra tests for the multiplexor VFS. No changes to code. (check-in: c7de6f68 user: dan tags: nx-devkit)
15:37
Merge the nx-devkit changes into trunk. (check-in: 03a70c3d user: drh tags: trunk)
15:25
Update the multiplex.test script to conform to that found in the "experimental" branch off of trunk. (check-in: 2eb79efb user: drh tags: nx-devkit)
15:02
Move the multiplexor changes in the experimental branch (check-ins [255d21499b] and [199f52bced]) into the nx-devkit branch. (check-in: eb95d2f7 user: drh tags: nx-devkit)
04:08
When an sqlite3_auto_extension() function fails, report back its actual error code, not the generic SQLITE_ERROR. (check-in: ce55f250 user: drh tags: nx-devkit)
02:41
When the multiplexor FileSize procedure fails to open the file, assume that the file is zero bytes in size. (check-in: dc8118cd user: drh tags: nx-devkit)
01:34
Add a compile-time shutdown procedure to be called by sqlite3_shutdown() to undo the effects of the compile-time initialization procedure. (check-in: c2ed86f5 user: drh tags: nx-devkit)
2011-12-12
20:01
Backport a minimal set of changes needed to get 8+3 filenames and the multiplexor shim playing well together. (check-in: c4e2ce48 user: drh tags: nx-devkit)
19:48
Fix os_unix.c so that, unless 8.3 filenames are actually in use, journal and wal file permissions are assigned correctly even if SQLITE_ENABLE_8_3_NAMES is defined. (check-in: 169e1229 user: dan tags: trunk)
19:47
Make sure the quota logic is usable as C++. (check-in: f4534bd3 user: drh tags: quota-stdio)
18:55
Change the multiplexor VFS so that xTruncate is a no-op on database files. (check-in: ee1e0122 user: dan tags: trunk)
18:21
Fix for the xFileSize method of test_multiplex.c when used on a file opened with the DELETEONCLOSE flag set. (check-in: 713071c4 user: dan tags: trunk)
16:51
Add magic comments to shell.c to make it easier for scripts to insert additional version information displays for custom builds. (check-in: 9b2691aa user: drh tags: trunk)
2011-12-11
22:44
In the multiplexor shim, when using 8+3 filenames, begin numbering journal overflow files with 101 instead of 001 to avoid name collisions with the main database file. (check-in: 05bf8a0b user: drh tags: trunk)
21:51
Update comments describing the flattening optimization in select.c. (check-in: dab4c137 user: drh tags: trunk)
02:30
Fix STAT3 so that it works with the new uninitialized register logic of the VDBE. Ticket [7bbfb7d4422ff] (check-in: d11a5798 user: drh tags: trunk)
02:29
Fix harmless compiler warnings. (check-in: 1e6a698a user: drh tags: trunk)
2011-12-10
23:18
Minor cleanups of the compound-subquery flattening logic. New test cases added for joins the compound subquery. (check-in: 5061d85f user: drh tags: trunk)
17:17
Allow UNION ALL compounds to be promoted up to replace a simple wrapper SELECT even if the compounds are joins. (check-in: 3d4b4f4f user: drh tags: trunk)
15:55
Import the experimental parse-tree explainer, with fixes, from the tree-explain branch. Disabled by default. Use SQLITE_ENABLE_TREE_EXPLAIN to turn it on. (check-in: bcbc7152 user: drh tags: trunk)
14:44
Merge the latest trunk changes into tree-explain branch. (Closed-Leaf check-in: 1a360da0 user: drh tags: tree-explain)
13:49
Always use _msize() to get memory allocation sizes on windows, without having to do anything special in the makefile. (check-in: 256e27bd user: drh tags: trunk)
2011-12-09
18:06
Change the VDBE so that all registers are initialized to "Invalid" instead of NULL and report errors on any attempted read of an Invalid register. This will help prevent future bugs similar to [7bbfb7d442]. (check-in: 0064bab7 user: drh tags: trunk)
17:51
Remove an unnecessary condition. (Closed-Leaf check-in: d9ba023c user: drh tags: uninit-vdbe-mem)
17:38
Remove an unnecessary initialization of Vdbe.aOnceFlag. (check-in: 421714da user: drh tags: uninit-vdbe-mem)
17:27
Take out the OP_JumpOnce opcode. Revert compound SELECT to use OP_IfNot, which is the correct behavior. Mark trigger registers as initially invalid. (check-in: 6a9fb47d user: drh tags: uninit-vdbe-mem)
16:59
Previous check-in broke auto-increment. This check-in appears to fix it. (check-in: 28ffd39c user: drh tags: uninit-vdbe-mem)
16:21
Make no assumptions about the initial state of VDBE registers. (check-in: 521d72bd user: drh tags: uninit-vdbe-mem)
13:24
Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442]. (check-in: 557c6905 user: dan tags: trunk)
05:52
The Windows OS flavor #ifdefs must be performed after the 'windows.h' file has been included. (check-in: 3702a31e user: mistachkin tags: trunk)
2011-12-08
20:41
Hand merge the zone allocator for MacOS from the apple-osx branch. (check-in: 0d955c20 user: drh tags: trunk)
19:50
In persistent WAL mode, truncate the WAL file to the size specified by the journal_size_limit pragma when disconnecting from the WAL. (check-in: 9687b305 user: drh tags: trunk)
03:51
Follow the previously established pattern for detecting preprocessor defines for specific flavors of Windows (for NT in this case). (check-in: a0d92193 user: mistachkin tags: trunk)
2011-12-07
22:49
Additional detail added to the tree-explain output for SELECT statements. (check-in: 7b457ea4 user: drh tags: tree-explain)
15:33
More compact notation for the parse-tree view. (check-in: 0eb3f8b1 user: drh tags: tree-explain)
01:55
Cherrypick the [7e5b56b1c6] fix for the sqlite3SelectDup() routine into trunk. (check-in: 7fc53509 user: drh tags: trunk)
01:47
Bug fix in sqlite3SelectDup(). Make sure the pNext pointer is valid. (check-in: 7e5b56b1 user: drh tags: tree-explain)
01:23
Improvements to the data-structure explain subsystem. Most queries now give a reasonably detailed graph of their parse tree. (check-in: 0aa7d3d2 user: drh tags: tree-explain)
2011-12-06
19:44
Begin adding the data-structure explaining subsystem. All is contained within (check-in: 79ae51c5 user: drh tags: tree-explain)
13:46
Add file tkt-3a77c9714e.test, containing tests to verify that the problem documented by ticket [3a77c9714e] has been fixed. (check-in: 162421da user: dan tags: trunk)
13:24
Do not reuse temp registers originally allocated to a subroutine within the main body of the program logic, since if the subroutine is called while the reused temp registers are in use, their values will get clobbered. Candidate fix for ticket [3a77c9714e63330] (check-in: 092d5331 user: drh tags: trunk)
00:47
Merge the winGetLastError fixes into trunk. (check-in: 5b03ba9d user: drh tags: trunk)
2011-12-03
00:13
Add the sqlite3_quota_fflush() interface. Enhance sqlite3_quota_remove() so that it can remove entire directories. (check-in: abcb65af user: drh tags: quota-stdio)
2011-12-02
15:31
One minor documentation enhancement. (check-in: 8cfd3575 user: drh tags: quota-stdio)
15:27
Documentation improvements and additional test cases. (check-in: fa718960 user: drh tags: quota-stdio)
2011-12-01
22:12
Run quota-stdio tests in binary mode so that they work on windows. (check-in: 71e4e97d user: drh tags: quota-stdio)
22:07
Progress toward getting things to work better on windows. (check-in: 253dd707 user: drh tags: quota-stdio)
20:48
Add test logic and some test cases. (check-in: a4730586 user: drh tags: quota-stdio)
18:44
Add stdio-like I/O interfaces to the test_quota VFS. This is a prototype change for discussion and is mostly untested. This is an alternative to adding stdio-like I/O interfaces in the core. There is no guarantee that this code will make it into the trunk. If it does get to trunk, there could be many changes to the interface first. (check-in: bd3ce723 user: drh tags: quota-stdio)
2011-11-29
15:40
Remove unused fields from the Parse object. Documentation and formatting improvements on data structure definitions. (check-in: 431556ca user: drh tags: trunk)
15:04
Remove unused boolean fields from the UnpackedRecord object. (check-in: b10d091e user: drh tags: trunk)
14:46
Removed the unused "type" field from the CollSeq (collating sequence) object. (check-in: ab89b047 user: drh tags: trunk)
2011-11-25
21:51
Update the version number to 3.7.10. (check-in: ed0151ba user: drh tags: trunk)
17:51
Fix a typo in the documentation for sqlite3_stmt_busy(). (check-in: 7812626d user: drh tags: trunk)
17:21
Add the sqlite3_stmt_busy() interface. (check-in: 95cc4af6 user: drh tags: trunk)
2011-11-21
00:54
Cleanup the semantics surrounding use of the GetLastError function on Windows. (Closed-Leaf check-in: 7e657bbb user: mistachkin tags: winGetLastError)
2011-11-18
13:10
Change the multiplexor to use a 3-digit suffix. (check-in: 0b7edc44 user: drh tags: trunk)
2011-11-17
11:49
Improvements to the documentation of the sqlite3_db_filename() interface. (check-in: 1c45b2a0 user: drh tags: trunk)
11:43
Restore the test for sqlite3OsFullPathname() failure that was mistakenly removed when [ceee03c79a] was backed out by [69ec53fc1c]. (check-in: 4d3cf9e1 user: drh tags: trunk)
00:56
Add the sqlite3_db_filename() interface. (check-in: 93a94798 user: drh tags: trunk)
2011-11-16
23:29
Back out the [ceee03c79a] change. (check-in: 69ec53fc user: drh tags: trunk)
19:29
Add the sqlite3_db_release_memory() interface and the shrink_memory pragma. (check-in: 3f58e7c8 user: drh tags: trunk)
18:08
Merge the PCACHE2 changes into trunk. (check-in: 457513f2 user: drh tags: trunk)
17:32
Change the multiplexor suffix from 2 to 3 digits. (Closed-Leaf check-in: 06e0cdaf user: drh tags: 3-digit-multiplex-suffix)
16:23
Remove code made obsolete by the changes to index processing that allow range search on the rowid. (check-in: a5418c7f user: drh tags: trunk)
15:41
Fix an invalid assert() statement added by [3b58f5f066]. (check-in: 888b09dd user: dan tags: trunk)
15:27
Where possible, take advantage of the rowid at the end of index records to optimize range constraints (<, >, <=, >=) on the rowid column. (check-in: 3b58f5f0 user: dan tags: trunk)
08:18
Update memsubsys1.test to account for the recently increased size of the MemPage structure in btreeInt.h. (check-in: 4fb3ca75 user: dan tags: trunk)
2011-11-14
03:00
Forward port the 8-byte alignment fix from branch-3.7.9. (check-in: ebf6eb6e user: drh tags: trunk)
02:53
Fix a 8-byte alignment problem that causes a SIGBUS on Sparc. (check-in: 54cc1198 user: drh tags: branch-3.7.9)
2011-11-13
21:44
Add a version number to the sqlite3_pcache_methods2 object. Other PCACHE2 documentation improvements. (Closed-Leaf check-in: 9f839ac0 user: drh tags: experimental-pcache)
2011-11-12
23:10
Attempt to modify btree.c so that it assumes that calls to sqlite3PagerWrite() will reallocate the page buffer. As there is not good way to test this assumption yet, probably a few spots were missed. (check-in: ceee03c7 user: drh tags: experimental-pcache)
16:46
Remove a couple of incorrect assert statements so that the test suite will run with -DSQLITE_DEFAULT_CACHE_SIZE=0. (check-in: 87614b62 user: drh tags: trunk)
15:41
Merge the windows xSyscall enhancements into trunk. (check-in: c1fab9ac user: drh tags: trunk)
03:17
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. (Closed-Leaf check-in: 76dec8aa user: mistachkin tags: winSyscall)
2011-11-11
23:51
Catch and report errors from sqlite3OsFullPathname(). (check-in: 77119785 user: drh tags: trunk)
23:31
Remove use of malloc and free from the Windows VFS. Also, prevent sqlite3BtreeOpen from assuming that sqlite3OsFullPathname cannot fail. (check-in: 8966ec17 user: mistachkin tags: winSyscall)
22:08
Work in progress to implement the 'syscall' functionality for Windows. (check-in: ed88fb00 user: mistachkin tags: winSyscall)
14:12
Pull over all the latest changes from trunk. (check-in: 1bbbf857 user: drh tags: experimental-pcache)
00:27
Make sure a corrupt index does not cause a buffer overread in sqlite3VdbeRecordCompare(). (check-in: 471cf0d8 user: drh tags: trunk)
2011-11-10
21:45
Expand passing of a last error argument to the getLastErrorMsg function. Also, remove unused SQLITE_W32_THREADS define. (check-in: 8f287979 user: mistachkin tags: trunk)
20:21
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. (check-in: 32ab3657 user: mistachkin tags: trunk)
02:39
Follow-on to the previous check-in to prevent a division by zero if the lookahead slot size is something goofy like 6 on a 32-bit machine. (check-in: 6bda711f user: drh tags: experimental-pcache)
02:24
Use sqlite3MallocSize() to get the actual size of the memory allocation used for lookaside cache and increase the size of the cache to use the full allocation. (check-in: 0e53ecad user: drh tags: experimental-pcache)
2011-11-09
18:07
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. (check-in: 0c951a97 user: drh tags: trunk)
17:01
When compiling with MSVC, use the _msize function. (check-in: 797a1479 user: mistachkin tags: experimental-pcache)
16:12
Minor changes needed to restore full branch test coverage. (check-in: bc10a753 user: drh tags: experimental-pcache)
14:23
A negative value N for the cache_size pragma adjusts the number of cache pages to use approximately N kibibytes of memory. (check-in: b3faa680 user: drh tags: experimental-pcache)
01:53
For the mem1.c system malloc implementation, use the malloc_usable_size() function if the HAVE_MALLOC_USABLE_SIZE macro is defined. Update autoconf to look for that function when configuring. (check-in: 2e8ab3ce user: drh tags: experimental-pcache)
00:06
Update the API documentation for the new pcache2 interface. Change the order of parameters on the xCreate method of pcache2. (check-in: 4da70956 user: drh tags: experimental-pcache)
2011-11-08
20:08
Experimental change to the pcache interface to allow page buffers to be allocated separately from their associated container structures. (check-in: c275c9d3 user: dan tags: experimental-pcache)
2011-11-07
18:16
Make the unix VFS tolerant of read() calls that return less than the requested number of bytes. (check-in: a210695a user: drh tags: trunk)
17:54
Amplify the restriction on commit-hooks that they cannot recursively run SQL on the same database connection. (check-in: 4fe5b731 user: drh tags: trunk)
16:46
Add a makefile target for tclsqlite3.c to Makefile.in. (check-in: f521b6b7 user: drh tags: trunk)
13:05
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). (check-in: a35f52b1 user: drh tags: trunk)
2011-11-06
05:06
Move function sqlite3PagerClearCache() out of the "ifndef SQLITE_OMIT_WAL" block and into an "ifndef SQLITE_OMIT_VACUUM" block. (check-in: 5dbfaed8 user: dan tags: trunk)
2011-11-04
14:36
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. (check-in: e3f368cd user: drh tags: trunk)
12:05
Change a memcpy() in sqlite3FileSuffix() to memmove() on the grounds that the source and destination may overlap. (check-in: 5e1d247e user: dan tags: trunk)
10:37
Add a missing va_end() macro to fts3.c. (check-in: e6f82574 user: dan tags: trunk)
02:24
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. (check-in: e2f08426 user: drh tags: trunk)
00:35
Enhance the shell so that the ".schema" command works with case insensitive LIKE patterns even with PRAGMA cache_sensitive_like=ON. (check-in: b06bf3b3 user: drh tags: trunk)
00:23
Make sure the INSERT INTO ... SELECT statement works correctly even when the destination table contains an INTEGER PRIMARY KEY ON CONFLICT... column. Ticket [676bc02b87176125]. (check-in: 6f9898db user: drh tags: trunk)
2011-11-01
00:52
Version 3.7.9 (check-in: c7c6050e user: drh tags: trunk, release, version-3.7.9)
2011-10-31
12:25
Fix a typo in a comment. No code changes. (check-in: 6635cd9a user: drh tags: trunk)
11:36
Add new file ext/fts3/README.content, describing the experimental FTS4 content option. (check-in: 13a9d085 user: dan tags: trunk)
06:52
Update fts3fault.test to account for the sqlite3_errmsg() related changes in [8f88cc4e61] and [dcb7879347]. (check-in: 3f2d49c6 user: dan tags: trunk)
2011-10-29
19:25
Update fkey_malloc.test to account for the sqlite3_errmsg() related changes in [8f88cc4e61] and [dcb7879347]. (check-in: 5b82ec6f user: dan tags: trunk)
15:29
Add a test for [48f29963] that does not depend on FTS. (check-in: fb15f545 user: dan tags: trunk)
12:42
Fix some code formatting in sqlite3Ext.h to avoid lines longer than 80 characters. (check-in: 3ec20c30 user: drh tags: trunk)
11:43
Avoid attempting to call savepoint related methods on deleted sqlite3_vtab objects. Fix for [48f299634a]. (check-in: 3565fcf8 user: dan tags: trunk)
01:33
Avoid reporting a NOMEM error if a memory allocation fails while copying the error message from a prepared statement into the database connection. (check-in: dcb78793 user: drh tags: trunk)
2011-10-27
15:19
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. (check-in: 8f88cc4e user: dan tags: trunk)
2011-10-22
21:00
Avoid a harmless reference to an uninitialized variable following an error in FTS3. This is not a bug. The change is to silence a valgrind warning. (check-in: d980c5b2 user: drh tags: trunk)
2011-10-21
19:06
Purge lingering references to SQLITE_STAT2 from the code and test scripts. (check-in: aed2bf7a user: drh tags: trunk)
16:47
Remove stale requirements marks from the query planner. (check-in: 76de9914 user: drh tags: trunk)
14:27
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. (check-in: 07159e84 user: dan tags: trunk)
2011-10-20
18:23
Fix an issue with finding the access permissions of journal files when 8+3 filenames are in use. (check-in: 2b35c514 user: drh tags: trunk)
00:55
Enhancements to the omittest.tcl script used to verify that the SQLITE_OMIT compile-time options are working. (check-in: 4344483f user: drh tags: trunk)
2011-10-19
18:21
Fix harmless compiler warnings in FTS4. (check-in: 1af4a256 user: drh tags: trunk)
17:13
Fix comments on SQLITE_CONFIG_HEAP so that they do not interfere with the requirements scanner. (check-in: a3151ce1 user: drh tags: trunk)
16:20
Merge the fts4-content branch with the trunk. (check-in: 8a407705 user: dan tags: trunk)
15:52
Have FTS3 ignore ^ prefixes. The ^ syntax is only supported on FTS4 tables. (Closed-Leaf check-in: df36ac94 user: dan tags: fts4-content)
11:57
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. (check-in: 9b58c59e user: dan tags: fts4-content)
10:18
Add tests for FTS ^ searches and matchinfo(). (check-in: 92618c14 user: dan tags: fts4-content)
09:40
Fix a problem in FTS to do with ^ tokens and the snippet() function. (check-in: 2c03b24f user: dan tags: fts4-content)
2011-10-18
22:07
Fix the virtual table rename logic so that it works even if the database encoding is something other than UTF8. Ticket [8290242b2a9a81683] (check-in: d65f6353 user: drh tags: trunk)
19:39
If a token within an FTS query is prefixed with a '^' character, it must be the first token in a column of data to match. (check-in: 63ac33c8 user: dan tags: fts4-content)
19:14
Fix an uninitialized variable in OR-clause processing. (check-in: 54aecd92 user: drh tags: trunk)
18:10
Improved handling of USING and NATURAL JOIN in 3-way and higher joins. Ticket [3338b3fa19ac4ab] (check-in: 551ce407 user: drh tags: trunk)
12:49
Cherrypick patch [3126754c72] from the trunk into the content= branch. (check-in: f9b5b217 user: dan tags: fts4-content)
12:44
Fix a floating-point exception that can occur when an FTS4 query contains a large number of tokens connected by AND or NEAR operators. (check-in: 3126754c user: dan tags: trunk)
2011-10-17
23:15
Change the OP_JournalMode implementation so that it works even if a substitute sqlite3PagerFilename() that might return NULL is used. (check-in: 491ff5fb user: drh tags: trunk)
20:41
Avoid 32-bit integer overflow when evaluating the exponent of a floating point value during ascii to binary conversion. (check-in: 4becc47e user: drh tags: trunk)
12:14
Performance improvement for ascii to floating-point conversions with very large exponents. (check-in: 59bb999c user: drh tags: trunk)
2011-10-15
00:16
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. (check-in: 39408702 user: drh tags: trunk)
2011-10-14
22:57
Fix a few minor and harmless clang warnings in FTS3 and RTREE. (check-in: b3324f6c user: drh tags: trunk)
21:49
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. (check-in: 60fee957 user: drh tags: trunk)
2011-10-13
18:08
Change the makefile to delete both plain and ".exe" variants of build tools. Ticket [92bd6eaf04e117] (check-in: 19536a38 user: drh tags: trunk)
18:00
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] (check-in: 9984cc20 user: drh tags: trunk)
17:16
Handle updating the only row of an FTS table correctly. Fix for [9fd058691]. (check-in: 7e24645b user: dan tags: trunk)
17:09
An improved fix for the page_count and quick_check problem previously patched at [150592b4b4d8637] (check-in: c3cb7f4f user: drh tags: trunk)
16:36
Provide a complete prototype for isatty() in the command-line shell sources. (check-in: 8bf13b03 user: drh tags: trunk)
16:30
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. (check-in: 6df7343b user: drh tags: trunk)
16:02
Enable large-file support for fopen() and friends in the command-line shell. Ticket [92af7da36b6fbd] (check-in: eeeba4f0 user: drh tags: trunk)
15:35
Make sure the query optimizer for aggregate queries knows that expressions (x='a') and (x='A') are different. Ticket [fa7bf5ec94801e7e] (check-in: e43da426 user: drh tags: trunk)
14:41
Make sure the page_count and quick_check pragmas work properly even when their names are capitalized. Fixes a problem reported on the mailing list. (check-in: 150592b4 user: drh tags: trunk)
14:18
Adjust the symbols.sh script for STAT3. Add the symbols-mingw.sh script for testing on windows with MinGW. (check-in: c41d1d46 user: drh tags: trunk)
14:05
Make sure all non-API functions in os_win.c have file scope. Ticket [35c54c874987] (check-in: 17e4fde5 user: drh tags: trunk)
13:34
Do the ".dump" command inside of a transaction to prevent other processes from modifying the database while the dump is underway. Ticket [2466653295e65] (check-in: 1c00d545 user: drh tags: trunk)
01:01
Fix a harmless compiler warning introduced into os_unix.c by one of the recent changes. (check-in: 4bf4d5eb user: drh tags: trunk)
00:41
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] (check-in: 8a8dcd6b user: drh tags: trunk)
00:11
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] (check-in: af8bcdd9 user: drh tags: trunk)
2011-10-12
23:49
The sqlite3_overload_function() interface returns an error if it is unable to create the overload function. Ticket [20f9d4fbbff3a3] (check-in: d5b6b374 user: drh tags: trunk)
23:13
The date/time functions return NULL if the xCurrentTime or xCurrentTimeInt64 VFS methods fail. Ticket [0b803bff856c644c] (check-in: c96651dd user: drh tags: trunk)
19:04
Suppress a compiler warning that occurs with SQLITE_OMIT_VIRTUALTABLE. (check-in: 6bedb49d user: drh tags: trunk)
18:52
Clean up obsolete comments in printf.c. (check-in: 97ef4f50 user: drh tags: trunk)
17:00
Clarify a comment and fix a code formatting issue in btree.c. (check-in: 4f1a558d user: drh tags: trunk)
2011-10-11
20:41
Put in code to defend against signed/unsigned character problems in the command-line shell. (check-in: b94a80a8 user: drh tags: trunk)
20:14
Add a couple of asserts trying to make the operation of sqlite3SelectNew() clearer. (check-in: b21b1c7b user: drh tags: trunk)
18:18
Change the behavior of the readonly_shm=1 query parameter so that it never attempts to open the -shm file read/write. (check-in: f1364004 user: drh tags: trunk)
17:54
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. (check-in: 1f843fb3 user: drh tags: trunk)
12:39
Fix requirements marks associate with STAT3. (check-in: 9325c1a8 user: drh tags: trunk)
2011-10-10
16:06
Enhance sqlite3_analyzer so that it is able to deal with multiplexed databases that have 8+3 filenames. (check-in: e5169f9a user: drh tags: trunk)
12:04
Fix a typo in a comment for PRAGMA journal_mode. Also amplify that same comment. (check-in: c8ff2a48 user: drh tags: trunk)
2011-10-08
21:39
All the soft_heap_limit to be exceeded by 10% in test cases. (check-in: 4be9dccc user: drh tags: trunk)
14:57
Add the SQLITE_DIRECT_OVERFLOW_READ compile time option. (check-in: 2ab14a84 user: dan tags: trunk)
2011-10-07
23:52
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. (check-in: 589f3f56 user: drh tags: trunk)
18:24
Make sure sqlite3_data_count() behaves as documented, even for EXPLAIN QUERY PLAN queries. (check-in: d4f95b3b user: drh tags: trunk)
17:52
Improved handling of OR terms in the WHERE clause with multi-column indexes. (check-in: b23ae131 user: drh tags: trunk)
17:45
Add testcase() macros to ensure good test coverage. (Closed-Leaf check-in: 5c132592 user: drh tags: or-opt)
16:57
Add the SQLITE_FCNTL_OVERWRITE file-control. Used by SQLite to indicate to the OS layer that the current transaction will overwrite the entire file. (check-in: 1da87fcd user: dan tags: trunk)
16:08
More test cases for the OR optimization. (check-in: 4997d8b8 user: drh tags: or-opt)
14:40
Prevent infinite recursion of in the query planner for some pathological test cases by disabling OR-clause processing upon first recursion. (check-in: 9fca05ea user: drh tags: or-opt)
13:33
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. (check-in: 876bd21a user: drh tags: or-opt)
12:59
Enhance the sqlite3_data_count() routine so that it can be used to determine if SQLITE_DONE has been seen on the prepared statement. (check-in: 9913996e user: drh tags: trunk)
2011-10-05
19:46
Add the --pageinfo and --stats options to the sqlite3_analyzer utility. (check-in: baa80c7b user: drh tags: trunk)
18:18
Update the sqlite3_analyzer utility program to provide more details about the compression performance of ZIPVFS database files. (check-in: fa5ed532 user: drh tags: trunk)
17:36
Fix test code related to reporting the size of overflow pages in zipvfs databases. (check-in: ad7c9eed user: dan tags: trunk)
15:26
When finding the appropriate file permissions for journal files with SQLITE_ENABLE_8_3_NAMES, ignore "-" characters in the name of the containing directory. (check-in: 328cc186 user: drh tags: trunk)
15:11
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. (check-in: 289ee431 user: dan tags: fts4-content)
06:07
Fix a problem with IO error handling in the rebuild-index code. (check-in: c6ba81fc user: dan tags: fts4-content)
2011-10-04
19:41
Improve test coverage of fts3.c. (check-in: 0f439944 user: dan tags: fts4-content)
16:37
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. (check-in: be86c706 user: dan tags: fts4-content)
11:22
Add experimental 'content' option to FTS4. (check-in: 1d27ea74 user: dan tags: fts4-content)
2011-10-03
15:30
Merge the STAT3 changes into trunk. (check-in: 774d0842 user: drh tags: trunk)
2011-10-02
05:23
Update MSVC makefile to allow targets to be built with support for ICU. (check-in: eb5da5e1 user: mistachkin tags: trunk)
2011-09-30
12:01
Disable the xfer optimization if "PRAGMA count_changes=1" is configured. Ticket [c48d99d690]. (check-in: 9ddfe1e4 user: dan tags: trunk)
2011-09-28
01:10
In the shell, allow arbitrary table names on the ".import" command. Ticket [d1d84037b90a449]. (check-in: f4dd32d3 user: drh tags: trunk)
00:50
Enhance the stat VFS to report out the total size of all pages used by a table, even if the ZIPVFS compression backend is in play. Update the sqlite3_analyzer logic to use these new outputs. (check-in: 19b8eaaf user: drh tags: trunk)
2011-09-27
13:40
Changes to sqlite3_analyzer to try to avoid integer overflow problems when linking against older versions of TCL. (check-in: 8c846311 user: drh tags: trunk)
2011-09-26
19:32
Changes to the analyzer script to make it work with zipvfs databases. (check-in: d82cffab user: dan tags: trunk)
2011-09-25
17:49
If an open as read/write fails, do not try to reopen as read-only if in exclusive access mode. (check-in: 263c5fb2 user: drh tags: trunk)
17:47
If an open as read/write fails, do not try to reopen as read-only if in exclusive access mode. (Closed-Leaf check-in: 4a153f01 user: drh tags: stat3-trunk)
2011-09-24
09:54
Fix misc3.test so that it works with OMIT_MERGE_SORT builds. (check-in: 87946c62 user: dan tags: trunk)
05:55
Fix some test files so that they work with SQLITE_OMIT_WAL builds. (check-in: a38668dc user: dan tags: trunk)
2011-09-23
18:58
Add SQLITE_DBSTATUS_CACHE_HIT and _MISS to the ".stat" command in the shell. (check-in: d279e1a3 user: drh tags: trunk)
16:34
Add the -DBUILD_sqlite option to the compiler when building testfixture.exe using the configure script. (check-in: 15a13b6c user: drh tags: trunk)
14:40
Merge the latest trunk changes into the stat3-trunk branch. (check-in: 0beb88a9 user: drh tags: stat3-trunk)
13:59
Testability enhancements. (check-in: be44928c user: drh tags: stat3-trunk)
13:25
Fix typos in the format description comment of analyze.c. (check-in: 74e27fad user: drh tags: stat3-trunk)
2011-09-22
20:52
Remove the restriction on the number of entries per index in sqlite_stat3. (check-in: 374343c8 user: drh tags: stat3-trunk)
18:46
Fix an issue in ANALYZE when STAT3 is disabled but both sqlite_stat2 and sqlite_stat3 tables exist. Also add testability tweaks to the STAT3 code. (check-in: 3ca7e449 user: drh tags: stat3-trunk)
15:31
Remove a redundant (and undefined) "forcedelete" command from corruptE.test. (check-in: 6d8d4e16 user: dan tags: trunk)
14:56
Remove the SQLITE_PAGECACHE_BLOCKALLOC compilation option. (check-in: 4eb46898 user: dan tags: trunk)
14:41
Add the SQLITE_DB_STATUS_CACHE_HIT and MISS options. For querying the number of cache hits and misses on a per-connection basis. (check-in: 5100b6e9 user: dan tags: trunk)
00:56
Update the version number to 3.7.9. (check-in: 14e28eb9 user: drh tags: trunk)
00:28
Fix an uninitialized variable and a misuse of memcpy(). (check-in: ee110d5a user: drh tags: stat3-trunk)
00:06
Integrate build changes for sqlite3_analyzer into the MSVC makefile. Also, more cleanup of build files, including sqlite3_analyzer, for all makefiles. (check-in: af1c5718 user: mistachkin tags: trunk)
2011-09-21
20:10
Minor tweaks to the TCL code for sqlite3_analyzer. (check-in: 3a261f38 user: drh tags: trunk)
18:29
Remove unnecessary dependencies from the sqlite3_analyzer targets in makefiles. (check-in: 0bd8fd35 user: drh tags: trunk)
17:04
Fix the sqlite3_analyzer target in the configure-generated Makefile. (check-in: 256cdbdc user: drh tags: trunk)
16:43
Change the way the sqlite3_analyzer executable is built. (check-in: 05e3cced user: dan tags: trunk)
00:09
Pull in the latest changes from trunk. Update the STAT3 documentation. (check-in: 63fc3e4b user: drh tags: stat3-trunk)
2011-09-19
20:56
Minor comment change in the description of the different memory allocator options. No changes to code. (check-in: 36be31ff user: drh tags: trunk)
20:36
Merge in all changes through the 3.7.8 release. (check-in: 9607600b user: drh tags: stat3-trunk)
18:00
Version 3.7.8 (check-in: 3e0da808 user: drh tags: trunk, release, version-3.7.8)
13:01
Increase the default lookaside cache line size from 100 to 128 bytes. (check-in: db019465 user: drh tags: trunk)
11:57
Remove a stray merge-sort related change from pager.c and pager.h. (check-in: 69823ed1 user: dan tags: trunk)
2011-09-17
17:29
Add a new script to build an amalgamation that omits FTS3/4 and RTREE. (check-in: b31a7d7d user: drh tags: trunk)
15:34
Make sure the file structure is zeroed prior to calling the VFS to open a file. (check-in: 29c4d0dd user: mistachkin tags: trunk)
2011-09-16
22:10
Fix a problem with SQLITE_OMIT_TRACE that was introduced by the recent OP_Once change. (check-in: 96be3f7b user: drh tags: trunk)
20:43
Fix #if's in winSync to avoid compiler warnings about unused local variables. Also, update version numbers in the MSVC makefile. (check-in: 2e66e414 user: mistachkin tags: trunk)
20:16
Silence harmless compiler warning about redefinition of the _CRT_SECURE_NO_WARNINGS macro by shell.c. (check-in: 69022071 user: mistachkin tags: trunk)
19:29
Merge all the latest trunk changes into the experimental STAT3 branch. (check-in: 51908c8f user: drh tags: stat3-trunk)
19:04
Remove unreachable branches from the previous change. Add additional test cases. (check-in: cf51ef8a user: drh tags: trunk)
17:43
When analyzing the right-hand side of IN operators to see if the IN operator can work with an index, be sure to decend into nested subqueries. Fix for ticket [1a1308d2538d7] (check-in: 0156f10e user: drh tags: trunk)
16:00
Further streamlining of the subquery materializer. New test cases for ticket [002caede898a] (check-in: ff8b76b2 user: drh tags: trunk)
01:38
Merge the [002caede898] fix into trunk. (check-in: 95708ae2 user: drh tags: trunk)
01:34
Add the new OP_Once opcode. Use it to clean up and simplify various one-time initialization sections in the code, including the fix for ticket [002caede898ae]. (Closed-Leaf check-in: 7f00552b user: drh tags: tkt-002caede898)
2011-09-15
23:58
Materialize subqueries using a subroutine and invoke that subroutine prior to each use of the materialization. Fix for ticket [002caede898aee4] (check-in: 4b8357ee user: drh tags: tkt-002caede898)
19:39
Adding test case for ticket [002caede898] (check-in: 62dfc51a user: drh tags: tkt-002caede898)
00:40
Cleanup/fix error handling when no arguments are supplied to the SQLite analyzer. (check-in: 3fc566ac user: mistachkin tags: trunk)
2011-09-14
18:19
Remove 'const' from a variable that might actually be written when an OOM error occurs. Also, fix a couple MSVC/Win32 compiler warnings. (check-in: 3035dc1c user: mistachkin tags: trunk)
13:41
Remove unused parameters from internal routines in vdbesort.c. This is an additional simplification made possible by recent optimizations. (check-in: a1f3aeeb user: drh tags: trunk)
13:23
Remove code from vdbesort.c that was made unreachable by the recent sqlite3VdbeRecordUnpack() optimizations. (check-in: 607aba6c user: drh tags: trunk)
2011-09-13
19:09
Merge the latest trunk changes into the stat3-trunk branch. (check-in: 11ca4ed8 user: drh tags: stat3-trunk)
19:08
Allocate the correct size for the output buffer in fts3DoclistOrMerge(). Fix for [56be976859]. (check-in: 07788c0f user: dan tags: trunk)
2011-09-11
10:14
Cleanup pdb/ilk files generated by the MSVC makefile. (check-in: a9db247b user: mistachkin tags: trunk)
2011-09-05
20:16
Fix a minor performance regression in btreeMoveto(). (check-in: d0712dfb user: dan tags: trunk)
14:20
Refactor the sqlite3VdbeRecordUnpack() interface to better accommodate the vdbesort.c module. (check-in: f115b230 user: dan tags: trunk)
2011-09-04
01:27
Fix a compiler warning about an unused parameter in the merge-sort code. (check-in: 6b657ae7 user: drh tags: trunk)
01:11
Improve the testability of the merge-sort logic. (check-in: b5179baf user: drh tags: trunk)
2011-09-03
17:07
Performance improvements to the external merge-sorter. Keep content on an in-memory linked lists rather than an ephemeral table prior to spilling to disk. Use the external merge-sorter to implement ORDER BY and GROUP BY in addition to CREATE INDEX. (check-in: 4c43e8b2 user: drh tags: trunk)
16:42
Simplification and performance tweaks in vdbeSorterMerge(). (Closed-Leaf check-in: 99e34bdc user: drh tags: merge-sort)
14:36
Reduce the number of VdbeRecordUnpack() calls made in vdbesort.c. (check-in: 666c2c3c user: dan tags: merge-sort)
00:17
The build works again with -DSQLITE_OMIT_MERGE_SORT. The merge-sorter now avoids spilling to disk (letting the in-memory linked list grow without bound) if PRAGMA temp_store=3. (check-in: 68e26c44 user: drh tags: merge-sort)
2011-09-02
21:42
Remove some dead code. Fix a faulty assert(). Improve some variable names. (check-in: a9a64592 user: drh tags: merge-sort)
18:03
Combine two malloc calls in vdbesort.c. (check-in: cf48ad83 user: dan tags: merge-sort)
15:41
Reduce the number of malloc() calls made when creating an index on more than 2 columns. (check-in: 065b0c98 user: dan tags: merge-sort)
15:08
Remove unused local variable. (check-in: 61bda876 user: mistachkin tags: trunk)
11:45
If all data being sorted fits in memory, avoid writing any data out to temporary files in vdbesort.c. (check-in: 71075673 user: dan tags: merge-sort)
10:31
Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c. (check-in: 7769fb98 user: dan tags: merge-sort)
2011-09-01
16:01
Use OP_SorterOpen instead of OP_OpenEphemeral to implement GROUP BY. (check-in: ebf819aa user: drh tags: merge-sort)
15:32
Experimental code-generator changes to utilize new opcodes for sorting. (check-in: bab2e560 user: drh tags: merge-sort)
2011-08-31
23:57
Avoid using uninitialized variables after failures in the merge sort code. (check-in: 2869ed28 user: drh tags: trunk)
21:01
Formerly, we enabled fdatasync() on linux only. But now we learn that fdatasync() is not supported on Android. So we disable fdatasync() on Linux too. It can be reenabled at compile-time for those who really need it. (check-in: 70b5b309 user: drh tags: trunk)
20:47
Add the SQLITE_MAX_SCHEMA_RETRY compile-time option to the set of options understood by "PRAGMA compile_options;" and by the "sqlite_compileoption_used()" function. (check-in: 1b124af4 user: drh tags: trunk)
19:40
The server1.test script should only run if mutexes are functional. Fix to the #ifdef change of check-in [9e6a4c1473]. (check-in: 64898485 user: drh tags: trunk)
18:35
Always include the unixShm.id field, even when not debugging. (check-in: 07803476 user: drh tags: trunk)
18:04
Only create the sqlite3OSTrace global variable if compiling with SQLITE_TEST. (check-in: 9e6a4c14 user: drh tags: trunk)
17:46
Backslash escaping is not working right in tostr.awk on the latest ubuntu. The easiest fix is to simply not use any backslashes in the spaceanal.tcl script. (check-in: df550066 user: drh tags: trunk)
13:27
Add checks to make sure cells in corrupt database files do not overflow a page when doing autovacuum. Problem detected by valgrind. (check-in: d0b347b4 user: drh tags: trunk)
2011-08-30
19:52
Enable the thread test logic to work with the SQLITE_HAS_CODEC compile-time option. (check-in: 20ddfb47 user: drh tags: trunk)
01:29
Change the build process so that it does not require the unix "sort" command. This avoids confusion between ms-sort and mingw-sort on windows systems. (check-in: f1bd5bba user: drh tags: trunk)
01:23
Make sure SQLITE_FCNTL_SIZE_HINT a no-op if the chunk size is not greater than zero. (check-in: 88b763e8 user: mistachkin tags: trunk)
00:58
Fix a total unimportant file descriptor leak in lemon. This is to silence warning messages. (check-in: e95cf2c5 user: drh tags: trunk)
00:53
Fix a buffer overrun in test logic. No impact on the core SQLite. (check-in: 49cd60e3 user: drh tags: trunk)
2011-08-29
18:24
Fix a broken assert() statement in select.c. (check-in: ad78ef2b user: dan tags: trunk)
11:56
Back out [05c9832e5f6eb] since it was causing a performance regression with no obvious benefit. (check-in: 639cc85a user: drh tags: trunk)
03:08
Merge performance enhancements into trunk. (check-in: 5a00d24b user: drh tags: trunk)
02:49
About a 1% overall performance improvement by using a macro to avoid no-op calls to sqlite3MemReleaseExternal(). (Closed-Leaf check-in: ff71d20a user: drh tags: experimental)
02:16
Small performance improvement to OP_Column. (check-in: b6b73a74 user: drh tags: experimental)
2011-08-28
02:15
About a 3% improvement in the performance of OP_Column. (check-in: edff9d4a user: drh tags: experimental)
00:19
Correctly display P4_ADVANCE values on opcode traces. Mark an always-taken branch in OP_Column as such. (check-in: 087dc960 user: drh tags: experimental)
2011-08-27
18:48
Experimental changes to improve the performance of OP_Next. (check-in: 1a249845 user: dan tags: experimental)
2011-08-26
20:55
Fix several harmless compiler warnings and a documentation bug. (check-in: 5454d0fe user: drh tags: trunk)
13:16
Merge the stat3-enhancement branch with trunk, but keep the resulting merge in a separate branch for now. (check-in: 63f2c785 user: drh tags: stat3-trunk)
11:25
Update compiler error message regarding the choice of memory allocator defines. (check-in: 1dada515 user: mistachkin tags: trunk)
11:18
Merge Win32 native heap support into trunk. (check-in: 5238a749 user: mistachkin tags: trunk)
05:40
In the MSVC makefile, allow symbols to be enabled without NDEBUG defined. Also, for the win32lock test, make sure the database is closed prior to shutdown. (Closed-Leaf check-in: 5ed7633d user: mistachkin tags: winNativeHeap)
01:45
Disable checking the winMemData structure signature when compiled with NDEBUG. (check-in: 50edc2f9 user: mistachkin tags: winNativeHeap)
01:32
Allow the Win32 native heap flags to be overridden at compile-time. (check-in: 1c2ecec8 user: mistachkin tags: winNativeHeap)
00:34
Create a new pager type, PAGER_SORTER, for use in the external merge sort. Such pagers are always held in memory but do report when they are under memory pressure by calling pagerStress. (check-in: c71d7320 user: drh tags: trunk)
2011-08-25
20:18
Reorder some of the branches in backup.c in order to make the code easier to test. (check-in: 2c443d47 user: drh tags: trunk)
19:28
Replace an assert() that a condition may not occur in backup.c with code to handle that condition, which can occur. (check-in: 472c74b3 user: dan tags: trunk)
18:54
Fix harmless compiler warnings in test code. No changes to the core. (check-in: 16f83fec user: drh tags: trunk)
18:01
Disable external merge source when SQLITE_TEMP_STORE==3. Add documentation to the OP_OpenSorter opcode. (check-in: 5a690486 user: drh tags: trunk)
13:46
Fix the SQLITE_DISABLE_DIRSYNC compile time option. (check-in: 6deb3ea1 user: dan tags: trunk)
04:09
Add comments for the various debug levels. When debugging, disable optimizations. Prevent the win32lock tests from spinning forever. (check-in: 40185923 user: mistachkin tags: winNativeHeap)
03:38
Fix an file separator character issue with test_quota.c that was causing it to fail on windows. (check-in: ddb8d3e8 user: drh tags: trunk)
02:02
In the MSVC makefile, support several levels of debugging, each one building on the previous. Also, add comment about the SQLITE_WIN32_MALLOC_VALIDATE macro. (check-in: 4257e9b7 user: mistachkin tags: winNativeHeap)
01:58
Cherrypick the [d4f6437f8d] change so that SQLITE_FCNTL_SIZE_HINT is always honored and never undone by memory pressure on windows. (check-in: 67ff8d27 user: drh tags: trunk)
01:42
Add the sqlite3_quota_file() interface to test_quota.c. (check-in: 2b7fe8e5 user: drh tags: trunk)
01:16
Make sure that SQLITE_FCNTL_SIZE_HINT on Windows does not shrink the file. (check-in: d4f6437f user: mistachkin tags: winNativeHeap)
00:14
Add the SQLITE_EXTRA_INIT macro. (check-in: a3220f36 user: drh tags: trunk)
2011-08-24
17:42
Add error logging to native Win32 heap support. (check-in: 7fca5a28 user: mistachkin tags: winNativeHeap)
16:13
Experimental work to allow SQLite to use the native Win32 heap API. (check-in: bf3d0ab5 user: mistachkin tags: winNativeHeap)
15:18
Updates to the sqlite3_mem_methods documentation. (check-in: 988998fe user: drh tags: trunk)
15:12
Fix some harmless compiler warnings. (check-in: 46f5a68b user: drh tags: trunk)
01:25
Changes to test_quota.c to make quota groups persistent even after files are closed. Files remain a part of the quota group until they are deleted. (check-in: 04111ce9 user: drh tags: trunk)
2011-08-23
23:41
Simplifications to the SQLITE_PAGECACHE_BLOCKALLOC logic. Reduce the number of difficult-to-reach branches. (check-in: d5d835fe user: drh tags: trunk)
20:11
If the application-defined openDirectory() function returns SQLITE_CANTOPEN, then silently ignore the error. This allows the chromium sandbox to disallow opening of directories without causing errors. (check-in: 880b5115 user: drh tags: trunk)
19:46
Change the way the "crash" VFS (test6.c) handles SQLITE_FCNTL_SIZE_HINT. (check-in: 40dd8a60 user: dan tags: trunk)
16:41
Have the "crash" VFS used by the tcl tests (test6.c) handle SQLITE_FCNTL_SIZE_HINT internally, instead of passing it directly through to the underlying VFS. This is important if the crash VFS is simulating non-default device characteristics such as SQLITE_DEVCAP_SEQUENTIAL or ATOMIC. (check-in: fac8bc8f user: dan tags: trunk)
13:27
Ifdef out routines in pcache1.c that are used only when SQLITE_PAGECACHE_BLOCKALLOC is defined. (check-in: 0da292da user: drh tags: trunk)
12:50
Merge the PAGECACHE_BLOCKALLOC changes into trunk. (check-in: 768c1846 user: drh tags: trunk)
11:47
When copying a rollback mode database over a WAL database using the backup API, leave the destination database in WAL mode (instead of switching it to rollback mode). Fix for [af95b8c609]. (check-in: 35e6ac18 user: dan tags: trunk)
05:10
Change to test instrumentation of os_unix.c: Regard IO errors that occur within SQLITE_FCNTL_SIZE_HINT requests as benign. (This check-in was intended for trunk and went onto the branch accidentally.) (Closed-Leaf check-in: ca47da2a user: dan tags: pager-blockalloc)
00:01
Remove a branch that is always true. (check-in: a6568192 user: drh tags: trunk)
2011-08-22
20:33
Remove an unreachable branch in the FK code. (check-in: 6c227cc8 user: drh tags: trunk)
14:55
Modify test cases so that veryquick.test passes with PAGECACHE_BLOCKALLOC defined. (check-in: c6100070 user: dan tags: pager-blockalloc)
09:54
Fix for [b1d3a2e531]. (check-in: 3f3acee4 user: dan tags: trunk)
2011-08-19
18:15
Experimental change: If SQLITE_PAGECACHE_BLOCKALLOC is defined, instead of allocating pages one at a time, allocate blocks of between 15 and 63 pages in a single allocation. (check-in: 63597097 user: dan tags: pager-blockalloc)
14:54
When retrying a write() after an EINTR error on unix, be sure to also rerun the previous lseek(). Ticket [e59bdf6116036a] (check-in: 21452f3a user: drh tags: trunk)
2011-08-18
17:47
Ensure that the Tcl "db onecolumn" command returns an empty string if the SELECT statement returns zero rows. (check-in: 928bcaf0 user: dan tags: trunk)
13:45
Fix the stat3 analysis loader to be compatible with sqlite3_db_status(). Also fix some OOM issues with the stat3 analysis loader. (Closed-Leaf check-in: eaf447ea user: drh tags: stat3-enhancement)
02:51
Fix a bug in the cleanup of stat tables on a DROP TABLE in autovacuum mode. (check-in: 3fe5d54f user: drh tags: stat3-enhancement)
01:10
Fix an error with OOM processing in the ANALYZE logic. (check-in: b26ec79c user: drh tags: stat3-enhancement)
2011-08-17
07:46
Properly process x64 DLL exports, which do not contain a leading underscore, in the MSVC makefile. (check-in: d5936324 user: mistachkin tags: trunk)
02:19
Add vdbesort.c to the MSVC makefile. (check-in: 8eaa2cd3 user: mistachkin tags: trunk)
00:40
Use OP_Sort rather than OP_Rewind in order to sort the content of a new index on the CREATE INDEX statement. Add an ALWAYS() to the merge sort logic to document an unreachable branch. (check-in: f01766f4 user: drh tags: trunk)
2011-08-16
17:06
Fix a few harmless compiler warnings. Add SQLITE_ENABLE_STAT3 to the standard compiler warning script. (check-in: 3d68f9af user: drh tags: stat3-enhancement)
02:07
Allow the sqlite3VdbeJumpHere() routine to accept a negative or zero address if a prior memory allocation error has occurred. The new sqlite_stat3 logic needs this. (check-in: 9650d796 user: drh tags: stat3-enhancement)
01:15
Add the analyze8.test test module for sqlite_stat3. (check-in: 2c83ac89 user: drh tags: stat3-enhancement)
2011-08-15
19:44
Updated comments on the multiplexor extension. No changes to code. (check-in: 0f42ef69 user: drh tags: trunk)
15:37
Fix an assert() in the merge-sort logic to account for I/O errors. (check-in: c1daa809 user: drh tags: trunk)
15:27
New makefile target "sqlite3-debug.c" builds an amalgamation that include appropriate "#line" macros relating the code back to the original source files. (check-in: 26f2da24 user: drh tags: trunk)
14:41
When opening a temporary file to use in a merge-sort, pass SQLITE_OPEN_TEMP_JOURNAL instead of SQLITE_OPEN_TEMP_DB. This is a better fit, as merge-sort files are written and read sequentially like journal files. (check-in: bd04756b user: dan tags: trunk)
12:58
Update some test cases to work with sqlite_stat3 instead of sqlite_stat2. (check-in: 2504bcfb user: drh tags: stat3-enhancement)
12:02
Fix a couple of typos in comments in analyze.c. (check-in: ae31dc67 user: dan tags: stat3-enhancement)
2011-08-13
19:35
Further testing and bug fixing for sqlite_stat3. Added the Index.avgEq field to index statistics. Fixed several problems in the query planner associated with stat3. (check-in: 89b2f708 user: drh tags: stat3-enhancement)
15:25
Add the sqlite_stat3.nDLT field. Use an linear congruence PRNG to choose which samples to select from among those with the same nEq field. (check-in: 1dcd2428 user: drh tags: stat3-enhancement)
10:47
Fix the header comment on the implementation of the file_control_sizehint_test TCL command in test1.c. (check-in: 30919808 user: drh tags: trunk)
00:58
The ANALYZE command picks for 15 samples for sqlite_stat3 with the largest nEq fields, plus 5 other evenly spaced samples. (check-in: 8225924e user: drh tags: stat3-enhancement)
2011-08-12
16:47
Merge the experimental changes to use a merge-sort when creating an index into the trunk. (check-in: 346a453d user: dan tags: trunk)
16:34
Update Makefile.in and configure to account for new source file vdbesort.c. (Closed-Leaf check-in: 69e4b41d user: dan tags: experimental)
16:30
Merge latest trunk changes into experimental branch. (check-in: 7e515055 user: dan tags: experimental)
16:11
Remove an unused parameter from a function in vdbesort.c. Fix some comments and other details in the same file. (check-in: 1a8498d8 user: dan tags: experimental)
15:02
Add the SQLITE_OMIT_MERGE_SORT pre-processor directive. To omit the code in vdbesort.c. (check-in: 4ced2394 user: dan tags: experimental)
11:59
Add tests to improve coverage of vdbesort.c. (check-in: 87a15917 user: dan tags: experimental)
01:51
Begin a branch that experimentally replaces sqlite_stat2 with a new table called sqlite_stat3 that will hopefully facilitate better query planning decisions. (check-in: 52e1d7e8 user: drh tags: stat3-enhancement)
2011-08-10
01:52
Make the openDirectory routine in os_unix.c overrideable so that it can be turned into a harmless no-op for the chromium sandbox. (check-in: 6b236069 user: drh tags: trunk)
2011-08-09
18:14
Add command-line utilities "offsets.c" and "extract.c" for use in low-level analyzsis of database files. (check-in: dfa22ed4 user: drh tags: trunk)
2011-08-08
23:48
In os_unix.c, do not open the directory containing the database file when the database file is opened. Instead, wait until time to fsync() the directory. And do not report an error if the open fails, since some systems (Ex: AIX and a chromium sandbox) are unable to open and fsync directories. (check-in: 713b1b7d user: drh tags: trunk)
23:18
Allow the unlink() system call to be overridden in os_unix.c. (check-in: 8d1b5c3a user: drh tags: trunk)
19:26
Remove redundant parameter from vdbeSorterInitMerge() in vdbesort.c. (check-in: eec8c0df user: dan tags: experimental)
16:44
Add fault-injection and other tests (and fixes) to improve coverage of vdbesort.c. (check-in: 0e6defa6 user: dan tags: experimental)
2011-08-07
01:31
Remove relevant elements from the sqlite_stat2 table when doing a DROP INDEX or DROP TABLE. (check-in: 3c8f97ae user: drh tags: trunk)
2011-08-06
15:09
Fix a problem with building large indexes introduced by the previous commit. (check-in: 038ec9ea user: dan tags: experimental)
12:01
In temp files used for merge sorting, store the size of each packed-memory-array at the start of the array itself. This is to avoid having to store the offsets of all arrays in the (potentially very large) file in main-memory. (check-in: 8051c176 user: dan tags: experimental)
2011-08-05
11:49
Minor internal changes to vdbesort.c. Also, default to merging lists together 16 at a time. (check-in: 9ddc324a user: dan tags: experimental)
2011-08-04
18:43
Fix a comment in vdbesort.c. (check-in: db8518ca user: dan tags: experimental)
12:14
Change to using packed-memory-arrays instead of b-trees when performing an offline merge-sort for CREATE INDEX. This makes it easier to control the number of disc seeks required when merging. (check-in: a4770d07 user: dan tags: experimental)
2011-08-03
22:06
Merge the winopen-retry-logic branch into trunk. The biggest change here is to test scripts, which should now use such as copy_file and delete_file from tester.tcl rather than the raw file commands of TCL. (check-in: b90c28be user: drh tags: trunk)
16:40
Update the OP_Move opcode to shift the pScopyFrom pointer of aliases when compiled with SQLITE_DEBUG. Ticket [d63523637517386191]. (check-in: a2135ad1 user: drh tags: trunk)
2011-08-02
23:45
Add explanatory comment to the win32lock-2.2 test case. (Closed-Leaf check-in: 4cb17881 user: mistachkin tags: winopen-retry-logic)
23:34
Correct subtle timing issues in the win32lock test cases and in the lock_win32_file Tcl command. Also, eliminate superfluous MSVC compiler warnings. (check-in: 7baf0294 user: mistachkin tags: winopen-retry-logic)
20:19
Fix missing info exists check for win32lock-2.2 (the one previously applied to win32lock-1.2). (check-in: 8a52698e user: mistachkin tags: winopen-retry-logic)
20:14
Exclude the 8_3_names.test script from the inmemory_journal permutation. (check-in: 78fc94c8 user: drh tags: trunk)
20:03
Replace the missed 'file copy' in malloc_common.tcl with copy_file. (check-in: cd20b4ef user: mistachkin tags: winopen-retry-logic)
20:01
Merge in the permutation changes from trunk. (check-in: b30a5e30 user: drh tags: winopen-retry-logic)
19:59
Also exclude backcompat.test from inmemory_journal since inmemory_journal is not compatible with WAL mode. (check-in: 861a5b62 user: drh tags: trunk)
19:42
Merge the latest trunk changes into the winopen-retry-logic branch. (check-in: 8bef97a0 user: drh tags: winopen-retry-logic)
19:30
Omit backcompat.test from the journaltest permutation because it uses WAL mode which is incompatible with journaltest. (check-in: 2bbf3150 user: drh tags: trunk)
10:56
Minor fixes to vdbesort.c code in preparation for a major rework. (check-in: 7f339c0e user: dan tags: experimental)
01:57
Make sure IS NOT NULL constraints work on virtual tables. Fix for ticket [6c14288a473ceff]. (check-in: a55f4ab9 user: drh tags: trunk)
00:57
Add retry logic for AV defense to winOpen. Also, refactor test suite to allow the key Tcl file operations (e.g. copy and delete) to be retried. (check-in: 9007586f user: mistachkin tags: winopen-retry-logic)
2011-07-30
23:50
Fix a (humorous) typo in the lemon documentation. (check-in: ed630b01 user: drh tags: trunk)
2011-07-28
20:48
Merge changes for the new sqlite3_file_control() that will cause the -wal and -shm files to persist after the last database connection closes. (check-in: 1b56677b user: mistachkin tags: trunk)
19:16
Remove redundant sub-expression from retry loop invariant in winAccess. Also, make check for SQLITE_ACCESS_READWRITE formally correct. (check-in: 93079a92 user: mistachkin tags: trunk)
07:34
Fix conditional for retry logic in winAccess and add missing call to logIoerr. (check-in: 8a145863 user: mistachkin tags: trunk)
00:14
Use osStat() instead of stat() consistently in os_unix.c (check-in: 9109128c user: drh tags: trunk)
2011-07-26
16:23
Test cases added. Fix the query mode. (Closed-Leaf check-in: a9d8794a user: drh tags: persistent-wal-patch)
16:03
Prototype change for a new sqlite3_file_control() that will cause the -wal and -shm files to persist after the last database connection closes. (check-in: e34c553b user: drh tags: persistent-wal-patch)
2011-07-25
23:25
Enable the SQLITE_FCNTL_SIZE_HINT on unix even if SQLITE_FCNTL_CHUNK_SIZE has not been set. (check-in: 05c9832e user: drh tags: trunk)
2011-07-23
13:54
Merge the winAccess retry logic from the anti-antivirus branch into the trunk. (check-in: 08d0e879 user: drh tags: trunk)
13:11
In the multiplexor, close auxiliary files before deleting them when doing a truncate. (check-in: 6fb7cfc2 user: drh tags: trunk)
2011-07-22
21:25
Add retry logic for AV defense to winAccess(). Also allow OS tracing to be enabled by a compile-time option. (Closed-Leaf check-in: a6b85c73 user: drh tags: av-defense)
11:23
Also add the sqlite3-all.c target to the MSVC makefile. (check-in: 8ce2b74a user: drh tags: trunk)
11:16
Add makefile targets sqlite3-all.c. (check-in: 71f7be58 user: drh tags: trunk)
10:53
Adjust the maximum number of open database connections in wal3.test down for OpenBSD. (check-in: b38e52f6 user: drh tags: trunk)
10:33
Use $(TCLSH_CMD) instead of tclsh in the autoconf makefile. (check-in: fd36d806 user: drh tags: trunk)
2011-07-21
21:29
Compile with the SQLITE_ENABLE_8_3_NAME macro set to 2 to force 8+3 filenames to be on all the time. (check-in: ae83dac7 user: drh tags: trunk)
20:59
All multiplexor chunk sizes up to 4GiB. Disable the multiplexor if the chunk size is set to 0. (check-in: 83191ad6 user: drh tags: trunk)
2011-07-20
17:59
For an existing multiplexed database, try to set the chunk size automatically based on the sizes of the preexisting pieces. (check-in: 427a9a51 user: drh tags: trunk)
17:13
All the SQLITE_OPEN_URI flag to propagate down into the VFS. (check-in: 29866f95 user: drh tags: trunk)
16:35
When the multiplexor opens an auxiliary file, it now persists the name of that file until it is closed, as it should. Remove the limit on the number of auxiliary files used by the multiplexor. (check-in: 1ffa542b user: drh tags: trunk)
2011-07-19
18:29
Formatting changes on the multiplexor code - make sure no lines exceed 80 characters. No logical changes. (check-in: ed5f0aad user: drh tags: trunk)
15:27
Increase the version number to 3.7.8. (check-in: 4355bf29 user: drh tags: trunk)
2011-07-15
13:43
In os_unix.c, check if the ESTALE macro is defined before using it. (check-in: 87017410 user: dan tags: trunk)
2011-07-13
18:31
Do not try to use STAT2 to refine the row estimate of a query that uses a unique or nearly-unique index. (check-in: efffc49b user: drh tags: trunk)
16:03
Added the SQLITE_FCNTL_WIN32_AV_RETRY file control for configuring the retry counts and delays in the windows VFS. (check-in: 7aaf0a6a user: drh tags: trunk)
2011-07-12
14:38
Merge the improved anti-virus defenses into the trunk. (check-in: 0207fd9b user: drh tags: trunk)
14:28
Experimental support for speeding up CREATE INDEX commands using an offline merge sort. (check-in: 30dbf0fe user: dan tags: experimental)
14:02
Revise logic in winDelete to check the file prior to attempting to delete it. (Closed-Leaf check-in: 36f11acc user: mistachkin tags: av-defense)
13:51
Improvements to the logging that occurs on an antivirus I/O retry. (check-in: ff0ff75c user: drh tags: av-defense)
11:04
Update the anti-virus retry logic for DeleteFile(). Invoke sqlite3_log() for each anti-virus retry. Make the retry delay configurable at compile-time. (check-in: 89f1848d user: drh tags: av-defense)
2011-07-11
23:45
Update the TCL commands for setting windows manditory locks. Add test cases for manditory lock delays under windows. (check-in: 03af4c17 user: drh tags: trunk)
18:17
Change the windows backend to retry read and write requests if the encounter ERROR_LOCK_VIOLATION and ERROR_SHARING_VIOLATION errors - which we think sometimes happens due to aggressive anti-virus software. (check-in: c20aca06 user: drh tags: trunk)
2011-07-09
16:17
Fix harmless compiler warnings on unix. (check-in: 90b1aea1 user: drh tags: trunk)
13:00
In where.c::findIndexCol - make sure that the Expr.op is TK_COLUMN before accessing the Expr.iColumn and Expr.iTable fields. Also fix a couple of unreachable branches. (check-in: 418a4da2 user: drh tags: trunk)
2011-07-08
17:02
Change the default chunk size on test_multiplex.c to 2147418112 bytes (formerly 1073741824 bytes) and make the default configurable at compile-time using SQLITE_MULTIPLEX_CHUNK_SIZE and at run-time using the "chunksize" URI query parameter. Add support fo test_multiplex to the shell. (check-in: e305b5a9 user: drh tags: trunk)
16:10
Fix for [54844eea3f]: Do not create automatic indexes on correlated sub-queries. (check-in: 9f14fa56 user: dan tags: trunk)
13:07
Extend the SQLITE_TESTCTRL_OPTIMIZATIONS option to disable DISTINCT optimizations. (check-in: 18501dd1 user: drh tags: trunk)
2011-07-07
08:52
Update the tool/symbols.sh script to check for accidentally exported global variables. (check-in: 71b749a9 user: drh tags: trunk)
08:19
Add a target to main.mk that will fail if the amalgamation contains any exported symbols that do not begin with "sqlite3_". Run this target from within releasetest.tcl. Add "static" to a couple of private functions in mem3.c. (check-in: a68b6580 user: dan tags: trunk)
07:37
Remove accidental global variable "doclist" from fts3Int.h. (check-in: f244b2f3 user: dan tags: trunk)
2011-07-06
09:36
Expose the value of compile time symbol SQLITE_MAX_DEFAULT_PAGE_SIZE to test scripts. (check-in: 33573663 user: dan tags: trunk)
2011-07-04
06:52
Adjust a couple of test scripts so that they work with OMIT_UTF16 builds. (check-in: 6c51bad0 user: dan tags: trunk)
2011-07-02
19:12
Add a testcase macro to ensure testing a boundary case in DISTINCT processing. (check-in: ff9fc722 user: drh tags: trunk)
15:32
Ensure that automatic indexes are only created in scenarios where they may be used more than once. (check-in: 27c65d4d user: dan tags: trunk)
09:46
Merge experimental changes improving optimization of DISTINCT queries with the trunk. (check-in: 45e581bf user: dan tags: trunk)
06:44
Fix a broken assert() in where.c. (Closed-Leaf check-in: 090b2917 user: dan tags: experimental)
2011-07-01
18:43
Merge latest trunk changes with experimental branch. (check-in: e56be74e user: dan tags: experimental)
18:26
Improve use of indexes to optimize DISTINCT queries. (check-in: 6c202ea0 user: dan tags: experimental)
14:22
Test case for ticket [d6ddba6706353915ceed] (check-in: 953e169e user: drh tags: trunk)
14:21
Improvements and tests for detection of redundant DISTINCT qualifiers. (check-in: 7337293c user: dan tags: experimental)
13:50
Ignore the database name on the target table when parsing a CREATE TABLE statement out of the sqlite_master table. This is a fix for ticket [d6ddba6706353] that preserves backwards compatibility. (check-in: 009c96ea user: drh tags: trunk)
2011-06-30
20:17
Experimental changes to improve optimization of DISTINCT queries. (check-in: f7ba0219 user: dan tags: experimental)
2011-06-29
17:11
Pass the BTREE_UNORDERED hint into both sqlite3BtreeOpen() and into sqlite3BtreeCreateTable(). (check-in: 591de898 user: drh tags: trunk)
2011-06-28
14:16
Merge the fts3-changes branch back into the trunk. (check-in: b9477eb0 user: dan tags: trunk)
11:58
Add a fix and tests for the FTS deferred token logic. (Closed-Leaf check-in: 91daea7d user: dan tags: fts3-changes)
09:51
Merge latest trunk changes with fts3-changes branch. (check-in: 22668647 user: dan tags: fts3-changes)
07:15
Changes to allow FTS to be compiled as a loadable module again. (check-in: 29e69f38 user: dan tags: trunk)
2011-06-27
19:37
Remove an unnecessary assignment from vdbeapi.c. (check-in: 6c871ac1 user: dan tags: trunk)
19:25
Merge latest trunk changes. (check-in: 11ea98e4 user: dan tags: fts3-changes)
19:12
Remove an unnecessary assignment from vdbeapi.c. (check-in: 25e5b768 user: dan tags: fts3-changes)
16:55
Add a case to permutations.test to run the veryquick test suite using sqlite3_prepare() instead of sqlite3_prepare_v2(). This helps to test the fix for bug [25ee812710]. (check-in: d9f7993b user: dan tags: trunk)
11:15
Changes to improve the selection of deferred tokens within phrases. (check-in: 2c4bbd90 user: dan tags: fts3-changes)
00:01
Make sure all new statements begin life unexpired, even if they registered functions or did other actions during preparation that would have expired all statements. Fix for ticket [25ee81271091] (check-in: faa38c87 user: drh tags: trunk)
2011-06-26
23:44
Modifications to the "like.test" script in order to expose the problem reported by ticket [25ee81271091ec27a8c5]. (check-in: c4db5b64 user: drh tags: trunk)
2011-06-25
01:14
Support using nmake via cmd.exe, allow Tcl related variables to be overridden via the environment, and add 'dll' to the 'all' target. (check-in: 0cb0f306 user: mistachkin tags: trunk)
2011-06-24
18:43
Explicitly cast an argument to printf() to (int), in case the result of the pointer arithmetic expression is a 64-bit integer on some platforms. (check-in: 90cfeaf7 user: dan tags: trunk)
13:50
Fix a Windows line ending issue in a test case that was causing an incrblob test to fail. (check-in: afbe9023 user: shaneh tags: trunk)
11:29
Fix some harmless compiler warnings that were occurring with THREADSAFE=0. (check-in: 9b191bb4 user: drh tags: trunk)
2011-06-23
19:49
Version 3.7.7. (check-in: 4374b7e8 user: drh tags: trunk, release, version-3.7.7)
17:29
Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS setting that will disable affinity when writing to any index, regardless of whether or not the index is on a manifestation of a view. This allows better testing of the fix for ticket [91e2e8ba6ff2e2]. (check-in: b61a76a5 user: drh tags: trunk)
17:09
Fix some of the code issues (missing comments etc.) in the new FTS code. (check-in: 8230d831 user: dan tags: fts3-changes)
16:40
Add a test for ticket [91e2e8ba6f]. No changes to code. (check-in: c271f7e8 user: dan tags: trunk)
16:18
Do not do affinity transformations on inserts into an index for the manifestation of a view or subquery. Fix for ticket [91e2e8ba6ff2e2]. (check-in: 0b3174e0 user: drh tags: trunk)
01:42
Provide the SQLITE_MAX_SCHEMA_RETRY compile-time parameter for adjusting the number of reparse attempts after a schema change. (check-in: 8dca748b user: drh tags: trunk)
01:07
Remove unused variables from test_vfs.c (check-in: 07884cc2 user: drh tags: trunk)
00:59
If "PRAGMA page_size" commands are not authorized, the FTS module will assume a page size of 1024. (check-in: ba39382e user: drh tags: trunk)
2011-06-22
20:14
Added limited support to omittest.tcl for nmake makefile. (check-in: f5f46dc7 user: shaneh tags: trunk)
15:40
Update a test case for Windows that failed because of size_hint implementation differences. (check-in: f853fa63 user: shaneh tags: trunk)
15:21
Print a warning in oserror-1.1.1 that a valgrind warning might occur but that it is benign. (check-in: 13e96376 user: drh tags: trunk)
14:43
Adjust a test case in triggerC.test to handle non-default SQLITE_MAX_TRIGGER_DEPTH settings. (check-in: f14339c5 user: shaneh tags: trunk)
14:21
Add a flush of stdout so some test code reading from a command pipe works correctly on Windows. (check-in: 6705f21e user: shaneh tags: trunk)
10:56
Change a test case in types3.test slightly so that it works with the latest versions of Tcl. (check-in: 6e1f4df5 user: dan tags: trunk)
10:37
Modify the implementation of the test code in test_vfs.c so that test VFS objects may be invoked recursively. (check-in: 065e5a5e user: dan tags: trunk)
2011-06-21
19:39
Fix typo in previous tester.tcl commit. (check-in: c2e5faca user: shaneh tags: trunk)
19:38
Update filepath_normalize for unix. (check-in: 30dd4f88 user: shaneh tags: trunk)
19:30
Update a few of the uri tests to work on Windows. (check-in: a2a0cd4a user: shaneh tags: trunk)
18:12
Updates to nmake makefile to allow options to be passed to lib.exe. (check-in: 9eac4a6b user: shaneh tags: trunk)
15:54
Give the osLocaltime() function file scope in date.c. (check-in: 15774845 user: drh tags: trunk)
15:38
Initialize a variable introduced as part of the fix for [bd484a090c8077] in order to silence a compiler warning. (check-in: 6b9877fa user: dan tags: trunk)
15:27
Add a missing initializer for sqlite3GlobalConfig.bLocaltimeFault. (check-in: 7fe8ba2e user: dan tags: trunk)
15:24
Fix main.mk so that the "amalgamation-testfixture" target works again. (check-in: 22265323 user: dan tags: trunk)
15:01
Rework the localtime logic yet again in order to make all branches reachable and to follow GNU standards for HAVE_LOCALTIME_R-type macros. Ticket [bd484a090c8077]. (check-in: 17624809 user: drh tags: trunk)
14:35
Simplifications to the localtime() interface. Fix the case where localtime_r() is available so that it works. Ticket [bd484a090c8077]. (check-in: 5b68dae3 user: drh tags: trunk)
13:46
Change the error message returned when localtime_r() fails to "local time unavailable". Ticket [bd484a090c8077] (check-in: 0e82175f user: dan tags: trunk)
12:53
Fix an error made in the previous commit. The parameters to localtime_s() were accidentally reversed. Ticket [bd484a090c807]. (check-in: 97e86ec6 user: dan tags: trunk)
12:47
Return an error if localtime_r() fails within one of the date/time functions. Fix for [bd484a090c]. (check-in: 76ae8257 user: dan tags: trunk)
03:36
Add a new AWK script in the tool/ folder for converting text files into C string literals. Use it for building sqlite3_analyzer. (check-in: dcb46d3f user: drh tags: trunk)
2011-06-20
23:51
More typo fixes in evidence marks. No code changes. (check-in: e60eefc7 user: drh tags: trunk)
22:34
Fix typos in evidence marks on tests. (check-in: bd980be4 user: drh tags: trunk)
21:47
Fix more documentation typos. (check-in: b9cbab73 user: drh tags: trunk)
20:52
Add ability to pass linker specific options to nmake makefile. (check-in: b4f09c93 user: shaneh tags: trunk)
20:50
Fix a couple of compiler issues on Windows due to warning clean up. (check-in: 81e6f151 user: shaneh tags: trunk)
20:48
Add additional error check for disk full on Windows. (check-in: 3ee5d1a5 user: shaneh tags: trunk)
20:39
Fix documentation typos. No changes to code. (check-in: 3276f3f7 user: drh tags: trunk)
20:15
Remove the SQLITE_OMIT_CONFLICT_CLAUSE preprocessor define which was no longer in use. (check-in: 90249559 user: drh tags: trunk)
19:00
More compiler warning fixes. (check-in: ed2dda93 user: drh tags: trunk)
18:27
Fix compiler warnings in lemon by removing some of the code added by Ryan Gordon in [1e8b842039cc0]. (check-in: 76b18b2b user: drh tags: trunk)
18:00
Rework the autoconf script to better deal with utime() and dlopen(). (check-in: f69ed286 user: drh tags: trunk)
17:41
Update a couple test scripts to account for more floating point display variation in Windows-based versions of TCL. (check-in: a4a8402b user: shaneh tags: trunk)
17:24
Fix various harmless compiler warnings in FTS3 and RTREE. (check-in: fe62179e user: drh tags: trunk)
15:24
Enable crnl to nl translation for the mksqlite3c.tcl script. (check-in: 161379d2 user: drh tags: trunk)
12:24
Update some test cases in fts4aa.test. (check-in: 65e5f770 user: dan tags: trunk)
11:15
Fix a problem where FTS test code was not being included in the testfixture build when SQLITE_ENABLE_FTS4 was defined. (check-in: e539d08a user: dan tags: trunk)
10:46
Add tests for the "column:term" query syntax to fts3auto.test. (check-in: d138b0e6 user: dan tags: trunk)
2011-06-19
21:17
Do not run test tkt-2d1a5c67d.test in the inmemory_journal permutation since that test requires WAL mode which does not work with inmemory_journal. (check-in: 228c43c7 user: drh tags: trunk)
2011-06-17
18:52
Fix a header dependency in nmake Makefile. (check-in: 54492212 user: shaneh tags: trunk)
17:37
Avoid loading doclists for infrequent terms that are part of phrases twice. (check-in: 8f939723 user: dan tags: trunk)
16:04
Add a missing declaration to fts3Int.h. (check-in: 3bfd4466 user: dan tags: trunk)
15:57
Fix a few more issues with the nmake makefile. (check-in: a117005f user: shaneh tags: trunk)
15:55
Update walro.test script for Windows. (check-in: d6443f8e user: shaneh tags: trunk)
15:54
Force almagamation gen scripts to use unix line endings for consistency across platforms. (check-in: a4adc7f7 user: shaneh tags: trunk)
07:22
More updates to the nmake makefile. (check-in: 55bb56d3 user: shaneh tags: trunk)
07:07
Add Microsoft nmake compatible makefile; update a few test cases for Windows. (check-in: a7590af6 user: shaneh tags: trunk)
2011-06-16
16:06
Fix a problem with NEAR queries executed inside a transaction that writes the FTS table. (check-in: 051c756c user: dan tags: trunk)
00:54
Changes to #ifdefs so that the build goes correctly if the only FTS macro defined is SQLITE_ENABLE_FTS4. (check-in: a0b43a32 user: drh tags: trunk)
2011-06-15
23:34
Fix the multiplex.test module so that it works with the inmemory_journal permutation. (check-in: 03d9480f user: drh tags: trunk)
19:18
Further tweaks to the wal7.test test case. (check-in: 177e2d72 user: drh tags: trunk)
17:04
Add a couple of pointer type casts to test file test_quota.c. (check-in: 0df061b0 user: dan tags: trunk)
16:07
Fix the wal7.test script so that it works even if secure_delete is engaged. (check-in: 68fb7a54 user: drh tags: trunk)
13:11
Merge the improved incremental doclist loading test from the broken-build branch (which is now fixed) into trunk. (check-in: f9750870 user: drh tags: trunk)
13:02
Fix so that the TCL test harness works even if SQLITE_ENABLE_FTS is omitted. (Closed-Leaf check-in: 63ebcb52 user: drh tags: broken-build)
12:43
Fix a couple of compiler warnings. (check-in: 3899f3b9 user: drh tags: broken-build)
08:30
Add an interface to better test incremental loading of doclists by FTS4. Also some tests for this and term prefix queries. (check-in: 7a381313 user: dan tags: broken-build)
2011-06-14
14:18
Fix a memory leak that can follow an OOM error in a user-function that uses sqlite3_set_auxdata(). (check-in: 0185c4b6 user: dan tags: trunk)
11:50
Merge fts3-prefix-search branch with trunk. (check-in: b1f9c1e0 user: dan tags: trunk)
11:32
Add a couple of extra tests. (Closed-Leaf check-in: aefd46df user: dan tags: fts3-prefix-search)
09:00
Fix another bug caused by NEAR/matchinfo/order=DESC interaction. (check-in: 04907fba user: dan tags: fts3-prefix-search)
07:22
Merge recent trunk changes into fts3-prefix-search branch. (check-in: 135ce30f user: dan tags: fts3-prefix-search)
07:14
Remove unused parameters from internal fts3 function. (check-in: 06de3f2c user: dan tags: fts3-prefix-search)
2011-06-13
18:21
Update trace2.test to account for new FTS queries. (check-in: 2c201292 user: dan tags: fts3-prefix-search)
17:00
Add tests for deferred tokens to fts3auto.test. Fix a problem with OR queries and deferred tokens. (check-in: b9fb69e5 user: dan tags: fts3-prefix-search)
13:48
Changes to fts3auto.test to test OR, AND and NOT operations. (check-in: e4ab6cdb user: dan tags: fts3-prefix-search)
12:19
Use only unsigned values in the implementatin of LIKE and GLOB so that values won't overflow to negative when dealing with malformed UTF8. (check-in: 77f01578 user: drh tags: trunk)
09:11
Fix a bug exposed by combining matchinfo(), NEAR and "ORDER BY rowid DESC". (check-in: 5f6b87f4 user: dan tags: fts3-prefix-search)
2011-06-10
18:33
When updating a field that requires foreign key constraints be checked, ensure that the indexes and tables are consistent when the FK logic is run. Otherwise, it may detect the inconsistency and report database corruption. (check-in: 2b3d9996 user: dan tags: trunk)
16:33
Fix minor problems with foreign key constraints where the parent table is the same as the child table. (check-in: 442d8d8b user: dan tags: trunk)
2011-06-09
17:53
Fix a line in pcache1.c where a global data structure is accessed without using the GLOBAL() macro. This causes a subtle malfunction on test systems that use SQLITE_OMIT_WSD. (check-in: b11b2e1f user: dan tags: trunk)
10:48
Fix problems to do with using both OR and NEAR operators in a single expression. (check-in: 4e8dd19e user: dan tags: fts3-prefix-search)
2011-06-08
18:39
Fix various issues to do with deferred tokens, NEAR expressions and matchinfo(). (check-in: 3972a787 user: dan tags: fts3-prefix-search)
2011-06-07
18:35
Have NEAR queries use incremental merging. Fix issues surrounding the deferred token optimization. (check-in: 9d10a684 user: dan tags: fts3-prefix-search)
18:31
Fix a comment type on the description of the Schema object. (check-in: 095cd9a6 user: drh tags: trunk)
2011-06-06
18:14
Merge the latest trunk changes into the fts3-prefix-search branch. (check-in: 567dd843 user: drh tags: fts3-prefix-search)
14:51
Modify fts3rnd.test to run tests for both "ORDER BY docid ASC" and "ORDER BY docid DESC" with both order=ASC and order=DESC FTS tables. Fixes for some bugs found. (check-in: 89f2f482 user: dan tags: fts3-prefix-search)
13:38
Add assert() statements to verify that u16 pointers associated with the enhancement in [897f56a158] are always 2-byte aligned. (check-in: 98ccfa93 user: drh tags: trunk)
06:55
Clean up the code for processing FTS4 options a bit. (check-in: 0425138a user: dan tags: fts3-prefix-search)
2011-06-04
20:13
Remove some unreachable code. (check-in: 650e1a79 user: dan tags: fts3-prefix-search)
20:04
Allow the "order=DESC" and "order=ASC" parameters in FTS4 "CREATE VIRTUAL TABLE" statements. Tables created with "order=DESC" store all doclists in descending order, which allows optimizations normally applied to "ORDER BY docid ASC" queries to be used with "ORDER BY docid DESC" queries instead. (check-in: f6a0193f user: dan tags: fts3-prefix-search)
01:43
Performance improvement to the btree search routine. (check-in: 65db822f user: drh tags: trunk)
2011-06-03
23:28
Performance improvements on memory copies inside of btree by moving 2 bytes at a time instead of just 1 byte at a time. (check-in: 897f56a1 user: drh tags: trunk)
21:34
Performance enhancement to the blob-literal tokenizer. (check-in: 61aa2031 user: drh tags: trunk)
20:11
Create and use a function especially for adding the ParseSchema opcode. This gives a small reduction in code and a small performance increase. (check-in: 957b2ab6 user: drh tags: trunk)
18:00
FTS changes: Remove unreachable code. Fix bugs. When processing a large doclist incrementally, read from disk incrementally too. (check-in: a4c7e282 user: dan tags: fts3-prefix-search)
17:50
Factor an "if" out of a loop in balance_nonroot() for about a 1% performance increase. (check-in: 1bd72d0c user: drh tags: trunk)
14:19
Hush some harmless compiler warnings in the URI parsing logic. (check-in: 0206bc6f user: drh tags: trunk)
13:28
Include more detailed version information in the command-line shell output. (check-in: 049c3c42 user: drh tags: trunk)
13:06
Add shell scripts used for testing compiler warnings (tool/warnings.sh), for verifying that the library exports the correct symbols (tool/symbols.sh), and to demonstrate building a full-featured command-line shell (tool/build-shell.sh). (check-in: 3aca9a92 user: drh tags: trunk)
13:02
Fix the build when using SQLITE_OMIT_PRAGMA. (check-in: 051f4635 user: drh tags: trunk)
12:15
Fix an #ifdef of SQLITE_OMIT_VIRTUALTABLE that had an extra "_" character. (check-in: 93e0be2b user: drh tags: trunk)
2011-06-02
19:57
Changes to improve performance and support LIMIT clauses on fts3 tables. This branch is unstable for now. (check-in: 28149a78 user: dan tags: fts3-prefix-search)
17:24
Fix a faulty assert() in the WAL-mode logic for read-only shared memory. (check-in: a13cfe61 user: drh tags: trunk)
15:48
Add a missing check for out-of-memory in the lemon code generator. (check-in: efb20b9d user: drh tags: trunk)
13:04
Merge the read-only shared memory branch into trunk. After this merge, an unprivileged process can open WAL-mode databases owned by another user as long as a database connection with write permission exists on the database file and if the readonly_shm=1 URI query parameter is supplied. (check-in: 19084a66 user: drh tags: trunk)
2011-06-01
20:13
Make use of the sqlite3GetBoolean() interface for more robust processing of the readonly_shm query parameter inside of unixShmMap(). (Closed-Leaf check-in: 1f930d7e user: drh tags: wal-readonly)
20:01
Simplify the wal-readonly branch so that it does not require changes to anything other than os_unix.c and wal.c and a couple of new error codes. (check-in: d6b4709d user: drh tags: wal-readonly)
19:44
Pull the latest trunk changes into the wal-readonly branch. (check-in: 0b63b713 user: drh tags: wal-readonly)
19:16
Avoid unnecessary duplication of SQL parameter names. (check-in: e704e869 user: drh tags: trunk)
18:15
Refactor the SQL parameter processing so that parameter names for values that are optimized out of the prepare statement are not forgotten. (check-in: b3aaf715 user: drh tags: trunk)
2011-05-31
17:08
Merge the latest trunk changes into the wal-readonly branch. (check-in: 2c6b5a28 user: drh tags: wal-readonly)
16:50
Fix a problem in the sqlite3TestErrorName() function (used only for testing) that appears to have originated from a bad merge. (check-in: a0ae314c user: drh tags: trunk)
11:56
Update the documentation to state that any parameter that is optimized out of a prepared statement becomes an anonymous parameter for which sqlite3_bind_parameter_name() returns NULL. (check-in: 701b8a23 user: drh tags: trunk)
2011-05-30
23:42
Minor performance improvements. (check-in: f9950c6a user: drh tags: trunk)
15:06
Update evidence marks on the URI filename tests to conform to the latest documentation. (check-in: 1bab03c4 user: drh tags: trunk)
14:35
Make sure the P5 argument to the OP_VUpdate opcode is always set to a valid conflict resolution code. (check-in: e3350dbd user: drh tags: trunk)
2011-05-28
19:24
Fix a "#ifdef" from check-in [03f7d36a8a] that should have been "#ifndef". (check-in: edb865c3 user: drh tags: trunk)
15:57
Minor changes made while planning a larger change. (check-in: 84097a4c user: dan tags: fts3-prefix-search)
15:53
Print a log message on each cache spill if compiled with SQLITE_LOG_CACHE_SPILL. (check-in: 5f15579f user: drh tags: trunk)
2011-05-26
14:19
Changes to work with SQLITE_OMIT_VIRTUAL_TABLE. (check-in: 03f7d36a user: drh tags: trunk)
2011-05-25
23:18
Fix some minor and harmless compiler warnings. (check-in: a4755e70 user: drh tags: trunk)
20:25
Ignore malloc failures within the WAL file truncation attempt for journal_size_limit. (check-in: dd19105a user: drh tags: trunk)
19:17
If a prefix index of size N is not present, use a prefix index of size N+1 along with the terms index for queries for prefixes of length N. (check-in: cc83991c user: dan tags: fts3-prefix-search)
18:47
Merge trunk changes into experimental fts3-prefix-search branch. (check-in: f0f0a03d user: dan tags: fts3-prefix-search)
18:46
Fix a case where a malloc() error could lead to mismatched virtual-table xBegin/xCommit/xRollback callbacks. (check-in: d807304a user: dan tags: trunk)
18:34
Change fts4 so that the prefix= parameter is passes a comma-separated list of integers. For each integer N, a separate index of all prefixes of length N bytes is created. (check-in: be59bf49 user: dan tags: fts3-prefix-search)
15:54
Fix a compiler warning. (check-in: 6df99e52 user: drh tags: trunk)
01:16
Changes to savepoint in virtual tables for simpler and more consistent operation. (check-in: 92f26a8b user: drh tags: trunk)
2011-05-24
18:49
If the fts4 option prefix=1 is specified, have the fts4 module maintain an index of prefixes as well as terms. (check-in: b5bdc639 user: dan tags: fts3-prefix-search)
15:36
Do not invoke the xRollbackTo or xRelease methods of a virtual table without having first invoked an appropriate xSavepoint method. Add assert() statements to FTS3/4 to verify that this is happening in all cases. (check-in: 651ef242 user: drh tags: trunk)
00:35
Make sure the savepoint index is correct one calls to sqlite3VtabSavepoint with SAVEPOINT_BEGIN. (check-in: a9d09566 user: drh tags: trunk)
2011-05-23
18:37
Minor cleanups to the header comments on various test_*.c file, to make the suitable for programmer-level documentation. (check-in: a65d043a user: drh tags: trunk)
2011-05-20
20:42
Adjustments to documentation hyperlinks to accommodate the new VFS documentation. (check-in: 139a8f53 user: drh tags: trunk)
13:26
Add a big comment to the top of test_vfstrace.c to explain how to compile and use that module. (check-in: a6a0fefb user: drh tags: trunk)
01:50
Fix the URI test script so that it works even if there is a subdirectory named "test". (check-in: 2018d4e1 user: drh tags: trunk)
01:49
Mark an unreachable branch in the recent WAL problem as unreachable. (check-in: 3e8a29ff user: drh tags: trunk)
2011-05-19
07:53
Add another test for [2d1a5c67df]. (check-in: 97fcd9e8 user: dan tags: trunk)
01:21
When committing a WAL transaction, make sure at least one page is written to the WAL file so that the WAL subsystem will have a page on which to set the commit flag. Ticket [2d1a5c67dfc236]. (check-in: 67bf1c9a user: drh tags: trunk)
2011-05-18
17:15
Enable URI filenames in the command-line shell. Add a check to the beginning of the shell to make sure it is compiled with the same SQLite source and header. (check-in: de58cb28 user: drh tags: trunk)
03:02
Make sure the multiplexor shim uses a full pathname for temp file that it creates. (check-in: 186d7ff1 user: drh tags: trunk)
02:41
Remove unreachable branches from the 8.3 filename logic. (check-in: 4f7e7b44 user: drh tags: trunk)
02:22
Update multiplex VFS to handle empty filenames which can occur for during vacuuming (temp file names.) (check-in: a0749860 user: shaneh tags: trunk)
2011-05-17
20:36
Add the ability to limit filenames to 8+3 using the SQLITE_ENABLE_8_3_NAMES compile-time option together with a URI parameter of "8_3_names=1". (check-in: 96d60985 user: drh tags: trunk)
19:43
Fix an off-by-one error in the new sqlite3_uri_parameter() function. (check-in: 9593a640 user: drh tags: trunk)
18:53
Add the sqlite3_uri_parameter() interface function for use in building new VFSes. (check-in: 6b5de95f user: drh tags: trunk)
15:56
Add extended return code SQLITE_CORRUPT_VTAB. Returned when the tcontents of the sqlite tables used internally by a virtual table module are invalid or inconsistent. (check-in: 8844e8bf user: dan tags: trunk)
15:21
Avoid exceeding array bounds when reading a corrupt database file in autovacuum mode. Fixes a problem discovered by John Regehr and Peng Li using a customized clang compiler. (check-in: f7c525f5 user: drh tags: trunk)
14:41
Avoid including fts3_term.c in the amalgamation, as it contains test code only. (check-in: f392b7ae user: dan tags: trunk)
2011-05-16
21:00
Enhance WAL mode so that the WAL file honors the journal size limit set by PRAGMA journal_size_limit. (check-in: db7e500f user: drh tags: trunk)
2011-05-13
18:51
Make arrangements so that virtual table inserts into shadow tables do not modify the sqlite3_last_insert_rowid() return. Document that this is how sqlite3_last_insert_rowid() works. (check-in: e569f18b user: drh tags: trunk)
17:11
Also add fts3_term.c to main.mk. (check-in: 966f2d2c user: drh tags: trunk)
2011-05-12
21:01
Add fts3_term.c to amalg gen script and configure input files. (check-in: 6ee07732 user: shaneh tags: trunk)
2011-05-11
20:54
Improvements to documentation hyperlinks. Change the value of SQLITE_OPEN_URI to an unreserved value. (check-in: 851ab75d user: drh tags: trunk)
19:00
URI filename documentation updates. (check-in: 8885c867 user: drh tags: trunk)
17:36
Add missing comments associated with readonly shm changes. (check-in: 6a2ea52e user: dan tags: wal-readonly)
15:53
Merge latest trunk changes. Add a couple of readonly shm tests. (check-in: cde45a03 user: dan tags: wal-readonly)
14:57
Only open a read-only connection to shared-memory if the "readonly_shm=1" option is specified as part of the database file URI (and if a read-write connection fails). (check-in: 671ba5fc user: dan tags: wal-readonly)
2011-05-10
18:39
Have flags passed to sqlite3_open_v2() apply to the main and any attached databases. And change things so that any "mode=xxx" or "cache=xxx" options specified as part of a URI for the main database do not also apply to attached databases. (check-in: 3e490915 user: dan tags: trunk)
17:43
Update URI test cases to account for the new error message format. (check-in: 5bde5680 user: dan tags: trunk)
17:31
Add experimental support for read-only connections to WAL databases. (check-in: bb59f986 user: dan tags: wal-readonly)
10:17
Add new documentation keywords to the sqlite3_vfs description. (check-in: ad3389a9 user: drh tags: trunk)
2011-05-09
19:20
Return a suitable error message if the mode= argument to a URI specifies a higher mode than what is allowed by context. Other minor cleanups for the URI parsing logic. (check-in: d9bc1c7f user: drh tags: trunk)
2011-05-07
18:40
Set the sqlite3.mallocFailed flag if sqlite3ParseUri fails with SQLITE_NOMEM. (check-in: ca3797d4 user: drh tags: trunk)
18:18
Return SQLITE_MISUSE from the sqlite3_open_v2() function if the 3rd parameter is not a valid set of bit-values. (check-in: 3c926ce0 user: drh tags: trunk)
14:40
Fix minor compiler warnings. (check-in: 139eecbe user: drh tags: trunk)
2011-05-06
18:55
Merge the uri branch with the trunk. (check-in: 88df33c4 user: dan tags: trunk)
18:53
Remove some unnecessary modifications from the uri branch. Add a test to show that ATTACH only interprets its argument as a URI if the connection was opened with SQLITE_OPEN_URI (or URI interpretation is globally enabled). (Closed-Leaf check-in: aa90b943 user: dan tags: uri)
18:34
Update comments and documentation associated with new URI parsing code. Add test file e_uri.test, containing tests mapped to documentation regarding URI filenames. (check-in: 92751788 user: dan tags: uri)
13:58
Merge windows test case fixes. No changes to code. (check-in: 2e5c0ed7 user: dan tags: trunk)
00:19
Increase the iVersion for sqlite3_module needed for the xSavepoint, xRelease, and xRollbackTo methods from 1 to 2. This is so that it will conform to published documentation. (check-in: 0f4954e9 user: drh tags: trunk)
2011-05-05
23:07
Fix an incorrect assert() in sqlite3_value_config(). Updates to the sqlite3_value_config() documentation. (check-in: 22cbc01a user: drh tags: trunk)
19:44
Changes to various test scripts so that they pass on windows. (Closed-Leaf check-in: 1586244b user: dan tags: win32-test-fixes)
18:53
Have the xFullpath method in os_win.c discard the initial "/" if a filename begins with "/X:", where X is any alphabetic character. Also fix some test issues in uri.test. (check-in: fe57a8f6 user: dan tags: uri)
17:41
Fix sqlite3_vtab_on_conflict() to return the correct values for ABORT, FAIL, and IGNORE. (check-in: f0617d61 user: drh tags: trunk)
17:00
Fix a bug in memory usage tracking that was introduced by check-in [4e33a0eaf83922]. (check-in: 8ba456ae user: drh tags: trunk)
15:39
Bump the version number to 3.7.7 on account of the new sqlite3_vtab_config() and sqlite3_vtab_on_conflict() interfaces. Updates to the documentation on those interfaces. (check-in: 930be6a1 user: drh tags: trunk)
13:54
Change sqlite3_create_module() so that it avoids resetting the schema as long as preexisting modules are unchanged. (check-in: 8485855a user: drh tags: trunk)
13:53
Add a #include to test_demovfs.c in an effort to get it to compile on Solaris. (check-in: 8f06ea33 user: drh tags: trunk)
12:35
Fix a problem in the URI code preventing the amalgamation from building. Add comments describing SQLITE_CONFIG_URI and SQLITE_OPEN_URI to sqlite.h.in. (check-in: ea562d6d user: dan tags: uri)
2011-05-04
17:35
Merge latest trunk changes with uri branch. (check-in: af279f36 user: dan tags: uri)
17:23
Merge vtab-conflict branch with trunk. (check-in: 8f9666af user: dan tags: trunk)
16:30
Fix a couple of compiler warnings in the FTS code. (Closed-Leaf check-in: 1a113359 user: dan tags: vtab-conflict)
15:41
Fix a performance problem in queries that use "ORDER BY rowid DESC" and one or more FTS auxiliary functions. (check-in: 95e09b20 user: dan tags: vtab-conflict)
12:52
Optimize "ORDER BY rowid/docid DESC/ASC" clauses on FTS tables. (check-in: 13395121 user: dan tags: vtab-conflict)
2011-05-03
15:09
Remove some unused code related to URI parsing. (check-in: 008cd0ef user: dan tags: uri)
11:53
Allow only "localhost" and "" as authorities in URIs. Do not allow escapes (%HH) in the authority part of a URI. (check-in: b8a0f1b5 user: dan tags: uri)
10:22
Change the supported URI options to "mode" and "cache". (check-in: 0a694a0b user: dan tags: uri)
2011-05-02
17:41
Merge the latest trunk changes into uri branch. (check-in: 7fdd0786 user: dan tags: uri)
2011-04-28
18:46
Have r-tree virtual tables support on-conflict clauses. (check-in: 822ab52f user: dan tags: vtab-conflict)
2011-04-27
19:54
In windows, ignore ERROR_NOT_LOCKED when calling the read-lock removal routine. (check-in: f55156c5 user: drh tags: trunk)
18:08
Change the name of an internal function to avoid conflicts with the math library. (check-in: 1bd1484c user: drh tags: trunk)
16:05
Expose the UTF8 to MBCS conversion routine in os_win.c to external applications. (check-in: 7b479b9b user: drh tags: trunk)
16:02
Add documentation for the newly introduced sqlite3_vtab_config() and on_conflict() API functions. Test that encountering an SQLITE_MISMATCH in fts3 does not corrupt the full text index. (check-in: abdd70ae user: dan tags: vtab-conflict)
12:08
Fix problems related to savepoint rollback and fts3. (check-in: ff69f823 user: dan tags: vtab-conflict)
01:00
Fix a comment typo. (check-in: 19c6625a user: drh tags: trunk)
2011-04-26
19:21
Extra tests for fts3. And fixes for conflict-handling related problems in fts3. (check-in: fb4a3558 user: dan tags: vtab-conflict)
2011-04-25
18:49
Add support for on conflict clauses to fts3/fts4. (check-in: 6d2633a6 user: dan tags: vtab-conflict)
18:20
Test case for the ".log" command to the command-line shell. (check-in: 7d0ff26a user: drh tags: trunk)
18:03
Add the (deliberately undocumented) sqlite_log() SQL function as a built-in. (check-in: f7806e03 user: drh tags: trunk)
18:01
Invoke the unix open() system call through a wrapper to avoid problems resulting from differing declarations to that function in various systems. (check-in: 4c7ff4dd user: drh tags: trunk)
2011-04-24
22:56
Disable the transfer optimization if the destination table contains any foreign key constraint and foreign key constraints are enabled. Ticket [6284df89debdf]. (check-in: ddeea5ab user: drh tags: trunk)
2011-04-23
19:06
Test that it is now possible to use different VFSs for two databases attached to a single handle. (check-in: 2af51f85 user: dan tags: uri)
15:54
Have the ATTACH command do URI interpretation in the same way as sqlite3_open() and sqlite3_open_v2() do. (check-in: 68240e75 user: dan tags: uri)
10:12
Fix parsing of %00 in uri handling code. (check-in: 44f0874a user: dan tags: uri)
2011-04-22
22:55
Add the "getlock" utility for determining if a database file (on unix) is currently locked. (check-in: 0ab24b13 user: drh tags: trunk)
19:37
Add the start of the "uri-filenames" feature. (check-in: b8a8132e user: dan tags: uri)
2011-04-20
13:35
Update a comment in e_createtable.test. (check-in: d8b149f5 user: dan tags: trunk)
2011-04-19
06:43
Avoid passing NULL to the xOpen method of an FTS3/4 tokenizer. (check-in: 0dd09fc0 user: dan tags: trunk)
2011-04-17
17:09
Change the prototype for the open() system call to agree with Posix. Though a faulty function prototype in a pointer cast is a seemingly innocuous error, the correct prototype is necessary for pthreads to work correctly on NetBSD. (check-in: 3e135748 user: drh tags: trunk)
00:55
Adjust some test cases in triggerC.test to handle non-default SQLITE_MAX_TRIGGER_DEPTH settings. (check-in: 9d6c6129 user: shaneh tags: trunk)
2011-04-15
21:37
Adjust test case in quota.test to handle Windows dir seperators. (check-in: 75ed1bce user: shaneh tags: trunk)
20:18
Updates to test code in os_win to bring winSync inline with unixSync (test code only). Updated a few test scripts to account for dirsync counting issues on Windows. (check-in: 8f99c5bf user: shaneh tags: trunk)
19:30
Remove stray semi-colon that MSVC complained about. (check-in: 7a085271 user: shaneh tags: trunk)
16:39
Changes to memory allocator usage tracking to delay the onset of integer overflow. (check-in: 4e33a0ea user: drh tags: trunk)
14:46
Do not do full table scans of unordered indices. (check-in: a8761a91 user: drh tags: trunk)
14:33
Fix #ifs involving SQLITE_ENABLE_LOCKING_STYLE so that they check the value of that macro and not whether it is defined. (check-in: 8775f159 user: drh tags: trunk)
12:36
Make sure the unix backend returns SQLITE_FULL if write() fails with an ENOSPC error code. (check-in: 721e3c16 user: drh tags: trunk)
2011-04-13
23:42
Remove extra CR and NL characters from FormatMessage() generated error messages in the windows VFS. (check-in: 8332949c user: drh tags: trunk)
20:26
Add new extended error codes for I/O errors on seek and shared-memory map. Add sqlite3_log() calls in the windows backend to record details of errors. (check-in: fe603217 user: drh tags: trunk)
16:52
Fix a usage comment typo in the showdb utility. (check-in: 8744ced4 user: drh tags: trunk)
14:40
Version 3.7.6.1 (check-in: a35e83ea user: drh tags: trunk, release, version-3.7.6.1)
14:02
Bump the version number to 3.7.6.1 in preparation for a bug-fix release. (check-in: 5f0c394a user: drh tags: trunk)
13:42
Make sure the array of overloadable system calls is always correctly sized, regardless of the compile-time configuration. Ticket [bb3a86e890c8e96ab]. (check-in: c6e727ab user: drh tags: trunk)
2011-04-12
01:58
Version 3.7.6. (check-in: f9d43fa3 user: drh tags: trunk, release, version-3.7.6)
2011-04-11
18:35
Do not override the fchmod system call in unix unless the SQLITE_ENABLE_LOCKING_STYLE compile-time option is engaged. (check-in: 51029d84 user: drh tags: trunk)
15:36
Updates to the OS/2 patches. This change also move the location of a global variable declaration in shell.c which might effect other build targets. (check-in: 73906b67 user: drh tags: trunk)
15:35
Fix a signed integer overflow problem in the testcase() macro. (check-in: f18f5f58 user: drh tags: trunk)
13:57
Apply OS2 WAL patch. Changes to os_os2.c only. (check-in: eac17106 user: dan tags: trunk)
05:38
Change exists.test to run all tests with and without "PRAGMA journal_mode=WAL". (check-in: c4e624db user: dan tags: trunk)
2011-04-10
16:39
Add a simple test program to aid in verifying that journals are cross-platform. (check-in: a65a7a59 user: drh tags: trunk)
2011-04-09
19:17
Add test file unordered.test. (check-in: f346dae1 user: dan tags: trunk)
17:53
Remove an always-true conditional. Replace it with an assert(). (check-in: 1c2f0f84 user: drh tags: trunk)
17:32
Add VerifyCookie instructions to "DROP XXX IF EXISTS" statements if the specified database object does not exist when the statement is prepared. (check-in: a46f3290 user: dan tags: trunk)
15:39
Add an OP_VerifyCookie instruction to "CREATE XXX IF NOT EXISTS" commands. This way, if the specified database object existed when the statement was compiled but removed from the database before sqlite3_step() was called, the statement still works as expected (and creates the object). (check-in: b9dbd993 user: dan tags: trunk)
03:20
If the keyword "unordered" appears at the end of the SQLITE_STAT1.STAT column for an index, then use that index for equality lookups only, never for range queries or sorting. This feature is currently undocumented and my change or be removed in a future release. (check-in: 8a42e236 user: drh tags: trunk)
03:04
Back out the SQLITE_OMIT_UNIQUE_ENFORCEMENT compile-option. It is an unneeded complication. (check-in: 927e955b user: drh tags: trunk)
02:34
When ATTACH-ing a new database to an existing database with a codec, do not enable the codec in the attached database if it is not enabled in the existing database and it is not requested by the USING clause. (check-in: 4caa5fc8 user: drh tags: trunk)
02:09
Do not do a backup if the number of reserved bytes in the source and destination do not match. Try to make the match, but if unable fail. (check-in: 0ca8a233 user: drh tags: trunk)
2011-04-08
21:35
Always make sure the left-hand side of the IS NOT NULL operator is a simple column, not a general expression, before applying the IS NOT NULL query optimization. (check-in: 543f75a6 user: drh tags: trunk)
18:47
Add some rtree tests to the backcompat.test script. (check-in: 8ea3601c user: dan tags: trunk)
17:22
Fix incrvacuum2.test so that it works with the inmemory_journal permutation. (check-in: 7b8e1761 user: dan tags: trunk)
2011-04-07
19:56
Change two new internal functions in where.c from global to file scope. (check-in: 5bbfa17d user: drh tags: trunk)
15:24
Add test case to verify [d03d63d77e] works. (check-in: bf78acb9 user: dan tags: trunk)
14:47
When searching a list of freelist trunk pages looking for a specific page to allocate, avoid unnecessary journalling of the unchanged trunk pages towards the start of the list. (check-in: d03d63d7 user: drh tags: trunk)
14:05
Avoid running thread1.test or thread2.test if SQLITE_MUTEX_NOOP is defined. (check-in: 532ae32e user: dan tags: trunk)
10:09
Do not run multi-threaded Tcl tests if the library was built with SQLITE_MUTEX_NOOP defined. (check-in: e4e99606 user: dan tags: trunk)
05:17
Fix test script attach4.test so that it works with type 1 VFS implementations (no wal). And wal.test so that it work with a small default pager cache size. (check-in: 29c7b425 user: dan tags: trunk)
03:41
Fix a couple of MSVC compiler warnings; (check-in: 748c9109 user: shaneh tags: trunk)
01:54
Fix an issue with an analyze test. No code changes. (check-in: cddf79db user: shaneh tags: trunk)
01:14
Fix typos in documentation comments. No changes to code. (check-in: 9c64b5a9 user: drh tags: trunk)
2011-04-06
22:05
Fix a performance regression: Keep two btree masks in each prepared statement; one for btrees used and another for btrees that require locks. Only try to lock the btrees identified by the second mask. (check-in: 614de91a user: drh tags: trunk)
19:15
Fix a benign inaccuracy in the os_unix.c SQLITE_FCNTL_SIZE_HINT code. (check-in: 61a6ccbe user: dan tags: trunk)
17:54
Changes to support building with various SQLITE_OMIT_XXX options defined. (check-in: 2039ed95 user: dan tags: trunk)
12:38
Update a comment in sqliteLimit.h. No changes to code or tests. (check-in: b7296fd3 user: dan tags: trunk)
12:37
Add configurations featuring the -ftrapv switch and large values for SQLITE_MAX_ATTACHED to releasetest.tcl. (check-in: 989588ab user: dan tags: trunk)
2011-04-05
22:08
Suppress many harmless compiler warnings, mostly signed/unsigned comparisons within asserts or unused parameters in extensions. (check-in: 3eeb0ff7 user: drh tags: trunk)
19:27
Simplifications to the sqlite3BtreeEnterAll() and LeaveAll() routines. Just have them call BtreeEnter and BtreeLeave() repeatedly rather than trying to be clever. (check-in: 51039b35 user: drh tags: trunk)
19:26
Simplifications to the sqlite3ResetInternalSchema() logic to eliminate unreachable branches. (check-in: a4c3ac98 user: drh tags: trunk)
18:34
Remove dead code from the OP_JournalMode opcode in the VDBE. This code seems to have been useless since [f88c6367d2] on 2010-08-07. (check-in: a89f24e2 user: drh tags: trunk)
17:31
Remove the mutex counter and the logic that attempts to verify that btree mutexes are held continuously. We are not making that assumption at this time. (check-in: 242ce7cf user: drh tags: trunk)
16:09
When committing a WAL transaction, do not write any pages to the WAL file with page numbers greater than the size of the database image in pages. (check-in: 311d0b61 user: dan tags: trunk)
14:22
Fix a documentation typo. (check-in: d25c17ef user: drh tags: trunk)
13:12
Merge the scheme-parse-refactor changes into trunk: (1) added sqlite3SchemaMutexHeld() asserts, (2) Use -1 instead of 0 to mean "all" in sqlite3ResetInternalSchema(), and other cosmetic changes. (check-in: 5db4511d user: drh tags: trunk)
12:25
Fix the P4_TRANSIENT constant so that it works correct - so that it really makes a copy of the string for the P4 argument. Use P4_TRANSIENT wherever appropriate. Change P4_STATICs of schema names to P4_TRANSIENT. (check-in: bf664b20 user: drh tags: trunk)
11:26
Improved comment on the sqlite3SrcListLookup function. (check-in: bcbc9ff5 user: drh tags: trunk)
02:33
Added ifcapable wal to some test scripts; (check-in: 6b270381 user: shaneh tags: trunk)
02:21
Added ifcapable utf16 to a few test cases; (check-in: 57e0919b user: shaneh tags: trunk)
2011-04-04
23:08
Add a comment to the VACUUM implementation explaining when all schemas are reset and not just the "main" schema. (Closed-Leaf check-in: 2aff1b0c user: drh tags: schema-parse-refactor)
21:48
Changes for consistent use of SQLITE_OS_UNIX and removal of legacy OS_UNIX from testfixture source; (check-in: 78b6eee2 user: shaneh tags: trunk)
21:25
Additional schema mutex checks for sqlite3RootPageMoved(). Reduce the scope of sqlite3ResetInternalSchema() in a few places. (check-in: 39c00907 user: drh tags: schema-parse-refactor)
20:40
Minor comment typo corrections. Simplify an assert. No functional changes. (check-in: 82c23162 user: drh tags: schema-parse-refactor)
18:22
Add a description of access rules for the Schema object and lots of asserts to verify that the access rules are followed. (check-in: ae8374af user: drh tags: schema-parse-refactor)
15:38
Add the "--start=[permutation:][testfile]" option to tester.tcl. For starting quick.test or all.test at the nominated permutation and/or test file. (check-in: a97e8505 user: dan tags: trunk)
14:05
Merge test_syscall.c fix from the trunk. (check-in: 1e1a23cc user: dan tags: schema-parse-refactor)
14:03
Have test_syscall.c include "sqliteInt.h". Otherwise the SQLITE_OS_UNIX symbol may not be defined correctly. (check-in: fda8fadd user: dan tags: trunk)
13:40
Rename sqlite3SchemaFree() to sqlite3SchemaClear() to more accurately reflect its function. (check-in: 71d74400 user: drh tags: schema-parse-refactor)
13:07
Merge in the latest changes from trunk. (check-in: 47b79c40 user: drh tags: schema-parse-refactor)
12:29
Move the expired-statement test for OP_Function until after all memory has been freed. The test is still commented out, however. (check-in: 425e3edb user: drh tags: trunk)
07:05
Changes to oserror.test and syscall.test so that they work with the in-memory journal permutation test. (check-in: 4e996f36 user: dan tags: trunk)
03:27
Suppress unused parameter warnings in sqlite3VdbeEnter() and related routines. (check-in: f8e98ab3 user: drh tags: trunk)
00:14
Remove the BtreeMutexArray object - use the Vdbe.btreeMask field to accomplish the same result. Add a generation counter to btree mutexes in order to assert that mutexes are never temporarily dropped over a range of instructions in order to do deadlock avoidance in some subroutine. Lock all btrees in any Vdbe program that uses OP_ParseSchema. (check-in: d81708f7 user: drh tags: trunk)
2011-04-03
18:19
Make sure that the constant 1 is cast to yDbType before shifting to create an attached database mask. This check-in is a follow-up and fix to the [7aaf8772274422] change that increases the maximum number of attached databases from 30 to 62. (check-in: e2a09ea7 user: drh tags: trunk)
02:41
Fix typos in comments. No changes to code. (check-in: 28c5f12e user: drh tags: trunk)
2011-04-02
20:08
Merge in the latest changes from trunk. (check-in: 0d99229a user: drh tags: schema-parse-refactor)
20:01
Change the name of the "tAttachMask" datatype to "yDbMask". (check-in: 3d6f2e82 user: drh tags: trunk)
17:00
Avoid returning SQLITE_NOTFOUND when the unix xSetSystemCall interface is invoked with NULL passed as the second argument, even if all the default system calls are already installed. (check-in: 3b91eaaa user: dan tags: trunk)
16:50
When resetting any non-TEMP schema, also reset the TEMP schema since it might be holding references to the non-TEMP schema that just got reset. (check-in: 211d5dde user: drh tags: schema-parse-refactor)
16:28
Begin a series of changes designed to reduce the scope and frequency of invalidating schemas. Design goals are that the internal schema should never be deleted out from under a prepared statement that is running and that all prepared statements should be expired if the schema is invalidated. At the same time, minimize the number of schema invalidations. This change merely revises the sqlite3ResetInternalSchema() function to use -1 as the wildcard for "all" rather than 0, so that we can reset the main schema independently of all the others. (check-in: 6a8ad6e3 user: drh tags: schema-parse-refactor)
09:44
Fix a race condition in OP_ParseSchema. (check-in: 71a799b0 user: dan tags: trunk)
09:25
Do not attempt to run tests that use the 'wholenumber' virtual table if the build does not support virtual tables. (check-in: 20afd81a user: dan tags: trunk)
06:44
Fix additional test cases so that they work with DEFAULT_AUTOVACUUM. (check-in: 139bc565 user: dan tags: trunk)
2011-04-01
23:49
Add the "wholenumber" virtual table module to the test suite - useful in populating tables with many rows of content prior to a test. (check-in: 975dff15 user: drh tags: trunk)
20:54
Fix up the Makefile.in so that the configuration script works for "make test". (check-in: 2e03830c user: drh tags: trunk)
20:47
Merge the word-fuzzer branch into trunk. (check-in: f77609d4 user: drh tags: trunk)
20:28
Add additional test data and documentation to the fuzzer virtual table. (Closed-Leaf check-in: a6a81d4f user: drh tags: word-fuzzer)
19:14
Changes to wal tests so that they work with DEFAULT_AUTOVACUUM defined. (check-in: b477852f user: dan tags: trunk)
18:39
Merge the multiplexer enhancements back into the trunk. (check-in: 2c125710 user: drh tags: trunk)
18:12
Add a script that will break the amalgamation source file up into 4 or 5 smaller source files, each 32K lines or fewer, and a single "sqlite3-all.c" source file that #includes the others. (check-in: 5d34e64d user: drh tags: trunk)
17:53
Change analyze7.test so that it works without SQLITE_ENABLE_STAT2 defined. (check-in: 9415201c user: dan tags: trunk)
16:50
When simulating an error in the close() system call, close the file descriptor anyway. Otherwise long running tests leak too many file-descriptors and crash. (check-in: 81ddbf43 user: dan tags: trunk)
15:15
Ensure that it is not possible to add a column to a system table using ALTER TABLE. (check-in: d9707ef8 user: dan tags: trunk)
14:26
Merge the ANALYZE-index enhancement into trunk. (check-in: 7e237aea user: drh tags: trunk)
14:22
Removed dependency on sqliteInt.h so that multiplex VFS shim can be compiled as loadable module. (Closed-Leaf check-in: 718f1ad7 user: shaneh tags: multiplex-enhancements)
14:04
Test cases for ANALYZE-index. (Closed-Leaf check-in: 365896cb user: drh tags: analyze-idx)
13:29
Move a variable declaration inside an #ifdef to avoid a compiler warning. (check-in: 7a6d05df user: drh tags: trunk)
11:56
In os_unix.c, do not return SQLITE_BUSY to SQLite following an error in fcntl(F_UNLCK), regardless of the value of errno. (check-in: ff6dfe6e user: dan tags: trunk)
09:04
Fix some problems in os_unix.c when compiled with ENABLE_LOCKING_STYLE on OSX. Also some minor issues with test scripts. (check-in: 8088031b user: dan tags: trunk)
02:26
Fix two compiler errors associated with non-standard compile-time options. (check-in: e3bf2d5c user: drh tags: trunk)
01:38
Fix a compiler warning and an unreachable branch. Restore 100% branch test coverage. (check-in: 4dc148bb user: drh tags: trunk)
2011-03-31
15:11
Enable/disable support. (check-in: b3c6d9aa user: shaneh tags: multiplex-enhancements)
13:14
Add tests and fixes for SELECT multiplex_control(op, val); (check-in: fee9734c user: shaneh tags: multiplex-enhancements)
05:31
Additional test cases; Round chunk size up to a multiple of max page size; (check-in: 36e364a3 user: shaneh tags: multiplex-enhancements)
02:03
Change the ANALYZE command so that it will accept an index name as its argument and only reanalyze that one index. A quick smoke-test works. Need to study the implications to the query planner and test corner cases. (check-in: c8f9edd9 user: drh tags: analyze-idx)
2011-03-30
21:03
Updates to multiplex.test script; misc. bug fixes; (check-in: c41ff235 user: shaneh tags: multiplex-enhancements)
19:08
Further tests for os_unix.c. (check-in: a84f7711 user: dan tags: trunk)
14:54
Do not generate sqlite_stat1 entries for empty tables when running ANALYZE. Ticket [83ea97620bd31016451] (check-in: 3a27af5b user: drh tags: trunk)
01:43
Move to an O(NlogN) algorithm for the priority queue. An insertion sort was way too slow. (check-in: 7958cbba user: drh tags: word-fuzzer)
2011-03-29
23:41
Add support for rowid. (check-in: 2cf4158f user: drh tags: word-fuzzer)
18:28
Add tests to syscall.test and sysfault.test. (check-in: 3d2de011 user: dan tags: trunk)
18:21
The first simple test-case appears to be working now. (check-in: dd41155b user: drh tags: word-fuzzer)
15:40
Fix a problem whereby following an IO error in CommitPhaseTwo() of a multi-file transaction the b-tree layer could be left in TRANS_WRITE state, causing problems later on. (check-in: dbe569a0 user: dan tags: trunk)
15:00
If the keyword "unordered" appears at the end of the SQLITE_STAT1.STAT column for an index, then use that index for equality lookups only, never for range queries or sorting. (Closed-Leaf check-in: 3b964155 user: drh tags: unordered-index-hack)
14:08
Further improvements to the fuzzer. It still is not quite working. Pausing to work on other things.... (check-in: 5f2f2fce user: drh tags: word-fuzzer)
10:04
Fix a problem in the unix VFS implementation of xNextSystemCall(). Also some typos that prevent compilation when HAVE_POSIX_FALLOCATE is defined. (check-in: bc6cce81 user: dan tags: trunk)
05:06
In-progress changes - do not use; Removed prefix support; Added file control interface to enable/disable and adjust chunk size; added app-def function for same; (check-in: bc02d0c1 user: shaneh tags: multiplex-enhancements)
01:47
Fix the documentation for the sqlite3_column_*_name() functions to describe that the information can be invalidated when a prepared statement is reprepared by the first invocation of an sqlite3_step() for a particular execution cycle. (check-in: 7270f80a user: drh tags: trunk)
2011-03-28
19:10
Add test infrastructure (and some tests) to inject faults into os_unix.c using the new xSetSystemCall interface. (check-in: 0e1d20df user: dan tags: trunk)
2011-03-26
19:04
Added most of the logic. Simple test runs without segfaulting but does not give the correct answer. (check-in: fb4c31ea user: drh tags: word-fuzzer)
15:05
Skeleton code for the word-fuzzer virtual table. (check-in: ea3a4ee1 user: drh tags: word-fuzzer)
2011-03-24
17:43
Minor change to sqlite3Utf8Read() to make consistent with READ_UTF8() usage and avoid implementation defined usages of <<. Added some additional UTF-8 test cases. (check-in: 7173b392 user: shaneh tags: trunk)
17:37
Fix problem with tableapi.test on Windows. (check-in: 69fe0c87 user: shaneh tags: trunk)
01:34
The changes to fix [f7b4edece25c9948] mean that the schema is always loaded whenever a prepared statement is running. This means that a couple of branches can be eliminated and one operand of OP_ParseSchema can be removed. (check-in: b6e268fc user: drh tags: trunk)
2011-03-23
22:54
Fix a signed/unsigned comparison compiler warning. (check-in: c81da6f9 user: drh tags: trunk)
22:51
Update the test_vfstrace.c shim to conform to the new VFS interface for xSetSystemCall and xGetSystemCall. (check-in: ad4dc7b9 user: drh tags: trunk)
22:02
Change the xSetSyscall methods of the VFS so that they do not cast object pointers into function pointers. Fix other unrelated compiler warnings. (check-in: e059152a user: drh tags: trunk)
18:22
Increase the upper bound on SQLITE_MAX_ATTACHED from 30 to 62. (check-in: 7aaf8772 user: drh tags: trunk)
17:10
Fix a bug in fts4 to do with matchinfo and deferred tokens. (check-in: 30d42dc6 user: dan tags: trunk)
11:16
In the shell, make sure the ".log" command has at least one argument. (check-in: 1ed5e361 user: drh tags: trunk)
10:52
Fix a numbering issue in rtree6.test. Add a couple of extra tests. (check-in: 0b7668a7 user: dan tags: trunk)
10:38
Change the rtree module to support queries with multiple comparison operators (i.e. > or <) of the same type on a single column. (check-in: 387b55aa user: dan tags: trunk)
2011-03-21
17:15
Add the ability to enable and disable foreign key constraints and triggers using calls to sqlite3_db_config(). (check-in: 09e167f9 user: drh tags: trunk)
2011-03-19
02:04
Add a test case to verify that ticket [f7b4edece25c994857] is fixed. (check-in: eedbcf0a user: drh tags: trunk)
2011-03-18
21:55
Add a generation counter to the Schema object and enhance OP_VerifySchema to also check the Schema generation. Fix for ticket [f7b4edece25c99]. (check-in: 36c04dd1 user: drh tags: trunk)
2011-03-17
16:45
Update the implementation of ".testctrl" in the command-line shell to use a look-up table rather than a long sequence of if-elses. Shorten source code lines of shell.c to 80 characters or less. (check-in: 54bacb95 user: drh tags: trunk)
01:58
Comment enhancement to better explain the logic in the "x IS NULL" optimization. (check-in: 869f8947 user: drh tags: trunk)
01:34
Enhances to the query planner such that "x IS NULL" constraints take the STAT2 statistics into account, just like "x=VALUE" constraints. (check-in: 23531768 user: drh tags: trunk)
2011-03-16
18:54
Additional interpretation of flags and constants in the VFS trace output. (check-in: 3e984195 user: drh tags: trunk)
17:05
Add the -vfstrace option to the usage error message in the shell. (check-in: baca45c5 user: drh tags: trunk)
16:56
Add the VFS-trace shim. (check-in: f49a9ef3 user: drh tags: trunk)
2011-03-15
19:08
Make the "unix-excl" VFS work exactly like "unix" if the database file is read-only. (check-in: d9846834 user: drh tags: trunk)
18:35
Fix an out-of-order variable declaration in shell.c. (check-in: 72570846 user: drh tags: trunk)
04:45
Allow multiplex file names to be preceeded by prefix of the form ":multiplex:chunksize:maxchunks:" Still work to be done, though it compiles and prefixes are ignored. (check-in: cfa4a2f7 user: shaneh tags: multiplex-enhancements)
02:55
Fix cut-and-paste typo in debugging print statement in winMutexTry(). (check-in: def98fd2 user: shaneh tags: trunk)
2011-03-14
13:54
Merge the unix-excl VFS into the trunk. This merge also adds the -vfs option to the command-line shell. (check-in: 3934b004 user: drh tags: trunk)
2011-03-12
18:10
In the "unix-excl" VFS, use the heap for shared memory, since only a single process is able to read or write the database. (Closed-Leaf check-in: a05a6d40 user: drh tags: unix-excl)
17:02
Add the new optional "unix-excl" VFS. This VFS grabs an exclusive lock on the database preventing other processes from accessing it, but continues to allow other database connections from the same process. (check-in: 00051c32 user: drh tags: unix-excl)
04:58
More tests for SQLITE_OMIT_UNIQUE_ENFORCEMENT and minor change to implementation. (check-in: b8699943 user: shaneh tags: trunk)
2011-03-11
16:15
Remove an unused field from the unix sqlite3_file object. (check-in: f957f23a user: drh tags: trunk)
2011-03-10
21:48
Simplification of tests and more added for SQLITE_OMIT_UNIQUE_ENFORCEMENT tests. (check-in: 75a38411 user: shaneh tags: trunk)
21:13
Skip unique constraint enforcement if compiled with SQLITE_OMIT_UNIQUE_ENFORCEMENT. (check-in: ba85bf8c user: shaneh tags: trunk)
03:54
Minor clean-up of previous mem5 allocator fix. (check-in: 36438423 user: shaneh tags: trunk)
2011-03-09
21:36
Fix issue with mem5 allocator when min request size is larger thatn 2^30. (check-in: d7dae06f user: shaneh tags: trunk)
21:02
Omit unnecessary OP_Next and OP_Prev operators when uniqueness constraints guarantee that the code will only make one pass through the loop. (check-in: f000c9b2 user: drh tags: trunk)
11:04
Updates to the OS/2 implementation from Rich Walsh. (check-in: dc46156a user: drh tags: trunk)
2011-03-08
16:39
Merge the syscall-override changes into trunk. (check-in: 36d79e6f user: drh tags: trunk)
14:05
Unix errno integer can vary from one system to the next. So do not depend on specific errno values in test cases. (check-in: ddb747d3 user: drh tags: trunk)
13:06
Fix two compiler warnings. No functional code changes. (check-in: c829868a user: drh tags: trunk)
02:38
Fix additional cases of possible signed integer overflow, especially with regard to negation. (check-in: 2d5800bd user: drh tags: trunk)
2011-03-06
21:54
Another minor simplification brought to light by clang. (check-in: 3bfbf026 user: drh tags: trunk)
21:28
Remove dead code identified by the clang static analyzer. (check-in: 01a79d5a user: drh tags: trunk)
2011-03-05
21:41
Simplifications to the overflow-free multiplier. Also remove some commented-out code that was left in that subroutine by mistake on the previous check-in. (check-in: 55fc25fd user: drh tags: trunk)
20:59
Fix all known instances of signed-integer overflow. Within SQL expressions, integer overflow now forces coercion to floating point. The shift operators work with any integer right-hand operand with negative values reversing the direction of the shift. (check-in: abf21394 user: drh tags: trunk)
13:54
Fix an instance of signed arithmetic overflow and an one bit-shift overflow. Mark six other signed arithmetic overflow locations that need fixing. (check-in: 04abab71 user: drh tags: trunk)
2011-03-04
15:43
Handle EINTR errors from open(). (Closed-Leaf check-in: a7d176b2 user: drh tags: syscall-override)
00:56
Do a better job of choosing the join table order when the tables having very different numbers of rows. (check-in: 952f5e8c user: drh tags: trunk)
2011-03-02
22:07
Fix quoting of the result in rtreeB.test. (check-in: c6532b35 user: drh tags: trunk)
19:06
Add additional VFS methods to retrieve system call pointers and to get a list of all changeable system calls. (check-in: 38558363 user: drh tags: syscall-override)
18:01
Add more system calls to the set that can be overridden in os_unix.c. Also merge in recent fixes from trunk. (check-in: 80fac2a6 user: drh tags: syscall-override)
17:54
Fix bugs in [7b6e30e6a7] that only show up on Mac. (check-in: ec55e8c6 user: drh tags: trunk)
15:44
Make sure the rtreenode() testing and analysis routine in the RTREE extension can handle 64-bit rowids. This fix is in response to a message on the mailing list. (check-in: 24602557 user: drh tags: trunk)
15:09
Proof-of-concept prototype for the proposed xSetSystemCall extension method on the VFS. (check-in: 92b5a76a user: drh tags: syscall-override)
02:08
Log all error from close() in os_unix.c to sqlite3_log() but do not attempt to report errors back up to the application. Update the unix error logging to put the most important information earlier in the message. (check-in: 7b6e30e6 user: drh tags: trunk)
2011-02-25
03:25
Comment out some code in os_unix.c that only runs on MacOSX with SQLITE_ENABLE_LOCKING_STYLE. (check-in: 4e50b036 user: drh tags: trunk)
2011-02-24
21:10
Fix a typo in a comment. No changes to code. (check-in: af475618 user: drh tags: trunk)
2011-02-23
22:39
Reserve a range of bits in the SQLITE_OPEN_xxxx bit vector for future expansion. (check-in: 9b904654 user: drh tags: trunk)
14:00
Fix a typo in the robust_flock() macro for systems without EINTR. (check-in: af9ba2a6 user: drh tags: trunk)
13:33
Retry selected system calls on unix when they fail with EINTR. (check-in: b9d29ea3 user: drh tags: trunk)
2011-02-22
03:34
When a stale schema-cookie is seen, expire only the one statement that encountered the bad cookie, not every statement on the database connection. Ticket [b72787b1a7cea1f] (check-in: 1bca0a7e user: drh tags: trunk)
2011-02-21
17:49
Fix a problem with "EXPLAIN QUERY PLAN SELECT count(*) FROM tbl". (check-in: 9f9f3288 user: dan tags: trunk)
11:46
Have os_unix.c call sqlite3_log() following errors in certain system calls. (check-in: 01076528 user: dan tags: trunk)
2011-02-19
23:18
An SQLITE_PROTOCOL error counts as a locking error for verification purposes. (check-in: e87d499a user: drh tags: trunk)
17:02
Change a testcase() added by the previous checkin into an assert(). (check-in: 6f3dad32 user: drh tags: trunk)
16:51
Add testcase macros to verify that all return values from walTryBeginRead() are tested. (check-in: 262b6fca user: drh tags: trunk)
15:22
Changes to make WAL more robust against SQLITE_PROTOCOL errors. (check-in: fd578a32 user: drh tags: trunk)
2011-02-18
17:23
Fix the sqlite3ValueFromExpr() routine so that it returns SQLITE_NOMEM on an OOM when trying to extract a NULL. (check-in: 1061e94f user: drh tags: trunk)
2011-02-17
15:58
Remove a no-op code path from sqlite3ExprIsInteger(). Replace it with an assert() that proves it always does nothing. (check-in: 7af66d1b user: drh tags: trunk)
13:52
Remove an assert() that was made redundant by the previous checkin. (check-in: 21db7191 user: drh tags: trunk)
13:33
Add an ALWAYS() around a always-true test in where.c. (check-in: 8123283e user: drh tags: trunk)
2011-02-16
23:32
Fix harmless compiler warnings in the query planner. (check-in: 31fc4ba6 user: drh tags: trunk)
01:23
Add "do_not_use_codec" logic to some of the TCL based test cases that read/write directly to the DB. (check-in: edd27669 user: shaneh tags: trunk)
2011-02-14
03:49
Skip some tests in capi3e.test when compiled with SQLITE_OMIT_UTF16. (check-in: b04304b9 user: shaneh tags: trunk)
2011-02-11
22:54
Add a NEVER() around a test that is believed to always be false. (check-in: f7e2ea33 user: drh tags: trunk)
20:52
Skip flattening if subquery has LIMIT and outer query is DISTINCT. Fix for ticket [752e1646fc]. (check-in: 55973999 user: shaneh tags: trunk)
06:59
Fix a bug in the new WHERE-clause processing that tries to use an index to resolve IS NOT NULL constraints when SQLITE_ENABLE_STAT2 is defined. The bug could cause memory overruns and segfaults. The bug was new to the code and has not appeared in an official release. Found during structural testing. (check-in: a5c36b9f user: drh tags: trunk)
03:56
Allow an index paired with an IS NULL constraint to be used for sorting under the condition that the index be treated as a non-unique index. (check-in: d78949fc user: drh tags: trunk)
02:43
Disable unused NULL tests when SQLITE_ENABLE_STAT2 is not in use. (check-in: 5ecd1178 user: drh tags: trunk)
2011-02-10
21:08
Add .testctrl option to CLI. (check-in: f85afa0e user: shaneh tags: trunk)
18:56
Split the documentation for sqlite3_wal_checkpoint_v2() and its constants onto separate pages. No changes to code. (check-in: 0ef8ffd1 user: drh tags: trunk)
17:46
Prevent a segfault when automatic indices try to use a column with an unknown collating function. Ticket [77aa3b1e6592582e38605d36]. This check-in also removes some stray \r characters unrelated to the problem. (check-in: f01030a0 user: drh tags: trunk)
00:08
Refactor the cost function in the query planner. Give extra cost (thus reduce likelihood of selection) to full table scans. (check-in: 878da276 user: drh tags: trunk)
2011-02-09
19:55
Make sure code *compiles* with each OMIT and ENABLE option. Mostly changes to test modules. (check-in: 7cc515ed user: shaneh tags: trunk)
18:19
Do not report corruption if the the db size header field is greater than the file size on disk unless the two change-counter header fields are identical. Fix for ticket [89b8c9ac54]. (check-in: 00c4596f user: dan tags: trunk)
15:25
Update Makefile.in for fts3_aux changes. (check-in: 38b7cb33 user: shaneh tags: trunk)
03:04
Use macros to define the relative costs of search and seek operations when computing costs in the query planner. Current constants seems wrong and need to be fixed, but doing so will alter test results. Need more experimentation to determine accurate relative costs. (check-in: 5f2ec44b user: drh tags: trunk)
03:03
Simplifications to the sqlite3_wal_checkpoint_v2() logic. (check-in: 652b8835 user: drh tags: trunk)
2011-02-07
23:56
Cleanup to the OP_Checkpoint opcode. (check-in: f611a5a8 user: drh tags: trunk)
16:24
Fix some test cases in walfault.test. Extend one test case to restore code coverage. Add wal5.test to the "coverage-wal" permutation. (check-in: f83b07ac user: dan tags: trunk)
15:12
Change blocking-checkpoint tests so that they run once using "PRAGMA wal_checkpoint" and once using calls to sqlite3_wal_checkpoint_v2(). Also fix edge cases surrounding the output variables set by wal_checkpoint_v2(). (check-in: 5a4b6652 user: dan tags: trunk)
2011-02-05
15:47
Ensure fts4aux can handle a table name in single or double quotes as a constructor argument. (check-in: 929d62e4 user: dan tags: trunk)
14:37
Add test cases for fts4aux. Fix a bug affecting fts3 tables with multiple columns. (check-in: dc511e60 user: dan tags: trunk)
2011-02-04
18:56
Change fts4aux to (additionally) report on term frequency in individual columns of an fts table. (check-in: 3996f92a user: dan tags: trunk)
14:28
Significant changes have occurred since the 3.7.5 release so go ahead and increase the version number to 3.7.6. (check-in: 999c915a user: drh tags: trunk)
06:36
Merge the stat2 query planner enhancements into the trunk. (check-in: 499edcbc user: drh tags: trunk)
05:47
If a deferred foreign key constraint fails on a statement that is not part of a larger transation, make sure that the statement fully ends so that subsequent invocations of the same statement will not pass the constraint because they think the transaction is not closed. This is a merge of the deferred-fk-quirk branch together with a test case. (check-in: 2f94d462 user: drh tags: trunk)
00:51
Fix the ATTACH command so that the filename argument can be any expression and so that if authorizer callback gets a NULL pointer for the filename if the filename argument is anything other than a string literal. Ticket [9013e13dba5b58c7] (check-in: e64e1453 user: drh tags: trunk)
2011-02-03
12:48
Extra tests for fts4 compress/uncompress hooks. Fix some minor problems with the same. (check-in: 80225abe user: dan tags: trunk)
10:56
Extra tests for the fts4aux module. (check-in: cfc47569 user: dan tags: trunk)
01:26
Fix a superlock test case to conform to the new wal_checkpoint returns. (check-in: 8bf2d51b user: drh tags: trunk)
2011-02-02
19:17
Fix minor problems with the output of "PRAGMA wal_checkpoint". In both code and tests. (check-in: aef61036 user: dan tags: trunk)
17:30
Optimize handling of equality and range constraints on the "term" column of an fts4aux table. (check-in: 386701de user: dan tags: trunk)
16:34
Merge in the blocking-checkpoint enhancement, including the new sqlite3_wal_checkpoint_v2() interface and the PRAGMA wal_checkpoint(full) statement. (check-in: bac7342c user: drh tags: trunk)
04:40
Merge fts4aux branch. (check-in: c6d9f7d8 user: dan tags: trunk)
04:26
Add missing file fts3_aux.c. (Closed-Leaf check-in: 0147d973 user: dan tags: fts4aux)
2011-02-01
18:59
Remove extra instances of the text "checked out." from sqlite.h.in. Also add new file fts3_aux.c to mksqlite3c.tcl. (check-in: 9897da22 user: dan tags: fts4aux)
18:00
Fix a problem causing builds with SQLITE_OMIT_WAL defined to fail. (check-in: b9b48dd8 user: dan tags: fts4aux)
17:55
Fix a case in fts4 where a corrupt %_stat table could lead to a crash. (check-in: 4ade96ce user: dan tags: fts4aux)
16:34
Add virtual table module "fts4aux", used to inspect the full-text index of an fts4 table directly. Also add the "compress" and "uncompress" fts4 options. (check-in: b010ddcc user: dan tags: fts4aux)
00:04
Version 3.7.5 (check-in: ed759d5a user: drh tags: trunk, release, version-3.7.5)
2011-01-28
16:45
Add test script pagerfault3.test. No changes to code or existing tests. (check-in: 682fe41e user: dan tags: trunk)
15:46
Change pager_truncate() to a different method for extending files while also ensuring that writes are page-size and page-aligned. (check-in: 874bc884 user: drh tags: trunk)
15:07
When extending a database file, do so by writing one or more page-size chunks of data to the file, instead of just a single byte to the end. (check-in: 58577135 user: dan tags: trunk)
03:13
Reactivate the analyze5.test script. (Closed-Leaf check-in: a2a9f640 user: drh tags: stat2-enhancement)
01:57
Change the weighting of binary searches on tables to 1/10th the cost of a search on an index. Change the assumed reduction in search space from a indexed range constraint from 1/3rd to 1/4th. Do not let the estimated number of rows drop below 1. (check-in: 4847c6cb user: drh tags: stat2-enhancement)
2011-01-27
14:35
SQLite version 3.7.5 release candidate 1 (check-in: 35ac78f5 user: drh tags: trunk)
2011-01-26
19:46
Update all built-in VFSes to return SQLITE_OK for the SQLITE_FCNTL_SYNC_OMITTED file-control operation. Also change the xFileControl methods to return SQLITE_NOTFOUND for unrecognized operation codes. (check-in: 6f2c72a0 user: drh tags: trunk)
15:23
Update test file mutex1.test to account for [e3b500fb5d]. (check-in: c86e46f4 user: dan tags: trunk)
13:28
More mutexes around another sqlite3StatusAdd() call. (check-in: e3b500fb user: drh tags: trunk)
13:24
Add a mutex around an sqlite3StatusAdd() call to prevent the pagecount overflow measurements from getting off in multithreaded applications. (check-in: 3d8b298d user: drh tags: trunk)
07:25
Update mutex1.test so that it works with the memsubsys1 permutation (pagecache memory). Change a few instances of SQLITE_MUTEX_STATIC_LRU2 in comments and test code to STATIC_PMEM. (check-in: 456bd5c6 user: dan tags: trunk)
06:13
Changes to exclusive2.test to make it more deterministic. (check-in: 84b0c2bc user: dan tags: trunk)
00:07
Rename the PCache1.mxPinned field to n90pct (since it is 90% of nMax) in order to distinguish it from PGroup.mxPinned. Fix the computation of n90pct so that it does not overflow adversely on excessively large cache sizes. (check-in: c85202ba user: drh tags: trunk)
2011-01-25
18:30
Fix new compiler warnings in pcache1.c that were introduced by the recent performance enhancement patches of [e14649301138b684]. (check-in: c17703ec user: drh tags: trunk)
18:19
Add a missing call to sqlite3PagerSync() removed by [ce552d975] to the backup code. (check-in: 1965b853 user: dan tags: trunk)
16:48
Make sure the return code from doing an xSync is correctly initialized so that a valid return code is produced regardless of the path taken through the logic. (check-in: f12b5d76 user: drh tags: trunk)
16:20
Change the name of SQLITE_FCNTL_SYNC to SQLITE_FCNTL_SYNC_OMITTED and only send it when PRAGMA synchronous=OFF. Add better documentation to explain what that file-control opcode is used for. (check-in: 64914980 user: drh tags: trunk)
13:43
Fix a couple of typos in comments. No changes to actual code. (check-in: 9167fdb3 user: dan tags: trunk)
11:33
Fix a broken assert() in pager.c. (check-in: 13108ce1 user: dan tags: trunk)
09:54
Fix a problem in memsubsys1.test. Modifications to test code only. (check-in: 7ef3f7cb user: dan tags: trunk)
04:34
Shave a few cycles so that performance is better than 3.7.4 in speed tests. (check-in: e1464930 user: drh tags: trunk)
2011-01-24
20:18
Modify the test_quote.c demonstration shim so that it works when SQLITE_THREADSAFE=0 is defined. (check-in: b70bccca user: drh tags: trunk)
19:45
Fix a typo in the documentation for sqlite3_snprintf(). No changes to code. (check-in: 8d106541 user: drh tags: trunk)
19:14
Fix a harmless compiler warning (a shadowed local variable) in analyze.c. (check-in: a1ad7fb3 user: drh tags: trunk)
17:46
Restructuring and generalizing analyze5.test. The whole script is currently disabled and will need to be reenabled prior to merging with trunk. (check-in: 31fcc706 user: drh tags: stat2-enhancement)
16:00
Ensure that if a deferred FK constraint is violated by a statement that creates its own implicit transaction, the statement is not an "active-write" after sqlite3_step() returns. (Closed-Leaf check-in: 8063197e user: dan tags: deferred-fk-quirk)
15:11
Change the cost estimator in the query planner to take into account the logN rowid lookup cost when going from an index to a table. (check-in: b442525b user: drh tags: stat2-enhancement)
2011-01-22
13:32
Modify the trace callback mechanism so that SQL commands executed from within virtual table or user function callbacks are passed to the trace callback without parameter expansion and enclosed in SQL comments. (check-in: a764915b user: dan tags: trunk)
00:10
Add the ability to use indices for constraints of the form "x IS NOT NULL" when sqlite_stat2 is available and most entries for column x are NULL. (check-in: 5d5bddd2 user: drh tags: stat2-enhancement)
2011-01-21
18:25
Change sqlite3StrAccumAppend() to use realloc instead of malloc. (check-in: 380f61df user: dan tags: trunk)
18:18
Adjustments to the result row estimator for the IN operator so that it gives the same estimates as the equivalent OR operator. Test cases for the same. (check-in: c82cb9c0 user: drh tags: stat2-enhancement)
16:27
Make use of histogram data to make better estimates for the number of rows that will be returned from "x IN (v1,v2,v3,...)" constraints. (check-in: fd3977a2 user: drh tags: stat2-enhancement)
15:52
Add options to test command [do_faultsim_test] to support testing VFS implementations. (check-in: 503ad889 user: dan tags: trunk)
14:37
Add the ability to use indices when a range contraint is bounded on the lower end by NULL. (check-in: f73a167b user: drh tags: stat2-enhancement)
2011-01-20
20:36
Update ANALYZE test cases to check out the use of histograms for equality constraints. (check-in: c7b59afa user: drh tags: stat2-enhancement)
16:52
Use histogram data to improve the row-count estimates on equality constraints. (check-in: 6bfc5c69 user: drh tags: stat2-enhancement)
02:56
The first of a planned series of enhancements to the query planner that enable it to make better use of sqlite_stat2 histograms when the table has many repeated values. (check-in: 2cd374cd user: drh tags: stat2-enhancement)
2011-01-19
21:58
Comment improvements in pcache1.c. No changes to code. (check-in: 9660a0a2 user: drh tags: trunk)
2011-01-18
17:03
Do not use mutexes in the pcache implementation unless SQLITE_ENABLE_MEMORY_MANAGMENT is defined. This is a performance enhancement. A side effect is that pcaches will not steal pages from one another unless ENABLE_MEMORY_MANAGEMENT is set, or unless SQLITE_THREADSAFE=0. (check-in: e5ca59e6 user: drh tags: trunk)
16:13
Get all test cases working with the mutex-free-pcache implementation. (Closed-Leaf check-in: 2dc98d29 user: drh tags: mutex-free-pcache)
15:17
Do not use SQLITE_MUTEX_STATIC_MEM2 since it has been reused as STATIC_OPEN. Instead, create a new static mutex STATIC_PMEM which is an alias for the unused STATIC_LRU2. (check-in: f1cf02ef user: drh tags: mutex-free-pcache)
2011-01-17
21:32
Here is a completely new implementation of the mutex-free-pcache. This one uses a common code base and automatically selects whether or not to use mutexes depending on compile-time and start-time options. (check-in: d094a1bf user: drh tags: mutex-free-pcache)
18:30
Fix a typo in the documentation for sqlite3_stmt_readonly(). (check-in: 56417a33 user: drh tags: trunk)
17:42
Add the SQLITE_OMIT_AUTORESET compile-time option which if enabled causes the sqlite3_step() routine to return SQLITE_MISUSE if it is called after it has previously returned anything other than SQLITE_ROW, SQLITE_BUSY, or SQLITE_LOCKED. (check-in: 053ce76d user: drh tags: trunk)
02:24
Add back an ALWAYS() to regain full test coverage. (check-in: b93f6f3e user: drh tags: trunk)
2011-01-16
22:37
On a backup from a smaller to a larger page size, do not begin committing the transaction until the source pages after the pending byte have been copied. (check-in: 612e2599 user: drh tags: trunk)
00:56
Make sure the change-counter and SQLite-version fields of the header are set correctly even when doing a VACUUM with locking_mode=EXCLUSIVE. Ticket [5d863f876ee9561b]. (check-in: 04fa1e16 user: drh tags: trunk)
2011-01-15
21:42
Make sure the change counter and SQLite version numbers in the header are set correctly, even when running in WAL mode and when VACUUMing in WAL mode. Ticket [5d863f876ee9561b9]. (check-in: 0be92a75 user: drh tags: trunk)
18:11
Fix the change-counter increment for WAL pages so that it works even when invoked from xStress. Ticket [5d863f876ee9561b95e2]. (Closed-Leaf check-in: 228e7c34 user: drh tags: bug-5d863f87)
17:12
Increment the change counter and update the SQLite version number whenever page 1 is added to the WAL. Ticket [5d863f876ee9561b9] (check-in: c1e0d09c user: drh tags: bug-5d863f87)
16:52
Add a test case demonstrating the problem described by ticket [5d863f876e]. (check-in: af54963f user: dan tags: trunk)
2011-01-14
16:43
Rerun autoconf to bring the configure script up-to-date. (check-in: 14217464 user: drh tags: trunk)
15:17
Fix comments, including some documentation comments, in the page cache logic. No code changes. (check-in: c80e9c1a user: drh tags: trunk)
11:51
Fix a bug in test code (test_vfs.c). (check-in: 772a3845 user: dan tags: trunk)
2011-01-13
16:10
Fix a typo on the sqlite3_open_v2() documentation. (check-in: b0add45a user: drh tags: trunk)
11:20
Fix a couple of crashes in fts3 that can occur if the database contents are inconsistent. (check-in: 811e12cd user: dan tags: trunk)
10:58
Fix a segfault that can occur in matchinfo if an fts4 table contains mostly zero-length documents. Specifically, if the table contains more rows than it does bytes of text. (check-in: fe904766 user: dan tags: trunk)
2011-01-12
17:56
Do not raise an SQLITE_CORRUPT error in Recoverymode if the database size in the header is larger than the physical file size. This facilitates recovery of a database in which the database size field has been corrupted. (check-in: 114640d9 user: drh tags: trunk)
2011-01-11
17:40
Merge accidentally created fork. (check-in: b7d080b8 user: dan tags: trunk)
17:39
Add the SQLITE_FCNTL_SYNC file-control. (check-in: b3f2f465 user: dan tags: trunk)
17:38
Change the page size of the destination database in a backup, if it is changeable, prior to starting the backup. (check-in: a5e4e0ca user: drh tags: trunk)
16:09
If a rollback is attempted in journal_mode=off mode, force SQLite to discard the contents of the pager cache before processing any subsequent queries. (check-in: ece7efce user: dan tags: trunk)
12:46
Fix the sqlite3.h generator script so that it generates the correct SQLITE_SOURCE_ID string with the latest versions of Fossil that include fractional seconds on the date/time stamp. (check-in: 3513bf6e user: drh tags: trunk)
2011-01-10
21:01
Update pager requirements to account for the ZIPVFS extension. (check-in: d94e59b5 user: drh tags: trunk)
2011-01-07
02:50
Reorder the fields in private structures in an effort to reduce alignment gaps and thus make the structures smaller, and to put frequently accessed fields first. Also update some obsolete comments. Valgrind shows a very slight performance improvement. (check-in: 378a1d13 user: drh tags: trunk)
2011-01-06
15:51
Enhance the showdb tool to show overflow page pointers at the end of overflow cells. (check-in: cda5eab1 user: drh tags: trunk)
01:26
Enhance the showdb tool to show a btree page layout. Add limit checks so that overflow content does not overflow the buffer. (check-in: 57ffa07e user: drh tags: trunk)
2011-01-05
21:46
Fix a bug in the showdb utility: the serial types for BLOB and TEXT where reversed. (check-in: 65a13faf user: drh tags: trunk)
21:20
Enhancements to the "showdb" debugging tool. Add the ability to display the content of a cell. (check-in: e9023a4e user: drh tags: trunk)
13:43
Increment the version number to 3.7.5. (check-in: 9ec3896e user: drh tags: trunk)
12:20
Add the sqlite3_vsnprintf() interface. (check-in: fc67adea user: drh tags: trunk)
2011-01-04
20:06
Fix a null-pointer dereference that can occur on an OOM error while running ANALYZE with SQLITE_ENABLE_STAT2. (check-in: 73128d4e user: drh tags: trunk)
19:01
Fix the ANALYZE command so that it takes collating sequences into account when gathering index statistics. (check-in: a5867cfc user: drh tags: trunk)
17:57
The ANALYZE command now counts at all rows of an index, even those containing NULL values. A valid sqlite_stat1 entry is created even if the index contains nothing but NULLs. (check-in: 824c8dd3 user: drh tags: trunk)
2010-12-29
18:24
Have testfixture invoke C routine Zipvfs_Init() when creating a new interpreter if SQLITE_ENABLE_ZIPVFS is defined. (check-in: 430635da user: dan tags: trunk)
10:49
Fix some off-by-one errors in the comments for API functions create_function() and value_blob(). No changes to code or tests. (check-in: 7ded90ba user: dan tags: trunk)
2010-12-24
15:49
Reduce the number of calls to sqlite3_realloc() made by fts3 when querying for position information of a term prefix. (check-in: 7088d945 user: dan tags: trunk)
2010-12-22
21:48
Do not include <sys/mmap.h> if SQLITE_OMIT_WAL is defined. (check-in: b82e85ec user: drh tags: trunk)
2010-12-21
21:28
Add test cases for the new lookaside hit and miss status outputs. Add the output of lookaside hit and miss to the command-line shell statistics. (check-in: b0888047 user: drh tags: trunk)
20:36
Merge into the trunk the experimental enhancements to sqlite3_db_status() for measuring lookaside memory allocator performance. (check-in: 8c3b06c2 user: drh tags: trunk)
00:20
Remove the obsolete compile-time option SQLITE_THREAD_OVERRIDE_LOCK from the autoconf makefile. Needed only for LinuxThreads, which we no longer support. (check-in: 09f6c053 user: drh tags: trunk)
00:16
Rearrange a variable declaration in the proxy locking code to avoid a harmless compiler warning on recent MacOS versions. (check-in: 39bbd355 user: drh tags: trunk)
2010-12-20
17:00
Clarify the documentation of the SQLITE_STATUS_MALLOC_COUNT parameter to sqlite3_status(). (check-in: 3b41bcc3 user: drh tags: trunk)
15:51
Add additional DBSTATUS options for measuring the hit and miss rates against the lookaside memory pool - information useful in tuning the lookaside size. Currently experimental pending analysis of performance impact. (Closed-Leaf check-in: 34613f1d user: drh tags: experimental)
2010-12-17
14:03
Add the "-heap" option to the command-line shell - to allocate a fixed heap for use with SQLITE_ENABLE_MEMSYS5. (check-in: 74fff692 user: drh tags: trunk)
01:00
Fix minor typos in the sqlite3_backup documentation. (check-in: df430be5 user: drh tags: trunk)
2010-12-16
20:35
Improvements to the documentation for sqlite3_backup. No code changes. (check-in: f83609f4 user: drh tags: trunk)
19:52
Fix an assertion fault that can only occur if SQLITE_ENABLE_STAT2 is defined and the constant folding optimization is disabled using sqlite3_test_control(). Problem introduced by [ad8bc68197f2b4] but we missed it prior to the 3.7.4 release due to taking shortcuts and skipping tests in the release checklist. (check-in: 70a3d817 user: drh tags: trunk)
02:06
Make wal_checkpoint a no-op if a prior checkpoint has already copied all WAL content into the database. This prevents a concurrent write to the database from resetting the wal-index out from under the WalIterator of the checkpoint as it is initializing. (check-in: cf86affc user: drh tags: trunk)
2010-12-15
21:02
Enhanced comments in wal.c and declare some procedure parameters "const". No changes to the generated code. (check-in: d0e4375b user: drh tags: trunk)
18:54
When registering the built-in LIKE and GLOB functions, make sure that they are tagged with SQLITE_UTF8 so that if other application-defined LIKE and GLOB implementations are provided for UTF16, then the appropriate function will be selected. (check-in: e1660764 user: drh tags: trunk)
2010-12-10
17:06
Fix a performance regression in matchinfo(). (check-in: fa37d8eb user: dan tags: trunk)
2010-12-09
19:15
Add support for the SQLITE_DEFAULT_FOREIGN_KEYS compile-time option. (check-in: c959945a user: drh tags: trunk)
18:55
Mention the SQLITE_DEFAULT_WAL_AUTOCHECKPOINT compile-time option in the documentation for the sqlite3_wal_autocheckpoint() interface. (check-in: 5a52dd59 user: drh tags: trunk)
2010-12-08
18:30
Update the sqlite3_stmt_readonly() interface so that its output is well-defined for all prepared statements, and so that it gives the correct result for VACUUM. (check-in: 9c19b7ae user: drh tags: trunk)
03:28
The command-line shell ignore errors in sqlite3_close() when shutting down. (check-in: 925332c3 user: drh tags: trunk)
00:02
Changes to the shell which should, in theory, allow it to work with libeditline as an alternative to libreadline. (check-in: e474fd9e user: drh tags: trunk)
2010-12-07
23:24
Improved documentation for SQLITE_FCNTL_FILE_POINTER. (check-in: 43935548 user: drh tags: trunk)
20:14
Version 3.7.4 (check-in: a586a4de user: drh tags: trunk, release, version-3.7.4)
17:12
Work around restriction in Windows file locking. (check-in: fe441df9 user: shaneh tags: trunk)
16:39
Fix a bug in the demo "superlock" code preventing locks from being released in some circumstances. (check-in: 65c39379 user: dan tags: trunk)
14:59
Version 3.7.4 release candidate 3 (check-in: 11c74c0d user: drh tags: trunk)
14:32
Run some of the existing test scripts with optimizations disabled as part of all.test. (check-in: b0634d2f user: dan tags: trunk)
07:57
Add tests to tkt-80ba201079.test. (check-in: c370338c user: dan tags: trunk)
2010-12-06
21:09
Fix the build so that it once again works with SQLITE_OMIT_SHARED_CACHE and SQLITE_OMIT_AUTOVACUUM. (check-in: fabcb6b9 user: drh tags: trunk)
21:06
Add the ability to disable constant factoring using sqlite3_test_control(). Add a TCL interface to this new capability and add tests cases to the TCL test scripts to actually use the new capability. (check-in: ad8bc681 user: drh tags: trunk)
18:59
Back out part of the previous change that was not really necessary in order to fix [80ba201079ea60], and which in fact serves no useful purpose. (check-in: fa9eef86 user: drh tags: trunk)
18:50
Initialize all constants at the very beginning of a prepared statement. Do not allow constant initialization to occur once control flow has a chance to diverge, to avoid the possibility of having uninitialized registers. Ticket [80ba201079ea60807]. (check-in: c5c53152 user: drh tags: trunk)
17:11
Have sqlite3_blob_bytes() return 0 following a failed call to sqlite3_reopen_blob(). (check-in: 476a8b49 user: dan tags: trunk)
2010-12-04
19:35
Version 3.7.4 release candidate 2. (check-in: 40756fe1 user: drh tags: trunk)
18:20
Fix a memory leak in fts3 that can occur in an OOM condition. (check-in: 507027b7 user: dan tags: trunk)
2010-12-03
18:57
Remove an over-zealous call to memAboutToChange() from OP_MustBeInt. OP_MustBeInt will never invalidate the Mem.z pointer so the memAboutToChange() call is not necessary. (check-in: 841cf7a7 user: drh tags: trunk)
15:41
Version 3.7.4 release candidate 1 (check-in: 2e800cb8 user: drh tags: trunk)
15:04
Add tests for fts3 to backcompat.test. (check-in: b4eafde8 user: dan tags: trunk)
10:32
Add the "valgrind" permutation. This is the same as veryquick.test except that it omits the multi-process tests that do not work under valgrind. No changes to production or existing test code. (check-in: 49531300 user: dan tags: trunk)
2010-12-02
17:39
Fix a bug causing fts3 to incorrectly return SQLITE_CORRUPT. (check-in: 099195b1 user: dan tags: trunk)
14:47
Exclude a test case from the inmemory_journal permutation of multiplex.test. (check-in: 474196d6 user: dan tags: trunk)
11:24
Fix a (harmless) valgrind warning in the rtree extension. (check-in: a94b9a39 user: dan tags: trunk)
06:08
Update misc7.test to account for EQP changes. (check-in: 917af565 user: dan tags: trunk)
2010-12-01
23:42
Changed multiplex shim's xFilesize to return an error on mismatched chunk size. Added test of same. (check-in: 6818c6e4 user: shaneh tags: trunk)
22:08
Make sure a test of multiplex shim doesn't fail if a file already exists. (check-in: 80de240a user: shaneh tags: trunk)
20:49
Added TCL test case for converting to WAL mode with multiple connections. Added exception to the test case for Windows for not being able to delete the open journal file. (check-in: 7061601f user: shaneh tags: trunk)
19:00
Change the type of a variable in struct SrcList so that it fits in a 100 byte lookaside buffer on a 64-bit architecture. (check-in: 7df43f48 user: dan tags: trunk)
15:36
Fix some warnings under MSVC in fts3 module. (check-in: c7771c0b user: shaneh tags: trunk)
11:46
Add test file e_resolve.test. (check-in: 6858df9c user: dan tags: trunk)
08:04
Avoid recursive calls to sqlite3VdbeMemRelease() when deleting VM frames used by trigger programs. (check-in: 119ffe95 user: dan tags: trunk)
2010-11-30
12:12
Add test file e_dropview.test. (check-in: 6197822c user: dan tags: trunk)
2010-11-29
18:36
Fix a warning in os_unix.c. (check-in: ee8dc8c8 user: dan tags: trunk)
18:22
On *BSD systems, reduce the number of open connections used by wal3.test to avoid running out of file-descriptors. (check-in: 0a3cba95 user: dan tags: trunk)
17:55
Fix compiler warnings discovered while building SQLite on http://www.devio.us/. (check-in: 5602ec95 user: dan tags: trunk)
16:10
Add tests for very small cache-sizes (less than 10 pages). (check-in: 46b3fbda user: dan tags: trunk)
12:06
Add new test file e_droptrigger.test. (check-in: d23ef9b8 user: dan tags: trunk)
2010-11-26
16:49
Fix various compiler warnings. (check-in: c412f612 user: drh tags: trunk)
16:31
Fix an uninitialized variable in fts3.c. (check-in: 3c3d076b user: dan tags: trunk)
15:17
Merge fts3 matchinfo() changes with trunk. (check-in: 7d660b91 user: dan tags: trunk)
15:13
Add a couple of comments to fts3_snippet.c. (Closed-Leaf check-in: ad8df6c5 user: dan tags: fts3-experimental)
10:58
Merge with latest trunk changes. (check-in: 515cb3f4 user: dan tags: fts3-experimental)
2010-11-25
17:49
Add coverage tests (and associated fixes) for new matchinfo() code. (check-in: 70495cec user: dan tags: fts3-experimental)
10:33
Fix bugs in fts3 function matchinfo() when used with deferred tokens. (check-in: ddc2b7ec user: dan tags: fts3-experimental)
2010-11-24
19:26
Add code for the matchinfo 'longest common substring' feature. (check-in: 71011a4f user: dan tags: fts3-experimental)
15:02
Fix crashes that can occur when queries are run on an FTS4 table containing zero rows. (check-in: ed61fd20 user: dan tags: fts3-experimental)
13:04
Fix a couple of compiler warnings in test_superlock.c. Add superlock.c to the Makefile.in used by the configure script. (check-in: 461f1a01 user: drh tags: trunk)
11:51
Remove some unused code from fts3. Add tests to fts3matchinfo.test. (check-in: ae40b34c user: dan tags: fts3-experimental)
2010-11-23
20:55
Cherry-pick the lemon.c updates out of the lemon-update-2010 branch into the trunk. (check-in: 1541ae3f user: drh tags: trunk)
20:25
The previous check-in with changes to the max_page_count pragma was not quite correct. This check-in fixes the problem. (check-in: 30c26c3b user: drh tags: trunk)
19:16
Experimental changes to fts3 function matchinfo(). (check-in: 9cf0f2b7 user: dan tags: fts3-experimental)
18:59
Fix the max_page_count pragma so that it will not set to a value smaller than the current database size, as the documentation requires. Also, remove all occurances of atoi() from the core. (check-in: 2031974b user: drh tags: trunk)
2010-11-22
17:26
Fix a typo in unixCurrentTimeInt64() preventing compilation with NO_GETTOD defined. (check-in: 3df3e79b user: dan tags: trunk)
2010-11-20
12:01
Extra tests for "PRAGMA checkpoint_fullfsync". (check-in: e38c81cc user: dan tags: trunk)
10:57
Add extra tests for test_superlock.c. (check-in: 1c4e58e7 user: dan tags: trunk)
2010-11-19
18:51
Merge the checkpoint_fullfsync pragma and the superlock demonstration into the checkpoint-v2 experimental branch. (Closed-Leaf check-in: ebf74015 user: drh tags: blocking-checkpoint)
18:48
Add tests for "PRAGMA checkpoint_fullfsync". (check-in: 765aa1b8 user: dan tags: trunk)
18:36
Merge in the superlock demonstration changes. (check-in: 570e79a8 user: drh tags: trunk)
18:23
Add the checkpoint_fullfsync pragma which enables F_FULLFSYNC on checkpoint operations only, not during ordinary commit fsyncs. (check-in: a0698673 user: drh tags: trunk)
18:20
Add file test_superlock.c with example code for obtaining an exclusive lock on either rollback or wal mode databases. (Closed-Leaf check-in: 1a3e7417 user: dan tags: superlock)
14:37
Add the SQLITE_FCNTL_FILE_POINTER verb to sqlite3_file_control(). (check-in: 4425b064 user: drh tags: superlock)
09:58
Add file test/tt3_checkpoint.c that adds a multi-threaded test for blocking checkpoints to threadtest3. (check-in: 648dd157 user: dan tags: blocking-checkpoint)
07:17
Add extra test cases for blocking checkpoints. (check-in: ac348ae2 user: dan tags: blocking-checkpoint)
2010-11-18
19:28
Fixes for SQLITE_BUSY handling in blocking checkpoint code. (check-in: 4c663a4d user: dan tags: blocking-checkpoint)
16:59
Merge with latest trunk fix. (check-in: a8910e89 user: dan tags: blocking-checkpoint)
16:58
Ensure tcl is using utf-8 as the system encoding when running capi3e.test. (check-in: 0a95589f user: dan tags: trunk)
16:32
Merge with latest trunk changes. (check-in: e376480f user: dan tags: blocking-checkpoint)
16:14
Update test cases to account for the change in the previous commit. (check-in: ae089ec8 user: dan tags: blocking-checkpoint)
15:44
Added some tests to check that umlaut characters are supported in filenames. (check-in: c36f275d user: shaneh tags: trunk)
13:52
Restrict the scope of the fts3ExprCost() subroutine inside of FTS3. (check-in: 76681870 user: drh tags: trunk)
13:47
Fix compiler warnings. (check-in: 6c4f1d5c user: drh tags: trunk)
12:31
Prevent a possible segfault when the sqlite3_value_numeric_type() interface is misused to try to determine the numeric type of the NULL value returned from sqlite3_column_value() with an invalid column number. (check-in: 501b743b user: drh tags: trunk)
12:11
Modify the interface to the blocking wal-checkpoint functionality. (check-in: 72787c01 user: dan tags: blocking-checkpoint)
2010-11-17
02:02
Restrict the scope of the sqlite3_stmt_readonly() interface to a specific subset of prepared statement types. (check-in: 919b06c3 user: drh tags: trunk)
2010-11-16
23:10
Adding the sqlite3_stmt_readonly() interface. (check-in: fd5b2f23 user: drh tags: trunk)
18:56
Add experimental command "PRAGMA wal_blocking_checkpoint", which uses the busy-handler to block until all readers have finished in order to ensure the next writer will be able to wrap around to the start of the log file. (check-in: 7e3fc2c8 user: dan tags: blocking-checkpoint)
02:49
Use the estimated number of rows computed for subqueries in the cost computations for outer queries. (check-in: 56bbc539 user: drh tags: trunk)
2010-11-15
21:50
Change the EQP output for the min/max optimization from "SCAN" to "SEARCH". Other changes in where.c in support of full branch coverage testing. (check-in: d52b5939 user: drh tags: trunk)
16:29
Fix the EQP logic so that it correctly reports OOM errors while formatting "detail" text. (check-in: 136c2ac2 user: drh tags: trunk)
16:12
Change some test cases to account for the new EXPLAIN QUERY PLAN output. (check-in: 88a854e1 user: dan tags: trunk)
14:51
Test some example code from documentation page eqp.html. (check-in: 547bc2c2 user: dan tags: trunk)
14:44
Merge the EXPLAIN QUERY PLAN changes from experimental into trunk. (check-in: ce27bf38 user: drh tags: trunk)
11:35
Minor additions to vacuum.test. (check-in: a397ed16 user: dan tags: trunk)
2010-11-13
16:42
Change the EXPLAIN QUERY PLAN output to use "USING INDEX" instead of "BY INDEX", and to use "SEARCH" instead of "SCAN" for loops that are not full-table scans. (Closed-Leaf check-in: 6611b76b user: dan tags: experimental)
2010-11-12
17:41
Add EXPLAIN QUERY PLAN test cases to check that the examples in the documentation work. (check-in: 85fdad85 user: dan tags: experimental)
15:49
Change the test_multiplex.c code to use wrapper functions for all sqlite3_vfs methods (instead of copying function pointers from the underlying vfs into the multiplex vfs). This is required to work with test_osinst.c. (check-in: 1244ef9f user: dan tags: trunk)
15:36
Reduce the number of branches that need to be tested in the explainIndexRange() function of where.c. (check-in: 6fdae9a6 user: drh tags: experimental)
2010-11-11
17:48
Use "COMPOUND" instead of "COMPOSITE" in the EXPLAIN QUERY PLAN output to describe UNION, UNION ALL, EXCEPT and INTERSECT operations. (check-in: 28643b85 user: dan tags: experimental)
16:46
Add a row of EXPLAIN QUERY PLAN output for each composite select operation (UNION, EXCEPT etc.) in the query. (check-in: 00fb8468 user: dan tags: experimental)
11:43
Fix a bug in the EXPLAIN QUERY PLAN code. (check-in: 7ae06895 user: dan tags: experimental)
10:36
Modifications to test cases to account for new EXPLAIN QUERY PLAN output. (check-in: 30904ef8 user: dan tags: experimental)
2010-11-09
20:33
Fix an assert that fired incorrectly when PRAGMA omit_readlock was set. (check-in: e0687582 user: shaneh tags: trunk)
17:49
Merge with latest trunk changes. (check-in: 4b5c93bc user: dan tags: experimental)
17:35
Add missing comments and fix other issues with routines used by new EQP features. (check-in: 925f35c5 user: dan tags: experimental)
14:49
Further enhancements and fixes for explain query plan. (check-in: 73c93f5a user: dan tags: experimental)
2010-11-08
19:16
Changes to the multiplex VFS to optionally (compiler define) allow the "chunk extension" to overwrite the right-most chars of the filename instead of simply being appended. (check-in: 07da0a0b user: shaneh tags: trunk)
19:01
Experimental changes to EXPLAIN QUERY PLAN. (check-in: f4747eb8 user: dan tags: experimental)
2010-11-05
20:50
Fix to xTruncate and more journal mode tests for the multiplex VFS. (check-in: 65fa1164 user: shaneh tags: trunk)
18:07
Fix os_unix.c so that it works with the test_multiplex module. (check-in: 72ba3e36 user: dan tags: trunk)
17:51
More tests and added support for xDelete in multiplex VFS. (check-in: f2004b44 user: shaneh tags: trunk)
03:58
Additional error checking and tests for multiplex VFS. (check-in: 1ab9a592 user: shaneh tags: trunk)
03:43
Additional tests and commenting for the multiplex VFS. (check-in: 8ed944ba user: shaneh tags: trunk)
00:04
Update the configure script for version 3.7.4. (check-in: 18a73795 user: drh tags: trunk)
00:01
Merge the multiplexer VFS demo into the trunk. (check-in: 1635d927 user: drh tags: trunk)
00:00
Fix the Makefile.in so that it works with the multiplexer VFS. (Closed-Leaf check-in: 54e2efb6 user: drh tags: experimental)
2010-11-04
21:14
Back out an unintended change to permutations.test. (check-in: 57fe3535 user: drh tags: experimental)
21:13
Another change for testing on Windows. (check-in: 2625886b user: shaneh tags: experimental)
21:03
Fix the main.mk makefile to include test_multiplex.c for testfixture. (check-in: c27c5118 user: drh tags: experimental)
20:50
First attempt at a sharding VFS to split large DBs. (check-in: dd4dc8a4 user: shaneh tags: experimental)
20:47
Fix icon size so it's really 32x32. (check-in: 62c494f6 user: shaneh tags: experimental)
20:46
Updates for Windows. (check-in: cc9d9a12 user: shaneh tags: experimental)
04:47
Include the print_pager_state() function only if SQLITE_DEBUG is defined. (check-in: 3104f17e user: dan tags: trunk)
2010-11-02
17:41
Changes to allow FTS4 tables to be created without the underlying %_docsize table (in order to save space). (check-in: 31989b18 user: dan tags: trunk)
15:26
Add evidence marks for the sqlite3_blob_reopen() interface. Fix compiler warnings in test1.c. Fix incorrect evidence marks on e_select.tcl. (check-in: 3771faa8 user: drh tags: trunk)
2010-11-01
18:45
Add test cases to restore coverage of pager.c and wal.c. (check-in: 6cae5529 user: dan tags: trunk)
17:38
If a database file with the WAL flag set is opened in exclusive-locking mode, use heap memory to store the wal-index instead of shared-memory. (check-in: 8dd5c691 user: dan tags: trunk)
14:34
Change the version number to 3.7.4. (check-in: db64843b user: drh tags: trunk)
05:54
Fix a broken test case in exclusive.test. (check-in: 582db832 user: dan tags: trunk)
05:42
Changes to test scripts so that they work with SQLITE_ENABLE_ICU. (check-in: 465c819f user: dan tags: trunk)
2010-10-31
22:47
Fix a test module comment typo reported on the mailing list. (check-in: 87eb1f04 user: drh tags: trunk)
22:42
Fix a typo in a comment inserted by the amalgamation builder. Typo reported on the mailing list. (check-in: 6a6bb6ce user: drh tags: trunk)
2010-10-30
15:21
Test cases and minor changes to make fts3 more robust in the face of a corrupt database. (check-in: b7702905 user: dan tags: trunk)
2010-10-29
18:45
Add extra test cases and changes to fts3 to avoid crashing on a corrupt database. (check-in: 252f0e45 user: dan tags: trunk)
2010-10-28
15:52
Add new "dynamic_triggers" test case to threadtest3.c. (check-in: a4691563 user: dan tags: trunk)
11:31
Enforce the MAX_EXPR_DEPTH limit while building expression trees during SQL parsing. (check-in: 2625eee0 user: dan tags: trunk)
2010-10-27
19:08
Avoid trying to allocate a negative number of bytes of memory in the test wrapper for sqlite3_blob_read(). (check-in: 739b5d9a user: dan tags: trunk)
18:10
Merge experimental fts3/fts4 changes with trunk. (check-in: 988164cf user: dan tags: trunk)
16:52
Fix a buffer overread in fts3 that can occur if the database is corrupt. (Closed-Leaf check-in: 84194c41 user: dan tags: experimental)
15:36
Fix a memory leak in the update_hook method of the TCL interface. (check-in: 1d17e3dc user: drh tags: trunk)
10:55
In fts4, store the total number of bytes of for all records in the table in the %_stat table. (check-in: 941647d1 user: dan tags: experimental)
2010-10-26
18:42
Structural coverage tests for vdbeblob.c. Including experimental new API sqlite3_blob_reopen(). (check-in: 97c6b261 user: dan tags: experimental)
11:56
Add missing header comments for changes related to the experimental sqlite3_blob_reopen() API. (check-in: d1cc5c93 user: dan tags: experimental)
07:14
More coverage tests for fts3.c. (check-in: 7a2f2864 user: dan tags: experimental)
2010-10-25
19:01
Further improvements to coverage of fts3.c. Fixes for bugs revealed by the same. (check-in: 918b6092 user: dan tags: experimental)
12:47
Test coverage improvements for fts3.c. (check-in: a8b1d998 user: dan tags: experimental)
09:01
Add test for matchinfo when a phrase includes some common tokens. (check-in: 80a54ebc user: dan tags: experimental)
2010-10-23
19:07
Fixes for the matchinfo() function related to FTS4 common token handling. (check-in: deb80eac user: dan tags: experimental)
2010-10-22
19:03
Add new test file fts3defer2.test. (check-in: 5a4d5bfc user: dan tags: experimental)
16:44
Add missing comments and fix compiler warnings in new FTS3/4 code. Other minor fixes too. (check-in: 1c9c70fe user: dan tags: experimental)
13:55
Prevent an assert from failing when opening a zero-length database file with an apparently hot journal with locking_mode=exclusive set. (check-in: f000ac1e user: dan tags: trunk)
2010-10-21
22:58
Make sure the estimated row count for ephemeral tables is initialized so that automatic indices can be used on those tables. (check-in: d30f7b2d user: drh tags: trunk)
15:49
Merge trunk changes into experimental branch. (check-in: fd1e5cad user: dan tags: experimental)
15:12
Fix some segfaults that could occur in obscure circumstances where error messages contained characters that could be mistaken for printf format specifiers. (check-in: f91471e7 user: dan tags: trunk)
12:34
Fix a typo-bug that prevented --disable-amalgamation from working in Makefile.in. Also fix an overly long line in Makfile.in. (check-in: 2c3c4ba0 user: drh tags: trunk)
03:13
Add new WHERETRACE macros for better diagnostics of the query planner. Added a new test case for the performance regression fixed by the previous check-in. (check-in: 1e0db997 user: drh tags: trunk)
02:05
Fix the query planner so that it uses the multi-index OR-clause solution if that is the lowest cost estimate. A prior bug cause the multi-index solution to be ignored in some circumstances. (check-in: 28ba6255 user: drh tags: trunk)
2010-10-20
18:56
Updates to FTS4 to improve performance and make more accurate cost estimates for prefix terms. (check-in: d0a450ce user: dan tags: experimental)
2010-10-19
14:08
Experimental changes to fts4 to try to selectively avoid loading very large doclists. (check-in: 5ae0ba44 user: dan tags: experimental)
2010-10-14
01:17
Avoid taking locks on unused database connections when committing a read transaction. (check-in: c0ee614f user: drh tags: trunk)
01:16
Check-in [d3c95e3a4e08d0] was incorrect. This is the correct fix for sqlit3_bind_blob(). Ticket [860399cc408f2dd5f4] (check-in: ea8c2f5f user: drh tags: trunk)
2010-10-12
02:13
Fix the sqlite3_bind_blob() interface (and its kin) so that the destructor is invoked if the binding fails. Ticket [860399cc408f2dd5f41aed44b] Update the documentation to explain which interfaces invoke their destructors on failure and which do not. (check-in: d3c95e3a user: drh tags: trunk)
2010-10-11
17:58
Make sure the sqlite3_create_collation() interfaces always return an error code if they fail. Ticket [a04e42a3fcacaffa3133436]. (check-in: 6464276e user: drh tags: trunk)
17:57
Further changes to extension loading to support compile-time options. (check-in: f818fb6f user: drh tags: trunk)
13:12
Make APIs added since version 3.6.0 accessible to loadable extensions. (check-in: 76c64a35 user: drh tags: trunk)
2010-10-08
16:09
Add tests to e_createtable.test. (check-in: 38bec827 user: dan tags: trunk)
02:34
Version 3.7.3 (check-in: 26778480 user: drh tags: trunk, release)
2010-10-07
13:29
Update the CLI test script to expect a version number of 3.7.3. (check-in: e55ada89 user: drh tags: trunk)
2010-10-06
20:25
Update the configure script and Makefile so that they work with 3.7.3. (check-in: 97b63a11 user: drh tags: trunk)
18:55
Fix long-standing bugs with the handling of LIMIT clausing in compound SELECT statements with FROM clause subqueries. Ticket [38cb5df375078d3f9]. (check-in: b0450120 user: drh tags: trunk)
16:42
Fix minor test suite problems causing errors on OSX. (check-in: 759c954f user: dan tags: trunk)
09:57
Fix a bug in test code that was causing a valgrind error. No changes to production code. (check-in: f29da7be user: dan tags: trunk)
2010-10-05
18:22
Do not embedded #if inside an assert() statement. Fix for check-in [dca8763872a] (check-in: d7d4a94f user: drh tags: trunk)
17:02
Have the pager change to at least WRITER_CACHEMOD state before marking any pages as dirty (instead of immediately after). Otherwise, if an error occurs, the pager may be left in WRITER_LOCKED state with dirty pages in the cache. (check-in: 471a4efb user: dan tags: trunk)
15:41
If walLockExclusive() fails for reasons other than SQLITE_BUSY inside of walRestartLog() then propagate that error back up to the application. (check-in: 04dcba6b user: drh tags: trunk)
12:05
Avoid all memory allocation (and hence the possiblitity of OOM failure) in sqlite3_value_double() and sqlite3_column_double(). (check-in: 4afdf970 user: drh tags: trunk)
11:33
Fix an assert() failing on OSX. (check-in: dca87638 user: dan tags: trunk)
08:13
Prevent backcompat.test from mistaking directories for binary executables. (check-in: 717a1e50 user: dan tags: trunk)
2010-10-04
23:55
Fix a performance regression (relative to version 3.6.23.1) caused by the query planner taking into account non-indexable WHERE clause terms to select the outermost join loops when it should be selecting tables for the outermost loop that do not benefit from being in an inner loop. (check-in: ece641eb user: drh tags: trunk)
16:06
Fix a couple of test script problems. (check-in: dd106901 user: dan tags: trunk)
15:47
Fix memsubsys1.test so that it works with TEMP_STORE>=2. (check-in: 8ad88ee0 user: dan tags: trunk)
14:11
Warning cleanup from MSVC. (check-in: cde62657 user: shaneh tags: trunk)
11:01
Fix broken evidence marks in e_expr.test. (check-in: 37ff94ce user: dan tags: trunk)
10:45
Add tests for table-constraints to e_createtable.test. (check-in: 70f51187 user: dan tags: trunk)
2010-10-01
19:04
Add tests for CHECK and UNIQUE constraints to e_createtable.test. (check-in: fb8db558 user: dan tags: trunk)
17:23
Add #ifndef USE_SYSTEM_SQLITE...#endif around the bundled SQLite library for the TCL bindings. (check-in: 8d85584a user: drh tags: trunk)
13:28
Updates to the showjournal.c utility in order to bring it up to version 3. (check-in: fa97d895 user: drh tags: trunk)
2010-09-30
20:33
Merge experimental into trunk: Refactor the text-to-numeric conversion routines to work without zero-terminators and in UTF16 as well as UTF8. Avoid invalidating strings with doing affinity conversions. (check-in: 07ee080e user: drh tags: trunk)
20:11
Fix some matching issues in enc4.test affected by TCL versions. (Closed-Leaf check-in: dd6d61a9 user: shaneh tags: experimental)
18:43
Add further tests to e_createtable.test. (check-in: 0a4528d6 user: dan tags: trunk)
18:30
Fix memory leak in enc4.test script. (check-in: bfc294ae user: shaneh tags: experimental)
18:19
Additional encoding tests. (check-in: c7f93636 user: shaneh tags: experimental)
18:12
Remove unnecessary calls to memAboutToChange() in vdbe.c. An affinity change no longer invalidates shallow copies. (check-in: afb0fd0b user: drh tags: experimental)
17:33
Do correct affinity transformations on floating point values which have a decimal point at the beginning or end of the mantissa. Ticket [3998683a16a7076e08f5]. (check-in: ca154f97 user: drh tags: experimental)
16:51
Changes to remove sqlite3FitsIn64Bits(). (check-in: 43fef1ca user: shaneh tags: experimental)
14:48
Fix the handling of default values for ALTER TABLE ADD COLUMN columns so that is able to deal with negative numbers, including large negative numbers. Ticket [8454a207b9fd2243c4] (check-in: ce6cc16e user: drh tags: experimental)
00:50
Rework the text to numeric conversion routines so that they work with either UTF8 or UTF16 and do not require a NULL terminator. This allowed text to numeric conversion without reallocating the string. (check-in: 14eed3a0 user: drh tags: experimental)
2010-09-29
18:26
Add test cases to e_createtable.test. (check-in: f34dc54d user: dan tags: trunk)
13:31
Add tests for "CREATE TABLE ... AS SELECT ..." statements to e_createtable.test. (check-in: 1ef0dc93 user: dan tags: trunk)
01:54
Updates to sqlite3_finalize() documentation. (check-in: 8c5994cf user: drh tags: trunk)
2010-09-28
20:26
Simplify the test that determines if the name of a new table collides with a prior index name. (check-in: 3f30f00a user: drh tags: trunk)
19:16
Fix some problems that can occur if a trigger has the same name as another database object. (check-in: 655991ec user: dan tags: trunk)
17:37
Merge accidental fork. (check-in: 33c8b9c7 user: drh tags: trunk)
17:34
Add tests to e_createtable.test. Allow a table to be created if there is an index of the same name in a different attached database. (check-in: 6251e587 user: dan tags: trunk)
17:34
Get ANALYZE working again with -DSQLITE_ENABLE_STAT2 and virtual tables. (check-in: b7a26427 user: drh tags: trunk)
15:55
Disallow statements of the form "CREATE TEMP TABLE main.t1 ...". (check-in: dd1b34ba user: dan tags: trunk)
15:25
Updates to e_vacuum.test so that it works when SQLITE_DEFAULT_AUTOVACUUM=1 is set. (check-in: 890816c5 user: drh tags: trunk)
14:26
Fix several harmless compiler warnings. (check-in: 7be03ecc user: drh tags: trunk)
14:11
Fix an incompatibility with OMIT_VIRTUALTABLE in e_vacuum.test. (check-in: 7d0b881a user: dan tags: trunk)
13:12
Updates to the sqlite3_get_table() documentation. (check-in: c7aa238c user: drh tags: trunk)
07:24
Update the version number to 3.7.3 in preparation for the next release. (check-in: 88108fff user: drh tags: trunk)
07:14
Merge fixes for ticket [b351d95f9cd5ef17e9d9dbae18f5ca8611190001] into the trunk. (check-in: 1f7ef0af user: drh tags: trunk)
07:11
Replace some unreachable branch instructions with assert() statements. (Closed-Leaf check-in: 88b84bf1 user: drh tags: bug-b351d95f9c)
06:00
Tweaks to help facilitate structural test coverage. (check-in: ff49a5f0 user: drh tags: bug-b351d95f9c)
04:14
Test case and fix for the specific failure of ticket [b351d95f9cd5ef17e9d9dbae]. (check-in: 57789cfe user: drh tags: bug-b351d95f9c)
03:55
Use OP_Copy rather than OP_SCopy at one point in aggregate processing where it is needed to avoid shallow-copy misuse. (check-in: a5eefd52 user: drh tags: bug-b351d95f9c)
00:25
Continuing work toward detecting and fixing shallow-copy misuse. (check-in: d0342f4b user: drh tags: bug-b351d95f9c)
2010-09-27
21:09
Add assert() statements that fail when a shallow copy is accessed after the original has been modified. These assert() statements should detect the kinds of subtle SCopy bugs such as caused the fault in ticket [b351d95f9cd5ef17e9d9dbae18f]. (check-in: 8b8e1732 user: drh tags: bug-b351d95f9c)
18:14
Simplifications to the expression code generator. Remove about 80 lines of older and obsolete code. (check-in: 53f5cfe1 user: drh tags: trunk)
2010-09-25
22:32
Enhance the ANALYZE command so that it gathers statistics in the sqlite_stat1 table even for tables that are empty or have no indices. (check-in: a7645d29 user: drh tags: trunk)
17:29
Add new file e_createtable.test. (check-in: 20e16fef user: dan tags: trunk)
14:13
Do not call gethostuuid() on MacOS 10.4 and earlier, since it is not supported there. (check-in: 44deaaef user: drh tags: trunk)
07:51
Add tests to file e_reindex.test. (check-in: eec7dc91 user: dan tags: trunk)
2010-09-24
19:14
Modify some evidence tags to match updated gifs. (check-in: f44de500 user: dan tags: trunk)
18:08
Merge experimental branch back into trunk. (check-in: 83ecec5d user: dan tags: trunk)
18:04
Add new file e_vacuum.test. Move part of e_select.test into e_select2.test. (Closed-Leaf check-in: 30801892 user: dan)
09:32
Add experimental branch disallowing VACUUM when there are one or more active SQL statements. (check-in: c1ebcacd user: dan tags: experimental)
08:00
Modify testable statement ids in a few test files to account for recent docsrc changes. (check-in: 7893e525 user: dan tags: trunk)
2010-09-23
18:47
Add tests to e_delete.test. (check-in: fab3b383 user: dan tags: trunk)
2010-09-22
19:06
Further tests and changes to make the r-tree module more robust. (check-in: 7ff3574b user: dan tags: trunk)
14:19
Add new file rtreeA.test, to test that the r-tree extension doesn't crash if it encounters a corrupt or inconsistent database. (check-in: 68a305fd user: dan tags: trunk)
2010-09-21
19:00
Add new file e_delete.test. (check-in: 14e8659e user: dan tags: trunk)
16:59
Add tests to e_update.test. (check-in: 528f71e2 user: dan tags: trunk)
2010-09-20
19:17
Add test file e_update.test. (check-in: 03985ed4 user: dan tags: trunk)
14:55
Changes to test scripts to work with SQLITE_TEMP_STORE=2. (check-in: ba8ca9c9 user: dan tags: trunk)
14:05
Add further tests to e_insert.test. (check-in: eb3d0d8b user: dan tags: trunk)
08:47
Add a test case to verify that bug [313723c356] has been fixed. (check-in: 4ea134a8 user: dan tags: trunk)
2010-09-18
19:36
Make sure the pager cache is cleared if there is any difficulty starting a new read transaction in WAL mode. Ticket [313723c356483eff2a4c4bdd2c]. (check-in: e14ef0e8 user: drh tags: trunk)
19:00
Add new test file e_insert.test. (check-in: 8023a309 user: dan tags: trunk)
15:15
Fix a couple of stale evidence marks in e_select.test. (check-in: 14227724 user: dan tags: trunk)
15:03
Add tests to e_select.test. (check-in: 0ee9e755 user: dan tags: trunk)
2010-09-17
22:39
Clarifications to the sqlite3_auto_extension() documentation. (check-in: ca96e0df user: drh tags: trunk)
19:45
Updates to the documentation for sqlite3_create_collation(). (check-in: 3df7715a user: drh tags: trunk)
19:04
Add tests for some syntax diagrams in lang_select.html. (check-in: 2254e93b user: dan tags: trunk)
17:10
Remove additional occurrences of <ctype.h> from FTS2. (check-in: ee52589c user: drh tags: trunk)
16:01
Add new test file fts3shared.test to test the previous change. (check-in: a207f744 user: dan tags: trunk)
15:28
Have all FTS3 queries obtain a read or write table-lock at the shared-cache level before doing anything else. (check-in: 018e82c7 user: dan tags: trunk)
01:07
Completely remove all trace of ctype.h from FTS2. (check-in: 87684566 user: drh tags: trunk)
2010-09-16
23:18
Fix a comment typo in memjournal.c (check-in: 9b272ed4 user: drh tags: trunk)
19:49
Updates to the requirements on the sqlite3_create_function() family of interfaces. (check-in: f03c6089 user: drh tags: trunk)
18:51
Add tests for ORDER BY, LIMIT and OFFSET clauses to e_select.test. (check-in: 7c989db5 user: dan tags: trunk)
16:16
Further tweaks related to deleting files from malloc_common.tcl. (check-in: 3e649f80 user: dan tags: trunk)
15:58
Fix a problem with the previous change to malloc_common.tcl. (check-in: e07a33ea user: dan tags: trunk)
15:23
Change code in malloc_common.tcl (test code) to retry a "file delete -force" if it fails. (check-in: ebfb04f0 user: dan tags: trunk)
2010-09-15
23:41
Updates to the sqlite3_progress_handler() documentation. (check-in: 78f659ee user: drh tags: trunk)
19:02
Add tests for ORDER BY clauses to e_select.test. (check-in: 14f15663 user: dan tags: trunk)
17:54
Added the sqlite3_soft_heap_limit64() interface. Deprecate the older sqlite3_soft_heap_limit() interface. (check-in: 82268a2c user: drh tags: trunk)
11:42
Add trivial test case to make sure shared-cache mode does not automatically turn on exclusive-locking mode. (check-in: a0ab3902 user: dan tags: trunk)
2010-09-14
18:56
Further tests for compound SELECT statements. (check-in: a0f01eba user: dan tags: trunk)
18:23
Clarify the documentation to better explain when an automatic re-prepare can be induced by rebinding parameters. Add evidence marks to the automatic re-prepare logic. (check-in: 3e11f515 user: drh tags: trunk)
10:53
Fix some test failures found running releasetest.tcl. (check-in: 56a9ce77 user: dan tags: trunk)
2010-09-13
19:03
Fix walmode.test so that all tests pass with SQLITE_TEMP_STORE=3. (check-in: 6ba6e59a user: dan tags: trunk)
18:58
Add tests for compound SELECT statements to e_select.test. (check-in: 8b0b009f user: dan tags: trunk)
14:38
Fix a couple of test files so that they work with DEFAULT_AUTOVACUUM. (check-in: 8cb39306 user: dan tags: trunk)
12:15
Run the multi-threaded tests in test/threadtest3.c as part of releasetest.tcl. Remove the OMIT_BUILTIN_TEST symbol from the "Device-Two" configuration. (check-in: 3f5406e3 user: dan tags: trunk)
11:29
Alter some configurations in releasetest.tcl. Print out the wall-clock time taken for each test after it is executed. (check-in: a91c5af3 user: dan tags: trunk)
2010-09-11
17:37
Add tests for "DISTINCT" and "ALL" to e_select.test. (check-in: 43a99d9a user: dan tags: trunk)
16:25
Fix a couple of incorrect evidence marks on malloc(). (check-in: f9b5c5cb user: drh tags: trunk)
16:15
Additional evidence marks on the malloc() implementation. Update the documentation to explain that mallocs are not necessarily 8-byte aligned if the SQLITE_4_BYTE_ALIGNED_MALLOC compile-time option is used. (check-in: 42b4bf9e user: drh tags: trunk)
15:54
Add assert() statements to demonstrate that memory allocations are always aligned to an 8-byte boundary (unless SQLITE_4_BYTE_ALIGNED_MALLOC is defined). (check-in: 305cc4e6 user: drh tags: trunk)
05:15
When building from the amalgamation with ENABLE_RTREE defined, do not try to include sqlite3rtree.h. (check-in: 5b63e981 user: dan tags: trunk)
2010-09-10
20:23
A further correction to the sqlite3_create_function() interface documentation. (check-in: c65583db user: drh tags: trunk)
19:18
Add tests to e_select.test. (check-in: 3a051a76 user: dan tags: trunk)
16:38
Updates to the documentation on the sqlite3_create_function() family of interfaces. (check-in: 9d277e0b user: drh tags: trunk)
13:23
Make sure SQLite is running with MEMSTATUS enabled at the beginning of every test script. (check-in: 69995314 user: drh tags: trunk)
2010-09-09
23:42
Make sure MEMSTATUS is enabled at the beginning of the memsubsys2.test script. (check-in: c23b9721 user: drh tags: trunk)
19:02
Add test cases to e_select.test. (check-in: 5e73f7b2 user: dan tags: trunk)
18:25
Further updates to the sqlite3_pcache_methods documentation, plus the addition of a few evidence marks related to pcache. (check-in: 34edb54b user: drh tags: trunk)
17:43
Make sure memory statistics are enabled for the dbstatus.test script. (check-in: 35b943a0 user: drh tags: trunk)
15:48
Updates to the sqlite3_pcache_methods documentation. (check-in: b21425c4 user: drh tags: trunk)
11:33
Add WHERE clause tests to e_select.test. (check-in: 721b73fa user: dan tags: trunk)
10:00
Add tests for sub-select statements in the FROM clause of a SELECT to e_select.test. (check-in: 2c6b1ca9 user: dan tags: trunk)
2010-09-08
19:16
Fix problem with test names in e_select.test. (check-in: 8fe34faf user: dan tags: trunk)
19:02
Add tests to e_select.test. (check-in: 727ced6b user: dan tags: trunk)
16:30
Updates to the documentation of the sqlite3_column_xxxx() family of interfaces. Enhance sqlite3_column_blob() so that it always returns a NULL pointer for a zero-length blob. (check-in: a932fab2 user: drh tags: trunk)
02:30
Improved documentation of SQLITE_THREADSAFE and sqlite3_column_text() and evidence marks for each. (check-in: 0d7a5389 user: drh tags: trunk)
2010-09-07
23:28
Updates to the documentation on the VFS xOpen method. (check-in: 1719cb8f user: drh tags: trunk)
19:10
Update the sqlite3_limit() documentation to explain that SQLITE_LIMIT_VDBE_OP is not enforced. (check-in: 17be9bee user: drh tags: trunk)
19:05
Add tests to e_select.test. (check-in: 282dae7e user: dan tags: trunk)
14:59
Revised documentation for sqlite3_limit(). Added some evidence marks and assert() statements to verify sqlite3_limit() behavior. (check-in: 883b9b74 user: drh tags: trunk)
14:12
Example icon file (32x32x4) for new logo. (check-in: bd700794 user: shaneh tags: trunk)
12:17
Remove a redundant test for multiple output columns in a scalar subquery. (check-in: 657472bc user: drh tags: trunk)
2010-09-06
20:28
In the test scripts, changes instances of the TCL interface option "-has_codec" into the correct "-has-codec". (check-in: f53856a5 user: drh tags: trunk)
18:50
Add test cases to e_select.test. (check-in: 9db26d5e user: dan tags: trunk)
18:44
Remove proprietary information from the releasetest.tcl script and add it to the public repository. (check-in: e1d4a87e user: drh tags: trunk)
2010-09-04
18:52
Add test file e_select.test. (check-in: 8b9d8c22 user: dan tags: trunk)
2010-09-03
18:50
Documentation enhancements for sqlite3_db_status(). Evidence marks on the SQL function call intrface. (check-in: f06c7b19 user: drh tags: trunk)
12:05
Improved documentation of the sqlite3_column_count() and sqlite3_data_count() interfaces. (check-in: 0593373d user: drh tags: trunk)
10:58
Add a few more subquery tests to e_expr.test. (check-in: 189cba00 user: dan tags: trunk)
04:29
Reduce the amount of memory taken up by WAL mmaped regions under Windows. (check-in: f213e133 user: shaneh tags: trunk)
03:32
Fix a discrepancy between the documented behavior of SQLITE_DBCONFIG_LOOKASIDE and what it actually does. Also add evidence marks on the DBCONFIG_LOOKASIDE implementation. (check-in: f483be44 user: drh tags: trunk)
2010-09-02
19:01
Move the test for an (illegal) scalar sub-query that returns more than one column to earlier in SELECT processing in order to avoid an assert() that can happen later on. (check-in: a55842cf user: dan tags: trunk)
18:13
Fix an off-by-one error in the scratch memory allocator. (check-in: 5a959160 user: drh tags: trunk)
17:15
Use sqlite3_mutex_notheld() instead of !sqlite3_mutex_held() inside of assert() statements since the former works when mutexing is disabled while the latter does not. (check-in: 2211486b user: drh tags: trunk)
14:35
Add test case to verify the previous change is correct. (check-in: 2a5eed35 user: dan tags: trunk)
14:00
Fix the computation of the offset on the mmap() for the Nth shared memory region. Because of the way shared memory is accessed, the old computation, though wrong, still happened to always get the right answer. Nevertheless, it is good to do the computation correctly. (check-in: 36397f62 user: drh tags: trunk)
11:53
Add tests for the EXISTS operator to e_expr.test. (check-in: 9f9a95cc user: dan tags: trunk)
10:08
If MEM_STATUS is disabled, avoid holding the STATIC_MEM mutex when calling the user-defined xMalloc method. Holding the mutex causes problems for memsys3 and memsys5. (check-in: 4f20f8ba user: dan tags: trunk)
04:30
Fix a few typos. Update evidence marks. (check-in: c90a68b7 user: shaneh tags: trunk)
2010-09-01
19:29
Identify additional requirements in the sqlite3_vfs object documentation. (check-in: 47064453 user: drh tags: trunk)
18:00
Add tests to quota.test. (check-in: ec9af6eb user: dan tags: trunk)
16:19
Call quota callback destructors from within sqlite3_quota_shutdown(). (check-in: fb80c6f3 user: dan tags: trunk)
15:26
Boundary value fix to the descriptive comment at the top of test_quota.c. (check-in: 7f6072f0 user: drh tags: trunk)
15:22
Merge the test_quota.c module into the trunk. (check-in: 2e1a0202 user: drh tags: trunk)
15:11
Fix the TCL interface to test_quota.c so that it works with empty callback scripts. (Closed-Leaf check-in: 19e95f63 user: drh tags: experimental)
14:58
Variable name and comment changes to test_quota.c for clearer presentation. (check-in: 38ed1992 user: drh tags: experimental)
14:45
Make all private routines in test_quota.c begin with "quota". Fix a test_quota.c segfault when setting a zero-quota. (check-in: c0d0fc3a user: drh tags: experimental)
14:35
Add the sqlite3_quota_dump test command. Add a destructor argument on the sqlite3_quota_set() interface. (check-in: 7a624b5a user: drh tags: experimental)
13:09
Clean up comments in the test_quota.c source file. (check-in: c1eec7db user: drh tags: experimental)
12:50
Update the quota shim so that when the same file is opened multiple times, its size only counts against the quota once. (check-in: f5d26380 user: drh tags: experimental)
11:50
Add an assert() with an evidence mark to show that automatically generated rowids are positive. (check-in: 740adca3 user: drh tags: trunk)
11:40
Add file test_quota.c, demonstrating how file-system quotas may be implemented as a VFS wrapper. (check-in: 383eb87b user: dan tags: experimental)
02:38
Fix some compiler warnings under MSVC. (check-in: afdc82a9 user: shaneh tags: trunk)
02:37
Ensure randomly generated rowids never go negative. (check-in: 63142367 user: shaneh tags: trunk)
2010-08-31
16:25
Do not clear the internal "schema has changed" flag when performing a savepoint rollback. The schema changes may not have taken place within the savepoint being rolled back. (check-in: c2a84430 user: dan tags: trunk)
15:54
Changes to comments and type names in rtree.c. (check-in: 7c4f80ad user: dan tags: trunk)
15:38
Fix a documentation typo reported on the mailing list. (check-in: c9fe0a23 user: drh tags: trunk)
15:27
Add evidence mark comments to source code. Add additional information to the documentation of sqlite3_release_memory(). Fix a minor inefficiency in mem1.c that was discovered while writing requirements tests. (check-in: 53b0c03f user: drh tags: trunk)
15:02
Add the "circle" test geometry callback to test_rtree.c. And tests for the same. (check-in: 169b8ba4 user: dan tags: trunk)
01:09
Remove unreachable branches to facilitate test coverage. (check-in: 86bcb9aa user: drh tags: trunk)
2010-08-30
22:15
Provide hints to the btree layer during the creation of transient tables for when it is possible for those tables to use a hash rather than a binary tree. No use is currently made of those hints, though assert() statement verify their accuracy. (check-in: 4fead8e7 user: drh tags: trunk)
18:39
When generating sqlite3.h, append the contents of sqlite3rtree.h. (check-in: fc4d7537 user: dan tags: trunk)
16:15
Fix a problem in pagerfault.test uncovered by the previous change. (check-in: b6719ce3 user: dan tags: trunk)
15:43
Add tests (and associated fixes) to restore coverage of rtree.c. (check-in: b06f4695 user: dan tags: trunk)
15:02
Remove the sqlite3BtreeFactory() wrapper routine. All modules now call sqlite3BtreeOpen() directly. (check-in: 0900e353 user: drh tags: trunk)
11:34
Add file sqlite3rtree.h. (check-in: e1d9ffce user: dan tags: trunk)
01:17
Updates to comments on the VDBE opcodes. (check-in: 49c05b4e user: drh tags: trunk)
2010-08-28
19:09
Fix problem with func3.test. (check-in: aec52959 user: dan tags: trunk)
18:58
Add code to allow user-defined searches of r-tree tables. Still largely untested. (check-in: 782ca3b7 user: dan tags: trunk)
2010-08-27
18:44
Make sqlite3_create_function() a special case of sqlite3_create_function_v2() in order reduce the number of code paths and simplify testing. (check-in: 4758d86d user: drh tags: trunk)
17:48
Add the sqlite3_create_function_v2() API, a version of create_function that allows a destructor to be specified. (check-in: 9a724dfb user: dan tags: trunk)
17:16
Refactor the implementation of the scratch memory allocator. Add the SQLITE_TESTCTRL_SCRATCHMALLOC interface to facilitate testing. (check-in: a3475ddf user: drh tags: trunk)
12:21
Remove unnecessary code from malloc.c. Enhance pcache1.c so that is tries to reuse existing pages, rather than create new pages, when SQLite is under memory pressure. "Memory pressure" means that SQLITE_CONFIG_PAGECACHE memory is nearly exhausted or sqlite3_soft_heap_limit() has been reached. (check-in: 51049479 user: drh tags: trunk)
11:19
Further tests for CAST in e_expr.test. (check-in: 9616df8c user: dan tags: trunk)
2010-08-26
19:05
Add tests for CAST expressions to e_expr.test. More to come. (check-in: ba6119d1 user: dan tags: trunk)
16:46
Add EXTERN macros before entry points in tclsqlite.c. These EXTERN macros were inexplicably removed by [1f680cb37584baa106cee05] a few days ago. (check-in: 8b2cf9d4 user: drh tags: trunk)
14:15
Fix a couple of memory leaks in r-tree that can occur following an OOM condition. (check-in: 1975a27c user: dan tags: trunk)
11:27
Remove unreachable condition from rtree.c. (check-in: 90f40cd3 user: dan tags: trunk)
07:59
Improve coverage of rtree.c some more. (check-in: bee1959d user: dan tags: trunk)
05:23
Simplification of changes for SQLITE_OMIT_WAL support in pager.c. (check-in: afb2484c user: shaneh tags: trunk)
2010-08-25
20:35
Reinstate the "sqlite" alias for backwards compatibility (but leave it undocumented) but remove the PackageProvide for "sqlite". (check-in: 699cc6b4 user: drh tags: trunk)
19:39
Disable the legacy "sqlite" command in the TCL interface. Provide only the "sqlite3" command. (check-in: 909b3d88 user: drh tags: trunk)
19:04
Further test coverage improvements for rtree.c. (check-in: 05f6c1ae user: dan tags: trunk)
17:53
Test cases to improve coverage of rtree module. Fixes associated with the same. (check-in: 865cec04 user: dan tags: trunk)
2010-08-24
20:46
Replicate asserts on unixOpen() to winOpen() in os_win.c. (check-in: 40526d83 user: shaneh tags: trunk)
18:35
Changes to support building with SQLITE_OMIT_WAL. (check-in: d1ed743b user: shaneh tags: trunk)
18:07
Change sqlite3_open_v2() to return SQLITE_MISUSE if the combination of bits in the flags parameter is invalid. The documentation says the behavior in this situation is undefined - the documentation is unaltered by this code change. (check-in: 5e8101c5 user: drh tags: trunk)
18:06
Comment enhancements and typo fixes in pcache1.c. (check-in: c2dc39c0 user: drh tags: trunk)
16:59
Fixes to allow fts3 tables to be renamed mid-transaction. (check-in: d1c87532 user: dan tags: trunk)
13:11
Add tests to e_expr.test. (check-in: 5c1c694e user: dan tags: trunk)
01:49
The R-tree module should not assume that its shadow tables are consistent. If a problem is found in a shadow table, return SQLITE_CORRUPT. (check-in: 7f2f71cc user: drh tags: trunk)
00:40
Version 3.7.2 (check-in: 42537b60 user: drh tags: trunk, release, version-3.7.2)
2010-08-23
18:19
Fixes for the SQLITE_CHECK_PAGES debugging feature. (check-in: 21a1e596 user: dan tags: trunk)
17:09
Update the version number in preparation for the 3.7.2 release. (check-in: 77889510 user: drh tags: trunk)
15:41
Fix for ticket [5e10420e8d]. (check-in: 255f1eef user: dan tags: trunk)
15:26
Update the "showdb" debug utility to handle 64K pages and with extra options to decode the freelist structure. (check-in: 1070918e user: drh tags: trunk)
01:25
Version 3.7.1 (check-in: 3613b069 user: drh tags: trunk, release)
2010-08-21
15:51
Add some tests to e_expr.test and pagerfault.test. No code changes. (check-in: 44de3cab user: dan tags: trunk)
15:09
Fix the ptrmapPageno() routine so that it works correctly for an input of 1. (check-in: 699a9bf2 user: drh tags: trunk)
2010-08-20
15:32
Do not allow a backup to change the page size if a codec is in use. (check-in: 5523ecd3 user: drh tags: trunk)
12:43
Fix typo in backcompat.test. (check-in: 6a0cbb27 user: dan tags: trunk)
12:34
Merge leaf created by accident. (check-in: 1f680cb3 user: dan tags: trunk)
12:31
Avoid assuming that the user has "." in their path when running multi-process tests. (check-in: daa5d461 user: dan tags: trunk)
10:28
Do not attempt run backwards compatibility tests if no historical "testfixture" binaries are available. (check-in: 40e11aab user: drh tags: trunk)
09:53
Disable the MEMSYS2 auxiliary routines if MEMSYS2 is changed to an alternative memory allocator using SQLITE_CONFIG_MALLOC. (check-in: 541dd3b8 user: drh tags: trunk)
09:14
Fix the sqlite3_release_memory() interface so that it does not attempt to free SQLITE_CONFIG_PAGECACHE memory. (check-in: 0426cd62 user: drh tags: trunk)
2010-08-19
18:05
Adjust filename globbing in backcompat.test for Windows. (check-in: b0f47963 user: shaneh tags: trunk)
17:16
Fix backcompat.test so that it works with windows mandatory locking. (check-in: 8d05f66d user: dan tags: trunk)
15:48
Add tests for WAL mode to test/backcompat.test. (check-in: 7999910e user: dan tags: trunk)
15:12
Merge two leaves. (check-in: b03091fc user: dan tags: trunk)
15:11
Modify the code for reading hot-journal files so that it can handle journals generated by versions 3.5.7 and earlier. (check-in: b9170f29 user: dan tags: trunk)
14:41
Fix typo in TCL stubs support for configure in Makefile.in (check-in: 4c7ad73d user: shaneh tags: trunk)
14:22
Remove a NEVER from balance_quick() that can occur in WAL mode on a corrupt database file. (check-in: b273891a user: drh tags: trunk)
11:05
Add new test script backcompat.test, for testing database/journal/wal file compatibility against previous versions. (check-in: 8804f498 user: dan tags: trunk)
2010-08-18
21:19
Fix two asserts in the btree logic so that they work correctly even for maximum-size index entries for 32K and 64K pages. (check-in: e127192d user: drh tags: trunk)
17:16
Updated tests for CLI. Added some basic tests for the .import command. (check-in: d46567e5 user: shaneh tags: trunk)
15:25
Disable the SQLITE_MAX_PAGE_SIZE compile time option (it is now always set to 65536). Fix some other problems in test files. (check-in: 56cc883d user: dan tags: trunk)
14:54
Fix issue with wal.test on Windows. (check-in: 3497f54a user: shaneh tags: trunk)
02:28
Fix some compiler warnings in the MSVC build. (check-in: 1f5662b7 user: shaneh tags: trunk)
2010-08-17
19:49
Remove a NEVER() that is actually reachable. (check-in: acb171d4 user: drh tags: trunk)
19:40
Suppress harmless compiler warning. (check-in: 3f8c068a user: drh tags: trunk)
19:34
Return an error when parsing "?NNN" if NNN is so large it cannot be stored as a 32-bit int. (check-in: fc9014be user: dan tags: trunk)
18:37
It is no longer possible to reach pagerStress() while in the error state, so put a NEVER() around the error state test of that routine. (check-in: d7ed4634 user: drh tags: trunk)
18:15
If an SQLITE_FULL error occurs during rollback or journal finalization, treat it in the same way as SQLITE_IOERR (i.e. require that the pager internals be completely reset before it is next read from or written to). (check-in: 8ac18523 user: dan tags: trunk)
17:25
Changes to pager for improved testability. (check-in: 61c64b3a user: drh tags: trunk)
16:06
Add tests for the BETWEEN operator to e_expr.test. (check-in: ced6a348 user: dan tags: trunk)
14:52
Invoke sqlite3_log() whenever one or more frames are recovered from a WAL file. (check-in: e05089aa user: dan tags: trunk)
05:55
Fix some non-ANSI C code in test_demovfs.c. Also change the same file so that attempting to delete a file that does not exist does not return an error. (check-in: 07570ce3 user: dan tags: trunk)
2010-08-16
20:02
Remove an superfluous branch from pager.c. (check-in: 4271a95c user: drh tags: trunk)
19:23
Add tests for different page sizes to wal.test. Including 64K pages. (check-in: d95bcc05 user: dan tags: trunk)
18:26
Add test cases designed to exercise all syntax diagram paths in lang_expr.html (check-in: d4a26bb6 user: dan tags: trunk)
16:31
Fix a typo in a comment in wal.c. No code changes. (check-in: d854a3d4 user: drh tags: trunk)
14:18
Add ALWAYS() macros in wal.c to cover branches that are no longer reachable following the pager refactoring. (check-in: 24f24c92 user: drh tags: trunk)
2010-08-14
21:21
Adjustments for better 64K page size handling. (check-in: faf1974e user: drh tags: trunk)
18:32
Add test case to e_expr.test. (check-in: db9539f2 user: dan tags: trunk)
17:12
Change sqlite3PagerPagecount() to return void, since the return value was always SQLITE_OK and was never used. (check-in: 7dd78eb7 user: drh tags: trunk)
16:02
Minor simplifications to btree.c in support of full-coverage testing. (check-in: 364df6c7 user: drh tags: trunk)
12:42
Tweaks to comments in pager.c. Fix two compiler warnings. (check-in: 68a49f7f user: drh tags: trunk)
12:25
Add test cases to e_expr.test. (check-in: d8bbab78 user: dan tags: trunk)
05:04
Test that it is possible to drop a trigger while there are active statements belonging to the same connection. (check-in: d4ec61e2 user: dan tags: trunk)
2010-08-13
18:41
Add tests to test file e_expr.test. (check-in: 3fd1059e user: dan tags: trunk)
16:38
Do not apply the flattening optimization if the sub-query is DISTINCT. Fix for [e4b8a2ba6e]. (check-in: 497aafd8 user: dan tags: trunk)
2010-08-12
16:36
If an error occurs in PagerSetPagesize(), set the output variable to the unmodified page-size before returning. (check-in: 02def8f9 user: dan tags: trunk)
11:25
Add coverage tests for pager.c. (check-in: 228c5b16 user: dan tags: trunk)
02:41
Increase the maximum page size from 32k to 64k. (check-in: 45362437 user: drh tags: trunk)
2010-08-11
18:56
Improve coverage of pager.c. (check-in: 2fa05d01 user: dan tags: trunk)
12:26
Update an r-tree extension test case to account for recent changes to the query planner. Also fix a comment in rtree.c. (check-in: eaaca669 user: dan tags: trunk)
11:59
Use sqlite3DbFree() instead of sqlite3_free() to free any error message reported by the parser layer while attempting to parse a CREATE TABLE statement passed to sqlite3_declare_vtab(). (check-in: 7c674aab user: dan tags: trunk)
11:35
Fixes to tcl test files so that they work in auto-vacuum mode. (check-in: ea9eaf74 user: dan tags: trunk)
06:14
Fix memory allocation in proxy locking so that it works with SQLITE_MEMDEBUG. (check-in: f854cbe0 user: drh tags: trunk)
06:04
Merge experimental changes into trunk. (check-in: aa092ac9 user: dan tags: trunk)
2010-08-10
15:46
Fix a bug in pager.c causing it to omit the xSync() call required following a hot-journal rollback. (Closed-Leaf check-in: 42ba43ac user: dan tags: experimental)
09:58
Add variable pager.dbHintSize, used to limit the number of calls made to the xFileControl(FCNTL_SIZE_HINT) method. (check-in: eb3ac895 user: dan tags: experimental)
07:12
Changes to debugging code in mutex_unix.c and mutex_w32.c to make an assert() statement threadsafe. (check-in: e82e32bd user: dan tags: trunk)
2010-08-09
19:17
Modify some comments in pager.c. (check-in: 5662da6d user: dan tags: experimental)
16:52
Merge latest trunk changes with experimental branch. (check-in: aecbd890 user: dan tags: experimental)
16:12
Fix a memory leak in test_journal.c causing tests to fail. (check-in: f229487c user: dan tags: experimental)
15:44
Fix typos in comments. No functional changes to the code. (check-in: 9cebaf2d user: drh tags: trunk)
14:47
Change to tcl test infrastructure so that --malloctrace=1 works when sizeof(int)!=sizeof(void*). (check-in: c3e771b3 user: dan tags: experimental)
14:26
Fix two comment typos that were reported on the mailing list. (check-in: 88bf9016 user: drh tags: trunk)
07:51
Fix a problem causing the return code of an xSync call to be ignored in wal.c. (check-in: f1b2b5f9 user: dan tags: experimental)
07:07
In WAL mode, ignore any error returned by an xFileControl(FCNTL_SIZE_HINT) call. This matches the behaviour in rollback mode. (check-in: 158a3097 user: dan tags: experimental)
2010-08-07
16:17
Fix minor problems and update comments in pager.c. (check-in: 92e45637 user: dan tags: experimental)
09:31
Fix a problem wherein changing the journal-mode immediately after leaving exclusive-locking mode could lead to the database being unlocked without clearing the changeCountDone flag. (check-in: 531abc80 user: dan tags: experimental)
05:15
Add test case 'cgt_pager_1', intended for use with callgrind to detect performance regression in the pager module, to threadtest3.c. (check-in: b5d46f1e user: dan tags: experimental)
2010-08-06
19:00
Remove all vestiges of ctype.h from FTS3. This addresses ticket [991789d9f3136a] among other bug reports. (check-in: b8b465ed user: drh tags: trunk)
17:18
Further enhancements to comments in pager.c. (check-in: 876162c7 user: dan tags: experimental)
14:37
Fix some problems with running test scripts with the inmemory_journal permutation. (check-in: 7bd8ba08 user: dan tags: experimental)
13:53
Merge trunk changes into experimental branch. (check-in: aef6698c user: dan tags: experimental)
13:50
Do not run some tests in notify3.test with the inmemory_journal permutation. They do not pass as the tests assume that the database schema is not loaded until the first invocation of [db eval]. This is not true with the inmemory_journal permutation. (check-in: 698fba82 user: dan tags: trunk)
12:00
Further updates to comments in pager.c. (check-in: 5f4c17a3 user: dan tags: experimental)
09:43
Modify test_journal.c to work with pre-allocated databases. (check-in: 4894a5d2 user: dan tags: experimental)
06:54
Fix a bug to do with deleting the journal file when exiting exclusive-locking mode. (check-in: 6217b607 user: dan tags: experimental)
02:10
Change two automatic array variables into static constant arrays. Update and reformat some comments for cleaner presentation. (check-in: a7a15547 user: drh tags: trunk)
2010-08-05
18:53
Add comments describing UNKNOWN_LOCK to pager.c. Improve some other comments in the same file. (check-in: 54eff6de user: dan tags: experimental)
16:22
Merge trunk changes with experimental branch. (check-in: acd26b8b user: dan tags: experimental)
16:08
Catch an error code that was not being propagated back to the caller. (check-in: 800f4969 user: dan tags: experimental)
15:30
Fixes for error handling with temp databases. And for errors that occur within OS locking primitives. (check-in: f99a902f user: dan tags: experimental)
11:56
Make the size of a Bitvec object 512 bytes on all platforms, instead of having the size depend on the size of a pointer. This makes testing easier. (check-in: ca479f3d user: drh tags: trunk)
03:21
Do not read the database file size on a SAVEPOINT rollback any more since after checkin [65b8636ac6e5] the in-header-size field is always valid. (check-in: fbe70e11 user: drh tags: trunk)
02:52
Fix the query planner so that when it has a choice of full-scan tables to move to the outer loop, it chooses the one that is likely to give the fewest output rows. Ticket [13f033c865f878]. (check-in: 309bbedf user: drh tags: trunk)
2010-08-04
21:17
If the outer loop of a join must be a full table scan, make sure that an incomplete ANALYZE does not trick the planner into use a table that might be indexable in an inner loop. Ticket [13f033c865f878] (check-in: e7a714b5 user: drh tags: trunk)
19:14
Fix some problems with error recovery introduced while reworking pager state. (check-in: 77eaab6f user: dan tags: experimental)
11:34
When opening a write-transaction on a database file that has been appended to or truncated by a pre-3.7.0 client, update the database-size field in the database header. Fix for [51ae9cad31]. (check-in: 65b8636a user: dan tags: trunk)
2010-08-03
18:29
Merge trunk changes into experimental branch. (check-in: 15368a9f user: dan tags: experimental)
18:18
Set the Pager.eState variable to PAGER_ERROR whenever the pager enters the error state. (check-in: 4d384761 user: dan tags: experimental)
18:06
Fix disabled implementation-mark comments in func.c. (check-in: 57c09600 user: drh tags: trunk)
15:57
Add comments to clarify the purpose of the pager "error state". (check-in: fde4c597 user: dan tags: experimental)
13:08
Fix the REPLACE conflict resolution so that it falls back to ABORT when a CHECK constraint fails. Ticket [c38baa3d969eab794]. (check-in: 4e157b77 user: drh tags: trunk)
12:48
Add state diagram to comments in experimental version of pager.c. (check-in: 16dcf5a6 user: dan tags: experimental)
06:42
Incremental checkin on pager state refactoring. (check-in: 0a636798 user: dan tags: experimental)
2010-08-02
14:32
Experimental refactoring of the Pager object state. This version is surely buggy. (check-in: 03a24051 user: dan tags: experimental)
10:59
Modify wal2.test to disable tests requiring TCL 8.5 if the test harness is compiled using TCL 8.4. (check-in: 016486c7 user: drh tags: trunk)
10:47
In shared-cache mode, do not allow one connection to checkpoint a database while a second connection is reading or writing the same shared-cache. (check-in: e75b52d1 user: dan tags: trunk)
2010-08-01
22:41
Fix a typo in an error message of the TCL interface. (check-in: 8eadd7b8 user: drh tags: trunk)
2010-07-30
18:40
If a database becomes corrupted such that an index is out of sync with its table, make sure the corruption is detected and reported back. Do not assume that indices always contain rowids for valid table rows. (check-in: 83395a3d user: drh tags: trunk)
16:54
Fix typos in comments. No code or logic changes. (check-in: 15c294ca user: drh tags: trunk)
16:44
Remove a test from sqlite3PagerCommitPhaseOne which is now always true after the multi-file transaction fix. (check-in: 6758f6a8 user: drh tags: trunk)
15:43
Remove variable Pager.needSync, which was almost completely unused. (check-in: 347f22a5 user: dan tags: experimental)
14:39
Merge trunk changes into experimental again. (check-in: 87e0f4e1 user: dan tags: experimental)
11:31
Changes to the comments describing the Pager.setMaster variable in pager.c. Add an assert() statement to verify that two master journal pointers are not written to a single journal file. (check-in: ad78ccac user: dan tags: trunk)
11:20
Cherry-pick the multi-file transaction fix for ticket [f3e5abed55] out of the experimental branch. (check-in: 40f7f0a5 user: drh tags: trunk)
10:09
Add the test cases for bug [f3e5abed55]. (check-in: cbbaf8e6 user: dan tags: experimental)
10:02
Make sure a connection has an exclusive lock on all database files involved in a multi-file transaction before writing the master-journal pointer into any journal files. Fix for [f3e5abed55]. (check-in: 50c0f220 user: dan tags: experimental)
07:26
Merge further trunk changes into experimental branch. (check-in: fb847d70 user: dan tags: experimental)
05:06
Add tests to check that the ICU regexp() function can only be called with exactly two arguments. (check-in: 451d9657 user: dan tags: trunk)
00:31
Updates to the README.txt file for ICU. (check-in: d37443d3 user: drh tags: trunk)
2010-07-29
10:13
Unconditionally include the pTmpSpace size in the estimate of the pager memory used. (check-in: 4b97f864 user: drh tags: trunk)
10:07
Change the profile timer units back to nanoseconds and update the sqlite3_profile() documentation. Ticket [c43940c49b74c70a69] (check-in: 7783b98a user: drh tags: trunk)
01:50
Correct handling of compound foreign key constraints that include the integer primary key as one of the columns. Ticket [ce7c133ea6cc9ccdc1] (check-in: 53902f7d user: drh tags: trunk)
2010-07-28
19:17
Get SQLITE_OMIT_VIRTUALTABLE working again after being broken by recent changes. (check-in: 33b1e862 user: drh tags: trunk)
18:51
Fix the dbstatus.test script so that it works correctly on 64-bit machines. (check-in: a3401d9e user: drh tags: trunk)
18:35
Merge trunk changes into experimental branch. (check-in: aa819001 user: dan tags: experimental)
17:36
Improve the accuracy of the Pager heap usage estimate. (check-in: ae89777e user: drh tags: trunk)
17:16
Adjust the shell test script "shell4.test" to account for changes in the ".stat on" display format from the previous checkin. (check-in: 2f2fa7dd user: drh tags: trunk)
17:01
Record the pcache allocation size statistics even for pcache overflow allocations. Adjust the wording on one of the stat output lines in the shell. (check-in: f9adf66a user: drh tags: trunk)
16:05
Modify CLI to optionally display "stats". (check-in: 419ce0ed user: shaneh tags: trunk)
15:52
Lookaside memory is not used to store schemas. Change the SQLITE_DBSATUS_SCHEMA_USED documentation to reflect this fact. (check-in: 07abfd52 user: drh tags: trunk)
15:49
Add documentation for the SQLITE_STATUS_MALLOC_COUNT parameter to sqlite3_status(). (check-in: dbfbdb60 user: drh tags: trunk)
15:10
Fix errors in wal3.test caused by recent modifications. (check-in: 0714aecc user: dan tags: experimental)
14:26
Support FCNTL_CHUNK_SIZE on windows too. (check-in: a038688c user: dan tags: experimental)
02:53
Do not allow automatic indices for the RHS of IN expressions which are not correlated subqueries. Ticket [8011086c85c6c404014c9] (check-in: 267492d3 user: drh tags: trunk)
2010-07-27
18:36
Merge trunk changes into experimental branch. (check-in: 62182409 user: dan tags: experimental)
18:34
Add experimental unix-only file-control to grow and truncate the database file by a configurable chunk size. (check-in: 7cf0e851 user: dan tags: experimental)
16:42
Update the makefiles to prefer TCL version 8.5 instead of 8.4. (check-in: 8118de2a user: drh tags: trunk)
2010-07-26
19:09
Fix a bug in the SQLITE_STATUS_MALLOC_COUNT counter. Add an ALWAYS() around a condition in the SQLITE_DBSTATUS_SCHEMA_USED logic that is always true. (check-in: 6df081ad user: drh tags: trunk)
18:43
Add the SQLITE_STATUS_MALLOC_COUNT option for sqlite3_status(). (check-in: 8f8e442b user: drh tags: trunk)
16:40
Increase the version number to 3.7.1 due to the API enhancement of the previous check-in. (check-in: 1d7571e4 user: drh tags: trunk)
16:24
Add support for SQLITE_DBSTATUS_SCHEMA_USED and SQLITE_DBSTATUS_STMT_USED to the trunk. (check-in: 008368b2 user: drh tags: trunk)
15:57
When calculating schema memory, use the actual allocated size of hash elements, not sizeof(HashElem). Also fix a bug in dbstatus.test. (Closed-Leaf check-in: e327ef37 user: dan tags: experimental)
14:47
Add virtual table test cases to dbstatus.test. (check-in: 72b84d06 user: dan tags: experimental)
14:20
Further fixes to the P4_MEM size measurement logic. (check-in: 934cda29 user: drh tags: experimental)
13:58
Fix an issue with P4_MEM and the schema size measurement logic. Also fix a compiler warning. (check-in: 8166f338 user: drh tags: experimental)
12:38
Make sure sqlite3_free() is not called for P4_MPRINTF during a size measurement. (check-in: 56f11f88 user: drh tags: experimental)
12:36
Remove an assert() that uses a variable removed earlier. (check-in: c04907e6 user: dan tags: experimental)
12:05
Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement. (check-in: 00e55102 user: dan tags: experimental)
11:59
Update comments to better documentation the new memory measurement functions. (check-in: 620bad03 user: drh tags: experimental)
11:07
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: 629e38a8 user: drh tags: experimental)
2010-07-24
16:34
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: ac1f37a6 user: drh tags: malloc-enhancement)
11:28
Experimental code to measure memory consumed by database schemas and prepared statements. (check-in: 9aa30342 user: dan tags: experimental)
2010-07-23
22:26
Fix a typo in the OS/2 vfs code. (check-in: a6bb2108 user: drh tags: trunk)
17:37
Merge two leaves. (check-in: 54e5886d user: dan tags: trunk)
17:32
Strenghten an assert() in malloc.c that helps to ensure that allocated memory is freed by the appropriate routine. (check-in: 80db61ac user: drh tags: trunk)
17:06
Remove additional traces (mostly in comments) of the Table.dbMem field. (check-in: 5c58f44a user: drh tags: trunk)
15:55
Add a test case to shared.test. No changes to production code. (check-in: bfb0dd3c user: dan tags: trunk)
15:41
Remove the Table.dbMem variable, as it is no longer being used for its original purpose. (check-in: 6eddc6e6 user: dan tags: trunk)
08:31
Remove the unused Schema.db variable. (check-in: 430be657 user: dan tags: trunk)
2010-07-22
22:40
Add evidence marks to the where.c source file. Comment only - no code changes. (check-in: f3f9e8e5 user: drh tags: trunk)
17:55
Make the sqlite3_db_status() routine threadsafe. (check-in: 241f7bd1 user: dan tags: trunk)
17:49
Enhance the LIKE/GLOB query optimization so that it works as long as there is an index with the appropriate collating sequence and even if the default collating sequence of the column is different. Ticket [4711020446da7d93d99]. (check-in: 9f932655 user: drh tags: trunk)
15:44
Add test/threadtest3.c, containing multi-thread tests implemented in C. (check-in: aad88cf5 user: dan tags: trunk)
12:33
Try to optimize LIKE and GLOB operators when RHS contains no wildcard. Ticket [e090183531fc274747] (check-in: 613a87d6 user: drh tags: trunk)
11:40
Tweaks to the virtual table documentation contained in comments of sqlite3.h. No changes to actual code. (check-in: f5866d47 user: drh tags: trunk)
2010-07-21
16:16
Version 3.7.0 (check-in: b36b105e user: drh tags: trunk, release)
2010-07-20
20:23
Added fix to os_win.c for race conditions from os_unix.c; added saving of errno in two places. (check-in: 13ed106c user: shaneh tags: trunk)
18:59
Fix a race condition in os_unix.c that may occur when one thread is opening a connection to a shared-memory block and another is either closing or locking the same shared-memory. (check-in: 3b7330c1 user: dan tags: trunk)
2010-07-19
15:01
Update the CLI test scripts for version 3.7.0. (check-in: 92fe70da user: drh tags: trunk)
12:44
Use exit(255) instead of abort() in the tcl [sqlite_abort] test command. This stops testfixture from creating dozens of core files each time tests are run. (check-in: aec9e131 user: dan tags: trunk)
12:05
Changes to stat.test so that it works with file-format 4. (check-in: f87bb283 user: dan tags: trunk)
11:16
Re-introduce the prefix-search optimization of [feef1b15d6], which was lost in a reorganization of FTS3 code. (check-in: d692434b user: dan tags: trunk)
05:27
Enable previously failing tests in e_expr.test that pass following [3e5975aa3b]. (check-in: 3d59c54a user: dan tags: trunk)
02:30
Fix a parser bug that was causing the relative precedence of LIKE and < operators to be incorrect. (check-in: 3e5975aa user: drh tags: trunk)
01:52
Improvements to the formatting of parse.out file from Lemon. Add the -r option to Lemon to disable the state sorting, making debugging easier. (check-in: a2eaf829 user: drh tags: trunk)
2010-07-18
11:35
Add the -p option to lemon to cause conflicts resolved by precedence rules to appear in the parse.out file. (check-in: fb6a59b0 user: drh tags: trunk)
2010-07-17
18:44
Add new test file e_expr.test. (check-in: cbcf8abb user: dan tags: trunk)
09:27
Do not run journal3.test with the inmemory_journal permutation. (check-in: e1d228e9 user: dan tags: trunk)
2010-07-16
11:10
Fix a problem with wal4.test caused by changes in the previous checkin. (check-in: 1218d370 user: dan tags: trunk)
10:39
Fix a test script bug uncovered by [a121cd80c5] that was causing shared_err.test to fail. (check-in: d7b63a4c user: dan tags: trunk)
2010-07-15
18:38
Previous check-in [534aab837e] accidently reverted some changes from [a121cd80c5]. This check-in restores those changes. (check-in: abff795f user: drh tags: trunk)
18:32
Optionally support shared-memory in /dev/shm or other tmpfs directory using an unsupported compile-time option. (check-in: 534aab83 user: drh tags: trunk)
18:20
Changes to wal.c so that SQLite can read even if the WAL file is opened read-only, provided the wal-index (shm file) is opened read/write. (check-in: 932d19da user: dan tags: trunk)
17:54
Handle the case where xShmMap returns SQLITE_BUSY. (check-in: 75f53548 user: dan tags: trunk)
14:59
When creating a journal file on unix, attempt to create it with the same permissions as the associated database file. (check-in: a121cd80 user: dan tags: trunk)
11:14
Change a comment inside a block of code in parse.y from C++ to C style. (check-in: dea7d33b user: dan tags: trunk)
2010-07-14
20:51
Fix a typo in a comment in os_unix.c. (check-in: e1e73125 user: drh tags: trunk)
20:23
The expression list on the RHS of an IN operator can no longer be empty because an empty expression list is now optimized out by changes in check-in [c288ac644d0bf]. Therefore add ALWAYS() macros around tests for the expression list being non-empty. (check-in: fd130ae5 user: drh tags: trunk)
19:31
Additional test cases and evidence marks for the empty RHS bug on the IN operator - ticket [80e031a00f45dca877] (check-in: 6851c517 user: drh tags: trunk)
18:24
Make the result of an IN or NOT IN expression with an empty set on the right-hand side always either false or true, respectively, even if the left-hand side is NULL. Ticket [80e031a00f45dc] (check-in: c288ac64 user: drh tags: trunk)
18:10
Fix an assert() failure in wal2.test caused by messing with the contents of shared memory. (check-in: 9f452514 user: dan tags: trunk)
16:37
Test the libraries response to read-only or unreadable database, WAL and wal-index files. If a WAL file cannot be opened in read/write mode, return SQLITE_CANTOPEN to the caller. (check-in: 45bb84c6 user: dan tags: trunk)
14:48
On unix, try to create the *-wal and *-shm files with the same permissions as the associated database file. (check-in: e5d180ee user: dan tags: trunk)
08:20
Add tests to pagerfault.test. (check-in: b092f2a7 user: dan tags: trunk)
07:06
Test that a corrupted WAL hash-table does not put the library into an infinite loop. (check-in: c73886ed user: dan tags: trunk)
06:20
Fix a typo in the IS_BIG_INT macro used by coverage test instrumentation. (check-in: 5314ca39 user: dan tags: trunk)
01:45
Fix the unix driver to return an I/O error if unlink fails for any reason other than the file not existing in the first place. (check-in: 90d73c66 user: drh tags: trunk)
00:22
Remove the xShmOpen method from the VFS. Shared-memory is opened automatically by a call to xShmMap. Rename the xShmClose method to xShmUnmap. (check-in: 2b68e502 user: drh tags: trunk)
00:14
Change the name of the xShmClose VFS method to xShmUnmap, everywhere. (Closed-Leaf check-in: c2d27cf5 user: drh tags: experimental)
2010-07-13
23:41
Tweaks to the new shared-memory interface design - mostly comment changes. (check-in: 6336de7a user: drh tags: experimental)
18:45
Fix a typo in a comment in sqlite.h.in. (check-in: 4a6c4b66 user: dan tags: experimental)
18:44
Changes so that the xShmOpen VFS method is no longer required. Its job can be done by the first call to xShmMap. Rename xShmClose to xShmUnmap. (check-in: f4780bde user: dan tags: experimental)
14:48
Improved documentation for the SQLITE_ACCESS_* constants that are used with the xAccess() method of the VFS. (check-in: 3d4bb65f user: drh tags: experimental)
14:33
Add proposed interface change to sqlite.h.in. This commit breaks the build. (check-in: 52577bb5 user: dan tags: experimental)
14:22
Fixes to the pcache10 and pcache90 permutations. (check-in: 597d40fa user: dan tags: trunk)
07:38
Fix problems with running the async.test script. (check-in: 05ac2548 user: dan tags: trunk)
2010-07-12
20:46
Updates to comments and code organization to reflect changes in os_unix.c; Updated winShmLock() with logic changes from unixShmLock(); Modified IO error returns in winShmMap() to match those in unixShmMap(); (check-in: b73fe275 user: shaneh tags: trunk)
18:12
Fix test_stat.c so that it does not cause compilation errors if SQLITE_OMIT_VIRTUALTABLE is defined. (check-in: bf4fc088 user: dan tags: trunk)
16:47
Fix makefiles so that they build sqlite3_analyzer again. Tweaks to comments in test_stat.c. Fix tclsqlite.c to build the sqlite3_analyzer again. (check-in: e6cd1545 user: drh tags: trunk)
12:22
In the async-IO module, do not increment the open file-counter until after an "open file" event has been added to the event queue. Otherwise, an OOM may cause the system to increment the counter even though no file was successfully opened. (check-in: 15a190dc user: dan tags: trunk)
08:39
Changes so that the space-analyzer script works with 3.7.0. (check-in: 86159cb3 user: dan tags: trunk)
2010-07-09
19:32
Exclude a few more FTS modules from the "in memory" permutation test suite. (check-in: 4e9d69cd user: shaneh tags: trunk)
18:43
Exclude fts3cov.test from the "in memory" permutation test suite to avoid a false positive. (check-in: 6af6794c user: shaneh tags: trunk)
12:57
Fix warning under MSVC. (check-in: 0c32c4bb user: shaneh tags: trunk)
03:19
Reformat WAL code for clearer presentation. Update comments for correctness. Add checks to ensure that corruption in shared-memory does not result in an infinite loop. (check-in: 40eaada7 user: drh tags: trunk)
2010-07-08
19:19
Replace code that became unreachable due to the journal_mode simplification with an assert(). (check-in: bcdddba4 user: drh tags: trunk)
18:32
Fix test case numbering in backup_malloc.test and issue when running under Windows. (check-in: aef26438 user: shaneh tags: trunk)
17:40
Change the journal_mode pragma to remove the "default journal mode" concept. The journal_mode pragma only effects currently attached databases and does not change the behavior of future attachments. (check-in: e396184c user: drh tags: trunk)
16:50
Merged experimental crashsql() into trunk. (check-in: 01b575ff user: shaneh tags: trunk)
16:30
Changes to get crashsql() working on Windows. (Closed-Leaf check-in: 8a5811ea user: shaneh tags: experimental)
16:22
Fix warning in test fixture code. (check-in: 0bfcf3bc user: shaneh tags: trunk)
16:22
Fix test case number issue in walcrash.test. (check-in: 6a46e641 user: shaneh tags: trunk)
14:59
Fix to lock5.test so that it runs with the inmemory_journal permutation on osx. (check-in: 948bb545 user: dan tags: trunk)
13:33
Fixed a few tests in pagerfault.test so they work correctly on Windows. (check-in: ffbdd954 user: shaneh tags: trunk)
09:44
Changes to test scripts so that the "inmemory_journal" permutation works with [ef126e775a]. (check-in: f553c8ed user: dan tags: trunk)
06:22
Add tests to walmode.test. (check-in: 5aa2bdb5 user: dan tags: trunk)
03:13
Changes to os_win.c to have it simulate IO errors like os_unix.c. (check-in: 0d53da94 user: shaneh tags: trunk)
2010-07-07
21:06
Make the initial salt values in the WAL header random values, not zero. (check-in: baa5eddd user: drh tags: trunk)
20:38
Add the write-ahead log viewer/debugger tool to the tools/ folder. (check-in: 0e4bd446 user: drh tags: trunk)
20:00
Fix issue in mallocI test script where db handle not released. (check-in: dd59cea6 user: shaneh tags: trunk)
18:38
Add further test cases to savepoint.test. (check-in: f825205d user: dan tags: trunk)
17:53
When rolling back a savepoint, reset the changeCountDone flag. (check-in: fb62f4e3 user: dan tags: trunk)
16:51
When using MSVC to build test code, suppress the popup dialog when abort is called from the sqlite_abort() test function. (check-in: 55d3d39f user: shaneh tags: trunk)
16:49
Fix some MSVC compiler warnings in the ASYNC extension. (check-in: b951c867 user: shaneh tags: trunk)
16:23
Merge together another accidental fork. (check-in: c41f04ed user: dan tags: trunk)
16:20
Fix test numbering issue in nan.test. (check-in: 5bb1330f user: shaneh tags: trunk)
16:18
Do not make the SQLITE_FCNTL_SIZE_HINT call if an error has already occurred during transaction commit. (check-in: e92de834 user: dan tags: trunk)
15:41
Close the file handle before returning. TCL test script issue only. (check-in: f4076d85 user: shaneh tags: trunk)
14:45
Fixed a new error introduced by last check-in of os_win.c. Updated xAccess() to support SimulateIOError(). (check-in: 8eefc287 user: shaneh tags: trunk)
14:40
Remove two more testcase() macros that require 4GiB WAL files to hit. (check-in: 16e18f27 user: drh tags: trunk)
14:35
Remove a testcase() macro that would require a 4GiB WAL to reach. (check-in: 15f9c271 user: drh tags: trunk)
14:33
Fix a compiler warning in PRAGMA journal_mode. (check-in: d94269e6 user: drh tags: trunk)
14:19
Avoid the need for a NEVER() from pager_write_pagelist() by passing in pPager as an extra parameter. (check-in: b3179379 user: drh tags: trunk)
14:00
Merge together the accident fork. (check-in: cdcf08cb user: drh tags: trunk)
13:58
Fix minor issue in xAccess() method for Windows. (check-in: 4bfd46f1 user: shaneh tags: trunk)
13:54
Make sure the schema is loaded before preparing a "PRAGMA journal_mode" command. This helps it return meaningful results when it is the first command executed by a new database connection. (check-in: ef126e77 user: dan tags: trunk)
13:43
Add testcase macros to ensure that large-file cases are tested in WAL. (check-in: 8156b57a user: drh tags: trunk)
11:43
Run some fts3 tests as part of the "wal" permutation. (check-in: 8657455a user: dan tags: trunk)
11:05
Change the async-IO extension to return SQLITE_IOERR_SHORT_READ when appropriate. This prevents a valgrind warning in the test suite. (check-in: d9e32879 user: dan tags: trunk)
09:48
Fix a problem with writing to databases larger than 2^32 bytes with WAL mode. (check-in: b956ddca user: dan tags: trunk)
01:52
Remote the SQLITE_OMIT_GLOBALRECOVER macro - it is subsumed by SQLITE_OMIT_DEPRECATED. Add support to sqlite3_compileoption_used() for SQLITE_OMIT_WAL. (check-in: 21a2db90 user: drh tags: trunk)
2010-07-06
20:37
Minor changes to Makefile.in to bring it more inline with main.mk. (check-in: 5621862b user: shaneh tags: trunk)
20:34
Changes to pager1.test to support Windows. (check-in: fce689eb user: shaneh tags: trunk)
20:33
Modified the xWrite() method on Windows to differentiate between IO and disk full error returns. (check-in: ca4b7ffb user: shaneh tags: trunk)
11:26
Do not do the *-closeallfiles test for notify2.test. It uses multiple threads. (check-in: fb09152d user: dan tags: trunk)
10:55
Before calling Tcl_ExitThread() in a multi-threaded test, call Tcl_DoOneEvent() as many times as necessary to handle any queued events. (check-in: b3399b40 user: dan tags: trunk)
09:29
Reorder variable declarations in the previous check-in to avoid putting code before declarations when not testing. (check-in: d1fe8ab4 user: drh tags: trunk)
07:36
Ensure the correct error code is returned if an attempt to parse a database schema made by an ATTACH statement fails. (check-in: c2721961 user: dan tags: trunk)
2010-07-05
21:00
Modify the VFS xAccess() method on winNT so that it returns false for an exists test of a zero-length file. This makes the windows VFS work the same as the unix VFS. (check-in: ec35f254 user: drh tags: trunk)
19:13
Simplify the previous commit by removing the pagerCheckForOrDeleteWAL() wrapper. (check-in: a1324d12 user: dan tags: trunk)
19:03
Allocate a buffer containing the full path-name to the associated WAL file when a pager is created. This saves having to construct a new buffer each time a new read-transaction is opened and SQLite checks for the existance of a WAL file. (check-in: 3053a4ad user: dan tags: trunk)
17:43
When rolling back page 1 from a journal, restore the "nReserve" setting in case it has been corrupted by a prior crash. (check-in: c0d124da user: drh tags: trunk)
14:54
Do not report an error if the open-file-count is not as it should be after running a multi-threaded test. The counter instrumentation is not thread-safe. (check-in: ea80b21c user: dan tags: trunk)
12:54
Call Tcl_ExitThread() from within threads created using Tcl_CreateThread(). Not doing so causes notifier related errors on OSX. (check-in: 684eae66 user: dan tags: trunk)
05:54
Add any files specified as part of the QUICKTEST_INCLUDE environment variable to the set of test files run as part of "make test". Release testing uses this trick. (check-in: a40a6e7d user: dan tags: trunk)
05:31
Fix typos in permutations.test. (check-in: b6600ecb user: dan tags: trunk)
2010-07-03
19:08
Do not run the memsubsys1.test script under the memsubsys1 permutation. (check-in: 3a1a8c77 user: dan tags: trunk)
17:13
Remove the unused xRename() method from the sqlite3_vfs object. Add better documentation on the xCurrentTimeInt64() method. (check-in: 51ec0e54 user: drh tags: trunk)
16:37
Further changes to test scripts so that the "inmemory_journal" permutation works. (check-in: 50f2f7df user: dan tags: trunk)
13:59
Fix a bug in the permutations.test script. (check-in: 3b20ad03 user: dan tags: trunk)
13:50
Fix an assert in pager.c. And various test cases that fail with the in-memory journal permutation. (check-in: 622378db user: dan tags: trunk)
13:45
Fix an assert in pager.c. And various test cases that fail with the in-memory journal permutation. (Closed-Leaf check-in: 78fc35ff user: dan tags: mistake)
12:31
Cherry-pick the correct changes out of the recent "mistake" branch while omitting the bugs. (check-in: 48bf3093 user: drh tags: trunk)
12:26
Remove dead code from the pager. (check-in: 7cbe175a user: drh tags: mistake)
12:00
Print the SQLite source_id() string when running speed tests. (check-in: 6d7640ed user: drh tags: mistake)
10:00
Fix an assert() in pager.c added by the previous commit. And various problems with test scripts in autovacuum and in-memory journal mode. (check-in: 62a10101 user: dan tags: mistake)
08:01
Do not attempt to open a WAL file for an in-memory or temporary database. Even if the database header suggests that it is a WAL database. (check-in: 0fd80924 user: dan tags: mistake)
05:56
Change code in OP_Rewind to avoid a valgrind warning following an error in the btree layer. This change does not fix any bug, just a warning. (check-in: 4f62dbcf user: dan tags: mistake)
01:44
Fix a buffer overrun in the where.c. Problem detected by valgrind. (check-in: 15bb6233 user: drh tags: mistake)
2010-07-02
19:49
Changes to os_win.c to have it return same error code as os_unix.c. (check-in: 33b6f069 user: shaneh tags: mistake)
19:36
Omit the OP_JournalMode opcode from the VDBE when SQLITE_OMIT_PRAGMA is defined. (check-in: 565ff65c user: drh tags: mistake)
19:04
Fix a bug in test_vfs.c causing an assert to fail. Changes to test code only. (check-in: 336ce7d2 user: dan tags: mistake)
18:58
Do not run the tests in notify3.test unless the unlock-notify API is available. (check-in: 0d7fd6fe user: dan tags: mistake)
18:44
Take out the incomplete initializer on the constant "dummy" in sqlite3VdbeGetOp(). Add a comment that the MSVC warning there should be ignored. (check-in: 452ccaa9 user: drh tags: mistake)
18:15
Fix a couple more compiler warnings under MSVC. (check-in: 26bc27e3 user: shaneh tags: mistake)
17:10
Fix compiler warnings in the proxy locking code. (check-in: 26c7689c user: drh tags: mistake)
17:07
Remove a couple of C++ style comments from pager.c. (check-in: 4f12e8eb user: drh tags: mistake)
17:05
Fix some warnings when compiling under MSVC. (check-in: 70833877 user: shaneh tags: mistake)
16:36
Add initializers for the xShmXXX() members to an sqlite3_io_methods structure in journal.c. This doesn't fix any real problem, just prevents a compiler warning. (check-in: dafb3577 user: dan tags: trunk)
15:35
Remove an unused call to sqlite3PageBegin() from pager_write(). Replace it with an assert(). (check-in: 01c12782 user: drh tags: trunk)
13:49
Run tkt-9d68c883.test along with the other pager.c coverage tests. Add a test case to pager1.test. (check-in: c6714b0d user: dan tags: trunk)
11:27
Additional test cases to cover branches in pager.c. (check-in: eddfb2b4 user: dan tags: trunk)
01:18
Add a NEVER to sqlite3PagerCommitPhaseTwo() because it is now no longer possible to invoke that function without holding a RESERVED lock. (check-in: 6ae76172 user: drh tags: trunk)
2010-07-01
19:45
If you delete a database file but not its *-wal file, then open the database (thus creating a new empty database file) the *-wal file is automatically deleted. (check-in: 95c69dfb user: drh tags: trunk)
19:01
Add tests to pager1.test and pagerfault.test. (check-in: c6e75950 user: dan tags: trunk)
15:09
Add pager test cases. Change a condition in pager.c to NEVER(). (check-in: a8f6341d user: dan tags: trunk)
2010-06-30
10:36
Add further test cases. Fix an assert() in pager.c. (check-in: 8e65c0e3 user: dan tags: trunk)
04:36
Do not call pager_open_journal() from within PagerBegin() if the connection is in exclusive-access mode. It will be called from within PagerWrite() just as it is for non-exclusive mode anyway. (check-in: cdf2c5c2 user: dan tags: trunk)
04:29
Add coverage test cases. Have sqlite3_backup_step() transform SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. (check-in: 5e19bc36 user: dan tags: trunk)
2010-06-29
10:30
Add tests to pager1.test and pagerfault.test. (check-in: 008513ee user: dan tags: trunk)
2010-06-28
19:04
Add extra pager tests. (check-in: 6b7e419d user: dan tags: trunk)
11:23
Fix some errors when compiling with SQLITE_OMIT_WAL. (check-in: 3b68cb9c user: dan tags: trunk)
11:06
Remove debugging code from test script. (check-in: a85ae332 user: dan tags: trunk)
10:15
Currently, if SQLite cannot find a table or index referred to by a query, it reloads the database schema from disk to see if the table or index has been added since the schema was cached in memory. Extend this behaviour to columns (which may have been added using ALTER TABLE) and fix some obscure cases related to tables and indexes (INDEXED BY, DROP TABLE etc.). (check-in: 4932f228 user: dan tags: trunk)
2010-06-26
22:16
Make walIndexTryHdr() a private function. Fix an issue with SQLITE_MUTEX_NOOP. (check-in: ec65bbd0 user: drh tags: trunk)
21:34
Suppress various compiler warnings. (check-in: e82d008e user: drh tags: trunk)
20:25
Fix two asserts on the scratch allocator to allow for up to two outstanding scratch allocations per thread. (check-in: f149b498 user: drh tags: trunk)
20:00
Suppress a couple uninitialized variable warnings. (check-in: 29571e22 user: drh tags: trunk)
19:03
Add test file tkt-d11f09d36e.test. (check-in: 6e469b63 user: dan tags: trunk)
19:02
Remove a NEVER() in pager that can in fact be reached in obscure failure cases. (check-in: 42b8bd1c user: drh tags: trunk)
17:15
Fix a case where the doNotSyncSpill flag may remain permanently set following an IO error. (check-in: 56c7d111 user: dan tags: trunk)
15:42
When synchronous=NORMAL, use the same journal file format as with synchronous=FULL (i.e. multiple journal headers within the one journal). Fix for [d11f09d36e]. (check-in: 2eaf5ee0 user: dan tags: trunk)
2010-06-25
19:09
Further test cases for pager1.test and pagerfault.test. (check-in: bfd563c4 user: dan tags: trunk)
16:34
Reduce the average (but not maximum) size of the allocations made as part of a checkpoint. (check-in: 4a7fd91b user: dan tags: trunk)
15:16
Reduce the size of the large allocation (approx 8KB for every 4000 frames in the log) that occurs during checkpoint. Use the 'scratch' memory for this allocation instead of the general purpose allocation. (check-in: 29887487 user: dan tags: trunk)
14:17
Fix up a branch in sqlite3ValueFromExpr() so that we can achieve full branch test coverage regardless of whether or not SQLITE_ENABLE_STAT2 is used. (check-in: af471ed7 user: drh tags: trunk)
12:52
Change the name of the shared-memory file on windows from *-wal-index to *-shm, for consistency with unix. (check-in: 5995cb15 user: drh tags: trunk)
11:35
Modify the merge-sort in wal.c so that it does not use recursion. (check-in: daea6c05 user: dan tags: trunk)
2010-06-24
19:16
Add test cases to pager1.test and pagerfault.test. (check-in: 4941e437 user: dan tags: trunk)
18:36
Revert to allowing a cache spill during writes of multiple pages within a single sector as long as the spill does not require a journal sync and a new journal header. (check-in: 7d83fbae user: drh tags: trunk)
17:37
Modify ctime.test to work with SQLITE_THREADSAFE=2. (check-in: c6db3b30 user: dan tags: trunk)
14:52
Disable memory-pressure induced cache spill during savepoint rollback. (check-in: a55eb4c3 user: drh tags: trunk)
13:24
Add a coverage test to pagerfault.test. (check-in: b58db67e user: dan tags: trunk)
10:50
Add coverage tests. Remove a NEVER macro from pager.c, as the condition can now be true in wal mode. (check-in: 7aac9ad6 user: dan tags: trunk)
02:46
Make sure the wal-index reader detects an incorrect version number even if it had to hold a lock in order to read the wal-index. Also, expand and enhance various comments in wal.c. (check-in: 2e6a462c user: drh tags: trunk)
2010-06-23
22:00
Fix and/or improve comments in wal.c. No code changes. (check-in: ee9991be user: drh tags: trunk)
19:27
Add test case for SQLITE_FULL errors to pagerfault.test. Remove a NEVER macro in pager.c that this hits. (check-in: 3e9680c4 user: dan tags: trunk)
17:59
Include the SOURCE_ID value in the log messages output for corruption, misuse, and CANTOPEN errors. (check-in: 1727a81f user: drh tags: trunk)
17:58
Adjust the shared-memory locking range to account for the new version number values in the wal-index header. (check-in: a6dc0df3 user: drh tags: trunk)
15:55
Add a version number to the wal-index header. If SQLite encounters a version number in either the wal or wal-index files that it does not understand, the operation is abandoned and SQLITE_CANTOPEN returned. (check-in: 8d0f8a7f user: dan tags: trunk)
15:18
Fix the xCurrentTimeInt64 interface on windows. It was off by a factor of 10. (check-in: 51ef43b9 user: drh tags: trunk)
15:04
Simplifications to the pager_delmaster() implementation. (check-in: 8bfbdec6 user: drh tags: trunk)
2010-06-22
21:15
Disable code used only by the codec when the codec is not deployed. (check-in: 2c90276e user: drh tags: trunk)
15:18
Add codec support to wal mode. (check-in: 393741eb user: dan tags: trunk)
14:49
When trying to transition from journal_mode MEMORY to WAL, use OFF as an intermediate journal mode. (check-in: 4775b8f9 user: drh tags: trunk)
13:46
Some changes to test scripts related to codec enabled versions of sqlite. (check-in: 85dd51a7 user: dan tags: trunk)
11:10
Fix problem with handling of -vfs option in tcl interface. (check-in: 8f98e8b5 user: dan tags: trunk)
2010-06-21
21:45
Minor tweaks to get the pager working for corner cases when the SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN flag is set. (check-in: 82b38fca user: drh tags: trunk)
20:19
Fix comment inside the pager_unlock() routine. Always close the master journal file before trying to delete it. (check-in: f820b815 user: drh tags: trunk)
18:29
Add test cases to pager1.test and pager2.test. (check-in: cc9ddae6 user: dan tags: trunk)
12:47
Merge the experimental UNDELETABLE_WHEN_OPEN optimization into the trunk. (check-in: ee0acef1 user: drh tags: trunk)
12:34
Change things so that journal2.test works with ENABLE_ATOMIC_WRITE. (Closed-Leaf check-in: a64d96db user: dan tags: experimental)
07:45
Add further pager tests. (check-in: 4104b175 user: dan tags: experimental)
06:00
Merge latest trunk change. (check-in: f6d26e07 user: dan tags: experimental)
05:40
Fix jrnlmode2.test so that it works on systems where UNDELETABLE_WHEN_OPEN is defined. (check-in: 59be370e user: dan tags: experimental)
2010-06-19
23:53
Fix an uninitialized variable in os_unix.c. (check-in: 822a0283 user: drh tags: trunk)
19:06
Fix an assert() failure that could occur if compiling with OMIT_SHARED_CACHE. (check-in: 3e76a9f2 user: dan tags: experimental)
18:12
Change the name of IOCAP_SAFE_DELETE to IOCAP_UNDELETABLE_WHEN_OPEN. Have the xDeviceCharacteristics() method of the win32 VFS return this flag. (check-in: 5a5ff4e3 user: dan tags: experimental)
17:26
Add tests to pager1.test and pagerfault.test. (check-in: f5df83fd user: dan tags: experimental)
15:10
Change the unix VFS to always allocate shared-memory using a file in the same directory as the database. Otherwise, a chroot might cause different processes to use different shared memory files resulting in database corruption. (check-in: 2241788b user: drh tags: trunk)
11:30
Add tests to pager1.test and pagerfault.test. (check-in: 58c0b5bf user: dan tags: experimental)
2010-06-18
18:59
Add tests to pager1.test. (check-in: 582fca89 user: dan tags: experimental)
16:13
Rearrange some code in OP_JournalMode to avoid incorrect returns from subsequent invocations of "PRAGMA journal_mode" following an IO error. (check-in: ce0a4a9b user: dan tags: experimental)
11:10
Change the implementation of the unix implementation of xAccess() so that it returns 0 (does not exist) to an SQLITE_ACCESS_EXISTS query on a file that exists but is zero bytes in size. (check-in: 077b0e5b user: dan tags: experimental)
2010-06-17
17:05
Apply [b9b11855e8] (the alternate fix to [fc62af4523]) to the trunk. (check-in: 9a949a3a user: dan tags: trunk)
16:44
Merge trunk change [7c3a86b9c7]. (check-in: bd7bc4e0 user: dan tags: experimental)
16:44
A different fix to [fc62af4523]. When changing from journal_mode=PERSIST or TRINCATE to some other rollback mode, delete the journal file only if a RESERVED lock can be obtained on the database file first. (check-in: b9b11855 user: dan tags: experimental)
16:08
Fix the tkt-fc62af4523.test to work around non-randomness of the randomblob() function when in testing mode. (check-in: 7c3a86b9 user: drh tags: trunk)
11:36
Fix bug in journal2.test. (check-in: c1e04f1d user: dan tags: experimental)
10:52
Merge trunk updates with experimental branch. Also add tests to journal2.test. (check-in: 9f6ea1de user: dan tags: experimental)
10:42
Do not delete the journal file in "PRAGMA journal_mode" commands. This fixes [fc62af4523]. (check-in: 1ec74591 user: dan tags: trunk)
10:24
Add test case for [fc62af4523]. (check-in: cccd32c6 user: dan tags: trunk)
06:19
Merge fix [f80c3f922a] with experimental changes. (check-in: 20133e9c user: dan tags: experimental)
02:13
Bug fix: Only trust the database size number at offset 28 if the change counter at offset 24 matches the version number counter at offset 92. This prevents corruption in the case of two applications writing to the database where one is an older version of SQLite and the other is a newer version. (check-in: f80c3f92 user: drh tags: trunk)
2010-06-16
19:04
Experimental change: On systems where it is not possible to unlink a file while one or more processes has it open (i.e. not unix), avoid closing the journal file each time the database is unlocked and reopening it at the start of each transaction. (check-in: bede8c8a user: dan tags: experimental)
12:30
Add extra test cases to pager1.test. (check-in: ad320957 user: dan tags: trunk)
10:55
Fix a memory leak that can occur in os_unix.c if an IO error occurs within the xUnlock method. (check-in: 6c5c04ee user: dan tags: trunk)
2010-06-15
19:07
Rationalize a common pattern in tcl test cases into proc do_multiclient_test. (check-in: efe44564 user: dan tags: trunk)
18:00
Fix a problem introduced into lock2.test by the previous commit. (check-in: c1c9f6fa user: dan tags: trunk)
17:44
Add test file pager1.test, containing tests of inter-process locking in non-wal mode. (check-in: 6e43eed9 user: dan tags: trunk)
14:21
Run extra iterations in wal3.test to ensure test coverage. (check-in: ea80cbe5 user: dan tags: trunk)
14:06
Merge in [2c5e48a485]. Merge in [2c5e48a485]. Merge in [2c5e48a485]. (check-in: 03c0f4fd user: dan tags: trunk)
13:56
Changes to the way tcl test scripts work. No changes to production code. (Closed-Leaf check-in: 2c5e48a4 user: dan tags: experimental)
12:09
Minor tweaks to the interface documentation - adding hyperlinks. (check-in: 07b2fdd1 user: drh tags: trunk)
11:21
Updates to comments and testcase() macros in wal.c. (check-in: 4d90cc0b user: drh tags: trunk)
2010-06-14
18:06
Fix an error in the walfault.test script introduced by the previous check-in. (check-in: a2b9374f user: drh tags: trunk)
18:01
Move the xShmMap method to in between xShmLock and xShmBarrier, since it seems to fit in there logically. (check-in: 58dfd83d user: drh tags: trunk)
17:09
Merge the experimental shared-memory mmap-by-chunk changes into the trunk. (check-in: f295e7ed user: drh tags: trunk)
16:16
Add the new xShmMap (formerly xShmPage) to os_win.c. (check-in: 13e7a824 user: dan tags: experimental)
14:07
Remove xShmGet/Size/Release from the sqlite3_vfs structure. Change the name of xShmPage to xShmMap. Remove some code that is now unused from os_unix.c and some of the test VFS implementations. (check-in: fc0cabc1 user: dan tags: experimental)
11:49
Update some comments in wal.c. No code changes. (check-in: 1ce9c92b user: dan tags: experimental)
11:18
Change the interface to internal function walGetHash() to make it easier to follow. (check-in: 5e8e2e97 user: dan tags: experimental)
10:30
Add the xShmPage method to the "crash" vfs in test6.c. (check-in: 1008f536 user: dan tags: experimental)
07:53
Add some fault-injection tests to improve coverage. (check-in: 37b26d12 user: dan tags: experimental)
2010-06-12
12:02
Fix some problems with handling IO errors on the experimental branch. (check-in: eade8bc2 user: dan tags: experimental)
2010-06-11
19:04
Experimental change to the xShmXXX parts of the VFS interface. (check-in: ca68472d user: dan tags: experimental)
17:01
Refactor and simplify the logic used to change journalmode. (check-in: 95cc3f6f user: drh tags: trunk)
2010-06-10
16:25
Adding original art for the new SQLite logo. (check-in: af353bd8 user: drh tags: trunk)
14:07
Add the SQLITE_TESTCTRL_PGHDRSZ verb for sqlite3_test_control() used to get the size of pcache headers for testing purposes. (check-in: 5d694f04 user: drh tags: trunk)
10:51
Update the test VFS in test_journal.c so that it implements the xCurrentTimeInt64 method. (check-in: ec3b4a7e user: drh tags: trunk)
06:53
Store the MemPage structure in memory following, instead of preceding, the page data for cached pages. This reduces the likelihood of a corrupt database page image causing SQLite to read past the end of a buffer. (check-in: 0ce42e76 user: dan tags: trunk)
01:07
Remove a condition that must always be true. Replace it with an assert(). (check-in: 7abcd54e user: drh tags: trunk)
2010-06-09
19:01
Fix test script problems causing errors in the "inmemory_journal" permutations. (check-in: ea05b7f9 user: dan tags: trunk)
16:58
When restarting (wrapping) a log file, set all unused aReadMark[] slots to READMARK_NOT_USED instead of 0. Setting them to 0 does not cause a problem, but may cause SQLite to obtain and release a few more file locks than would otherwise be necessary. (check-in: 0797b10c user: dan tags: trunk)
15:47
Fix for ticket [f973c7ac31]. (check-in: 6eb058dd user: dan tags: trunk)
14:45
Shift the meaning of aReadMark[] back so that +1 offset from mxFrame is removed. Add the new READMARK_NOT_USED value (0xffffffff) instead of zero to signal an aReadMark[] that is not in use. (check-in: c576827d user: drh tags: trunk)
11:28
Simpler fix for the race condition also fixed by [7c102c7b5f] (check-in: 3c2de820 user: dan tags: trunk)
2010-06-08
15:50
Close database opened by tester.tcl when it is sourced in all.test. Because test scripts are now run in slave interpreters, this connection was not being closed by the first script run as it was previously. (check-in: b072e9f6 user: dan tags: trunk)
15:16
Changes to wal3.test to support small default cache size settings. And builds that create autovacuum databases by default. (check-in: ac4cc257 user: dan tags: trunk)
2010-06-07
19:26
In os_unix.c, call munmap() to unmap a shared-memory region prior to closing the associated file descriptor. (check-in: 95cc976f user: dan tags: trunk)
17:47
Change all.test, quick.test and permutations.test so that they use a separate interpreter for each test file. (check-in: 7c33eb5a user: dan tags: trunk)
14:28
Refactor some of the global variables and commands used by tester.tcl. (check-in: c2edf8e1 user: dan tags: trunk)
06:11
Add a couple of extra coverage tests for wal.c. (check-in: cfe60254 user: dan tags: trunk)
2010-06-05
19:18
Add further test cases for the logic in sqlite3WalBeginReadTransaction(). (check-in: a49713db user: dan tags: trunk)
18:34
Clarify the purpose of a test for a race-condition in sqlite3WalBeginReadTransaction(). (check-in: c041c6a9 user: dan tags: trunk)
18:12
Remove a condition from sqlite3WalRead() that is unreachable as of the changes to clear entries out of the wal-index hash tables on transaction or savepoint rollback. (check-in: 39420473 user: dan tags: trunk)
14:42
Mark a condition in wal.c as ALWAYS(). (check-in: 3fe0cc78 user: dan tags: trunk)
11:53
Add extra coverage test cases for wal.c. No changes to production code. (check-in: f9d4ae0e user: dan tags: trunk)
2010-06-04
18:38
Clarify an assert in sqlite3WalExclusiveMode(). (check-in: 25585069 user: dan tags: trunk)
17:16
Remove an unnecessary branch from wal.c. (check-in: 8e54786c user: dan tags: trunk)
15:59
Add an English language error message to corresponding to SQLITE_PROTOCOL. "locking protocol". (check-in: ca327e32 user: dan tags: trunk)
12:22
Add test for the code that detects an inconsistent pair of wal-index headers to wal2.test. (check-in: 157feba1 user: dan tags: trunk)
11:56
If an attempt to sync the database file as part of a checkpoint fails, do not update the shared "nBackfill" variable. Otherwise, another process could wrap the log and overwrite content before it is synced into the database. (check-in: b813233d user: dan tags: trunk)
10:37
Fix a problem where an SQLITE_BUSY in the checkpoint code was being treated as an IO error (abandoning, instead of just limiting, the checkpoint). (check-in: 02c4040c user: dan tags: trunk)
2010-06-03
19:10
Fix another problem in test_vfs.c. (check-in: df7d5989 user: dan tags: trunk)
18:20
Have test_vfs.c simulate IO errors in xShmLock. (check-in: fcbf7cf1 user: dan tags: trunk)
18:02
Performance fix for winShmClose(). (check-in: ed7774de user: drh tags: trunk)
16:58
Add extra tests for removing elements from wal-index hash tables as part of a rollback. (check-in: af3e598a user: dan tags: trunk)
12:35
Delay opening the sub-journal until SQLite actually needs to write data to it. (check-in: c43deb33 user: dan tags: trunk)
12:09
Remove global variables when compiled with SQLITE_OMIT_WSD (check-in: dd10a547 user: drh tags: trunk)
09:25
Enhancements to test_vfs.c and walfault.test. (check-in: ac0de2f3 user: dan tags: trunk)
09:17
If an error (OOM or SQLITE_FULL error) occurs while executing an SQL statement and a statement-transaction is automatically rolled back as a result, if a second error occurs during the statement rollback do a full transaction rollback instead. Otherwise the client can be left with an inconsistent cache. This can affect both WAL and rollback modes. (check-in: eb80ddc6 user: dan tags: trunk)
09:01
If a malloc fails while allocating a savepoint object at the pager level, do not try to roll that savepoint back later on. (check-in: 91cb08ff user: dan tags: trunk)
2010-06-02
20:38
When a lock fails due to an I/O error (not an SQLITE_BUSY) then the checkpoint should fail. (check-in: c6eb0a27 user: drh tags: trunk)
18:59
Fix a problem with rolling back to a savepoint opened before the writer decided to wrap the log file. (check-in: 6b4aed6a user: dan tags: trunk)
17:15
If an error occurs while writing frames to the log to commit a transaction, do not mark the pages as clean in the cache. Otherwise, the subsequent rollback does not roll them back (leaving the client to continue with a cache that makes it appear that the transaction was committed - inconsistent with the database on disk). (check-in: cb571c1b user: dan tags: trunk)
16:40
Added implementation of vfslog_time() for Windows testing. (check-in: b3109f85 user: shaneh tags: trunk)
16:39
Updated wal2.test for windows testing. (check-in: c3606f39 user: shaneh tags: trunk)
15:59
Make sure the directory used by os_unix.c for shared-memory files is always the same, regardless of individual client permissions and environment variable settings. (check-in: f97bd520 user: drh tags: trunk)
15:43
When walTryBeginRead() encounters an I/O error trying to set a lock (as opposed to SQLITE_BUSY) be sure to propagate that error back up the call stack. (check-in: aa2c2b67 user: drh tags: trunk)
14:45
Changes to make WAL more robust against SHM locking failures and OOM errors. (check-in: ebf40413 user: drh tags: trunk)
14:43
In the rowhash.test, make sure global variables are cleared prior to use. (check-in: 28efe0a4 user: drh tags: trunk)
12:58
Undo one of the "const" markers from the previous check-in because the value needs to be changable, even if it is not actually ever changed in the current implementation. (check-in: c24ac356 user: drh tags: trunk)
05:53
Add some 'const' markers to static data that is really constant. (check-in: e7073e23 user: dan tags: trunk)
2010-06-01
21:02
The shared-memory used by WAL on linux now really is shared memory in /dev/shm. On other unix flavors, the file is in a temporary directory rather than in the same directory as the database. (check-in: fc18c4aa user: drh tags: trunk)
19:15
Changes to the way faults are injected into xShmXXX VFS calls. (check-in: 716d99f3 user: dan tags: trunk)
17:46
Change the OOM and IO error test cases in walfault.test so that each test case runs both types of error simulation. (check-in: b627e153 user: dan tags: trunk)
15:44
Delay the decision to restart the log file until data is actually ready to be written to the log file (instead of at the start of a write transaction). (check-in: b1abfaaf user: dan tags: trunk)
15:24
The incremental checkpoint feature is not perfect yet, but it is working well enough to merge it into the trunk. (check-in: 1d3e569e user: drh tags: trunk)
14:30
Merge with [15abbc3416]. (Closed-Leaf check-in: f4b9003a user: dan tags: wal-incr-ckpt)
14:12
If an attempt to get a read-lock on the WAL fails with SQLITE_BUSY_RECOVER, call the busy-handler at the btree level. (check-in: ce644965 user: dan tags: wal-incr-ckpt)
13:17
Fix a bug introduced by the previous check-in but only seen if SQLITE_ENABLE_EXPENSIVE_ASSERTS is turned on. (check-in: 9c9ec899 user: drh tags: wal-incr-ckpt)
12:58
Fix an off-by-one boundary-value issue in walCleanupHash(). (check-in: f039552e user: drh tags: wal-incr-ckpt)
11:08
Do not hold the shared-memory mutex in os_unix.c if returning NULL. (check-in: 9622dd46 user: dan tags: wal-incr-ckpt)
10:44
If the checkpoint fails to obtain an exclusive lock on one of the read-lock bytes, do not consider this an error. (check-in: 9e95e357 user: dan tags: wal-incr-ckpt)
07:51
Fixes to the test cases in wal2.test. (check-in: cd5fbcbc user: dan tags: wal-incr-ckpt)
01:08
Comment edits and cleanup in wal.c. No functional code changes. (check-in: e8e666ab user: drh tags: wal-incr-ckpt)
00:28
Attempt to get the filectrl.test script running. (check-in: e46a8f2b user: drh tags: wal-incr-ckpt)
00:03
Fix os_unix.c so that it will compile and build on a Mac. (check-in: bc707c83 user: drh tags: wal-incr-ckpt)
2010-05-31
20:28
Fix issues with locking_mode=EXCLUSIVE in WAL. (check-in: 8deba0ce user: drh tags: wal-incr-ckpt)
18:24
Add an "isInit" field in the wal-index header that must be non-zero for a valid header. Use this to detect an uninitialized wal-index. (check-in: a16fde19 user: drh tags: wal-incr-ckpt)
16:56
Fix an inconsistent #ifdef in wal.c. Fix os_unix.c so that it does not allow moving an SHM lock directly exclusive to shared without going through unlocked. (check-in: 552658da user: drh tags: wal-incr-ckpt)
16:41
Avoid dropping the checkpoint lock after a recovery run as a precursor to a checkpoint operation. (check-in: cc25cfa0 user: dan tags: wal-incr-ckpt)
16:17
Zero the checkpoint header as the last step of successful WAL recovery. Avoid an unnecessary lock/unlock in WalBeginReadTransaction. (check-in: db3509c5 user: dan tags: wal-incr-ckpt)
16:10
Get the new xShmLock interface design working on os_win.c. (check-in: 149a7082 user: drh tags: wal-incr-ckpt)
14:39
Make sure WAL alway requests enough shared-memory space. (check-in: 138f1283 user: drh tags: wal-incr-ckpt)
14:28
Remove the tests that enable tracing based on the existance of the "vdbe_*" files when in SQLITE_DEBUG mode. (check-in: cdbb4e7c user: drh tags: wal-incr-ckpt)
14:18
Update another test case in wal.test. (check-in: 99fde69e user: dan tags: wal-incr-ckpt)
13:11
Change WAL test cases to account for the improved concurrency in the new checkpoint logic. (check-in: 2d6f2485 user: drh tags: wal-incr-ckpt)
12:30
Do not fail a checkpoint just because active readers prevent backfill. (check-in: 9aa4243e user: drh tags: wal-incr-ckpt)
12:15
Add WALTRACE() macros to help with debugging and analysis. (check-in: 765c3318 user: drh tags: wal-incr-ckpt)
12:02
Another minor fix to checkpoint on the WAL branch. (check-in: 853f1e3f user: dan tags: wal-incr-ckpt)
11:39
Fix a bug in checkpoint introduced by [181ceb32ea]. (check-in: b499dbc8 user: dan tags: wal-incr-ckpt)
11:16
Fix some asserts and other things in the new WAL branch. (check-in: 181ceb32 user: dan tags: wal-incr-ckpt)
06:38
Changes to the way one of the WAL/OOM tests works. (check-in: 15abbc34 user: dan tags: trunk)
01:41
WAL runs but quickly deadlocks. (check-in: ace58acb user: drh tags: wal-incr-ckpt)
2010-05-30
19:55
Initial code for incremental checkpoint in WAL mode. This check-in compiles on unix and runs as long as you do not engage WAL mode. WAL mode crashes and burns. Consider this check-in a baseline implementation for getting the new capability up and running. (check-in: ef3ba7a1 user: drh tags: wal-incr-ckpt)
2010-05-29
08:40
Add tests to fkey2.test to check that ON CONFLICT clauses do not affect SQLite's behaviour when an FK constraint is violated. (check-in: e9e5b100 user: dan tags: trunk)
06:18
Minor changes to checksum related test cases. (check-in: 60c22bde user: dan tags: trunk)
2010-05-28
11:16
Add a test to walcksum.test to stress the checksum calculation. (check-in: 778d0c17 user: dan tags: trunk)
2010-05-26
17:31
Make sure the wal-index mapping is always large enough to cover the entire active area of the wal-index. (check-in: 42705bab user: drh tags: trunk)
15:06
Change the semantics of xShmGet() such that it will never increase the size of shared memory. xShmSize() must be used to grow the size of shared memory. A shared memory segment size cannot be shrunk (except by dropping it). (check-in: 72de0073 user: drh tags: trunk)
2010-05-25
15:53
Updated header comments in wal.c. No functional code changes. (check-in: 687632a6 user: drh tags: trunk)
15:23
Add a busy-handler to a test case in walthread.test to prevent errors. (check-in: d3d348aa user: dan tags: trunk)
13:49
Modify walcrash2.test so that it works with DEFAULT_AUTOVACUUM=1. (check-in: 77438882 user: dan tags: trunk)
13:40
Update header comments in wal.c to correctly describe the WAL file format. Update the locking region offsets in os_unix.c and os_win.c and add assert() statement to verify that the locking region offsets are correct. (check-in: 40030c07 user: drh tags: trunk)
10:50
If a writer exits unexpectedly in the middle of a transaction, have the following writer remove any wal-index hash-table entries left by the interrupted transaction. (check-in: ed77556a user: dan tags: trunk)
02:24
Remove unreachable code associated with WAL from the pager. (check-in: 54c1718e user: drh tags: trunk)
2010-05-24
20:27
OOM errors during an auto-checkpoint are benign. (check-in: 3d252ce5 user: drh tags: trunk)
20:24
Remove the walmode.test case from the inmemory_journal test of permutations.test. (check-in: 27ba9c21 user: drh tags: trunk)
17:00
Fix the wal2.test script so that it works in auto_vacuum mode. (check-in: 6a818afb user: drh tags: trunk)
13:57
Change the checksum used in WAL files so that each frames checksum depends on the content of the WAL header and all frame headers and content up to and including the frame to which the checksum is attached. (check-in: 8a53f12c user: dan tags: trunk)
13:28
Make sure a WAL frame of all zeros is detected as an invalid frame. (check-in: 02d99ad4 user: drh tags: trunk)
12:34
Fix up test_osinst.c to work with SQLITE_OMIT_VIRTUALTABLE. (check-in: 51fd3815 user: drh tags: trunk)
10:39
Change the WAL file format to support two kinds of checksums - one that is fast to calculate on little-endian architectures and another that is fast on big-endian architectures. A flag in the wal-header indicates which the file uses. (check-in: 65ba804d user: dan tags: trunk)
2010-05-22
08:22
Add a couple of missing methods to test_osinst.c.. (check-in: 5c9e9c06 user: dan tags: trunk)
00:55
Add several EXPENSIVE_ASSERT code blocks to validate the wal-index hash table. Fix the bugs that these code blocks fine. Rename walClearHash() to walCleanupHash() and simplify its interface. (check-in: 7aade899 user: drh tags: trunk)
2010-05-21
19:15
Fix another bug in walClearHash(). (check-in: 40f80ffe user: dan tags: trunk)
18:24
Comment out the SQLITE_FCNTL_SIZE_HINT from os_unix.c since it does not seem to provide any performance gain there. (check-in: 7d01309d user: drh tags: trunk)
16:23
Correct an off-by-one bug in the previous commit. (check-in: 75a1130d user: dan tags: trunk)
15:31
Remove entries from wal-index hash tables when a rollback or savepoint rollback occurs. (check-in: 36795c2b user: dan tags: trunk)
13:16
Fix the wal-index header read routine so that it correctly detects a zero header as being malformed and in need of a wal-index rebuild. (check-in: 1a4eb3a3 user: drh tags: trunk)
2010-05-20
23:51
Add a new xShmBarrier method to the VFS - a shared-memory fence operation. Implement the same in both unix and win32. Use it to make the WAL subsystem more robust. (check-in: 1bd011c9 user: drh tags: trunk)
21:21
Make use of the extra information in the WAL header and frame header to enhance robustness. (check-in: 9580ecb7 user: drh tags: trunk)
16:45
Convert the wal-header and frame-header to 24 bytes. Extra information in both headers is designed to enhance robustness after crashes, though the extra information is currently unused. This is a snapshot of a work in progress. (check-in: 66970643 user: drh tags: trunk)
2010-05-19
23:41
Merge WIN32 WAL support into trunk. Still some issues with locking to resolve. (check-in: 43377663 user: shaneh tags: trunk)
19:39
Add the SQLITE_FCNTL_SIZE_HINT to the os_win.c VFS. (check-in: 9894118d user: drh tags: trunk)
19:26
Add the SQLITE_FCNTL_SIZE_HINT operator to sqlite3_file_control() and use it to give the VFS hints about the ultimate size of a database file when the file is growing. (check-in: 2b7e3b4a user: drh tags: trunk)
19:09
Fix a bug in the new checkpoint computation. Also update the checkpoint algorithm in the test scripts to align with the new implementation. (check-in: 8b6056f2 user: drh tags: trunk)
18:08
Revise the checksumming algorithm in wal.c. More variable refactoring. (check-in: 542b90eb user: drh tags: trunk)
17:49
Refactoring some variable names in wal.c. (check-in: 1d201ff5 user: drh tags: trunk)
01:53
Add a large comment to wal.c describing the WAL and wal-index file formats. (check-in: a71a22b5 user: drh tags: trunk)
2010-05-18
23:29
Update the wal-index hash format so that hash-table space is reused following a rollback, thus preventing hash table overflows. Add assert()s to verify that hash tables do not overfill. Further refactoring of the wal-index code. (check-in: ada9a8c7 user: drh tags: trunk)
18:01
Refactoring of the WalIterator implementation. (check-in: b5b60fdc user: drh tags: trunk)
13:27
Mark the shared-memory in the WAL implementation as volatile. (check-in: 0a678790 user: drh tags: trunk)
12:56
Comment clarifications in wal.c. (check-in: a029be10 user: drh tags: trunk)
2010-05-17
20:16
Remove an unreachable test from wal.c. (check-in: 7162c456 user: drh tags: trunk)
2010-05-15
10:24
Add a note to the documentation of sqlite3_wal_hook() to say not to return SQLITE_ROW or SQLITE_DONE. Or any other value that is not a valid SQLite error code. (check-in: 2f0b6cbf user: dan tags: trunk)
01:09
Silently ignore errors trying to set the default journal_mode while doing an ATTACH. (check-in: b9af4ad2 user: drh tags: trunk)
2010-05-14
20:15
Fix a typo that (by bad luck) was not a syntax error but which caused some important lines of code to be skipped when SQLITE_DEBUG was not used. (check-in: 9ef99d97 user: drh tags: trunk)
19:24
Make sure the value of an INTEGER PRIMARY KEY column supplied to triggers and especially to FK constraints really contains the ROWID and not the NULL that is stored in the column itself. Ticket [dd08e5a988d00dec]. (check-in: 636f8609 user: drh tags: trunk)
16:34
Pull in all the latest changes from the trunk. Update the win32 SHM methods to work with the new interface design. (Closed-Leaf check-in: 4b69f2cd user: drh tags: wal-win32)
14:52
Simplifications to the SHM implementation in os_unix.c, taking advantage of the removal of the LinuxThreads mess. (check-in: d1debe5d user: drh tags: trunk)
12:43
Simplify os_unix.c by removing support for LinuxThreads. Linux systems must either use NPTL or else not share database connections across threads. (check-in: e294b696 user: drh tags: trunk)
11:30
Change the OSTRACEn() macro to OSTRACE(()). Also rename some internal fields and variables in os_unix.c to be more meaningful and searchable. (check-in: 5fe529f2 user: drh tags: trunk)
10:43
Fix test_osinst.c so that it does not depend on gettimeofday() unless SQLITE_OS_UNIX is defined and NO_GETTOD is not defined. (check-in: 2a4014b7 user: dan tags: trunk)
08:39
Add xShmXXX methods to test_osinst.c. (check-in: b8a9b37a user: dan tags: trunk)
2010-05-13
20:19
Make debugging elements of the sqlite3_mutex object volatile and make them only appear when compiling with SQLITE_DEBUG. Ticket [51914f6acd2cb462]. (check-in: e823c60c user: drh tags: trunk)
15:44
Allow sqlite3WalCheckpoint() to be called even if the WAL is in the SQLITE_SHM_READ state, as sometimes happens after an error. (check-in: 175b296f user: drh tags: trunk)
09:40
Remerge mistaken test_osinst.c changes. (check-in: e8c10d3c user: dan tags: trunk)
09:32
Fix mistake in test_osinst.c. (Closed-Leaf check-in: 4c3e1378 user: dan tags: mistake)
09:11
Make sure xShmGet is never called while already holding the shared-memory segment. (check-in: 92ebdbc5 user: drh tags: trunk)
08:53
The refactored of VFS SHM primitives are now working so merge the wal-refactor branch back into the trunk. (check-in: bce21c18 user: drh tags: trunk)
08:33
Change the xShmSize() implementation in os_unix.c so that it will only increase and never decrease the size of a shared-memory segment. (Closed-Leaf check-in: 149d2ae4 user: drh tags: wal-refactor)
07:08
Fix for a segfault that can follow a malloc failure. (check-in: 3cab9022 user: dan tags: wal-refactor)
06:19
Modify the VFS in test_vfs.c to match the refactoring of the xShmXXX methods. (check-in: 25e72f81 user: dan tags: wal-refactor)
2010-05-12
19:02
(Moved to the mistake branch due to compile errors in test_osinst.c.) Change the vfs instrumentation code in test_osinst.c to make it easier to deploy. Add a vtab implementation for reading the binary log file format. (check-in: ee13c884 user: dan tags: mistake)
18:30
Fix for the test_devsym.c test module for the VFS-SHM refactoring. (check-in: 49d62933 user: drh tags: wal-refactor)
18:10
A couple simple fixes to get wal.test mostly working. (check-in: c7445812 user: drh tags: wal-refactor)
18:01
Refactoring the VFS-SHM methods used by WAL. This version compiles and runs non-WAL test cases but crashes and burns on wal.test. (check-in: 2b00152c user: drh tags: wal-refactor)
17:14
Updates to WAL support in os_win.c: pulled in latest changes from src/os_unix.c; updated tracing; misc. improvements. (check-in: 76504726 user: shaneh tags: wal-win32)
13:50
Remove the OP_Variable optimization of check-in [48b77b04935d894] since it can lead to malfunctions as described in ticket [26ff0c82d1e90]. (check-in: 7838163d user: drh tags: trunk)
06:54
Remove a branch made redundant by the earlier exclusive-mode changes. (check-in: c501b2ed user: dan tags: trunk)
2010-05-11
16:29
Have os_unix.c use the suffix "-wal-index" for wal-index files instead of "-wal-inde". (check-in: 885e854e user: dan tags: trunk)
14:00
When an attempt to change journal_mode fails due to locks, be sure to leave internal structures in a consistent state. (check-in: cf3d1e0b user: drh tags: trunk)
12:19
Changes so that WAL and exclusive-locking mode work together. (check-in: 71e7b1cf user: dan tags: trunk)
02:49
Initial port of WAL VFS support from os_unix.c to os_win.c. (check-in: 111ad59f user: shaneh tags: wal-win32)
02:46
Updates to WAL TCL test scripts to support running on Windows. (check-in: 6a563080 user: shaneh tags: trunk)
2010-05-10
19:51
Fix an off-by-one error while constructing the name of the mmap file for the wal-index under os_unix.c. (check-in: 6e3735f7 user: drh tags: trunk)
18:10
Merge [96d6eaf4d2] and [40b0a6357b]. (check-in: c67756c4 user: dan tags: trunk)
17:29
Fix an uninitialized variable in OSX proxy locking. (check-in: 96d6eaf4 user: drh tags: trunk)
14:46
Modify the format of the wal-index to use a hash table to index log file segments. (check-in: 40b0a635 user: dan tags: trunk)
14:10
If an ATTACH command fails due to OP_JournalMode but still attaches the database, make sure VACUUM still detaches it when done. (check-in: 6ecdc7ba user: drh tags: trunk)
11:20
Enhance the OP_JournalMode opcode with an ignore-errors option and use that option the ATTACH command. (check-in: 0bdea4cf user: drh tags: trunk)
2010-05-07
20:34
When running a checkpoint while in locking_mode=EXCLUSIVE, be sure to move the wal-index lock to UNLOCK from READ prior to promoting to CHECKPOINT. (check-in: be114bdf user: drh tags: trunk)
20:02
Change the xShmOpen() method of the VFS to take the database file name as its argument, not the WAL file name. Also fix some unrelated compiler warnings. (check-in: a65c2939 user: drh tags: trunk)
18:23
Additional tweaks to API documentation. No functional code changes. (check-in: e1230782 user: drh tags: trunk)
13:57
Updates to documentation on the C interfaces supporting WAL. No functional changes to code. (check-in: 681ba20c user: drh tags: trunk)
13:52
Fix a recently introduced problem in wal.test. (check-in: 79b52d0f user: dan tags: trunk)
12:49
Change wal.test and walhook.test so that they work with DEFAULT_AUTOVACUUM=1 builds. (check-in: 4cde9290 user: dan tags: trunk)
09:43
Test another IO error case in wal.c. (check-in: 8b3b5ab8 user: dan tags: trunk)
06:59
Fix a problem with checkpointing large log files created by an external process. (check-in: 8f94bde5 user: dan tags: trunk)
05:46
Since walIndexTryHdr() can no longer encounter any error conditions, change tehe function signature so that it does not return an error code. This removes unreachable branches from other code. (check-in: 061a282c user: dan tags: trunk)
00:28
Another attempt to fix permutations.test so that it excludes WAL tests from the journaltest permutation. (check-in: 58c40442 user: drh tags: trunk)
2010-05-06
22:21
Remove savepoint6.test from the set of tests run by journaltest since savepoint6.test uses journal_mode=WAL. (check-in: 811b45a9 user: drh tags: trunk)
21:37
The PRAGMA journal_mode=WAL; command now makes WAL the default journal mode for new databases added with ATTACH, so the behavior is consistent with the other journal modes. (check-in: c3520460 user: drh tags: trunk)
20:19
Make sure to do a clean shutdown of the library upon existing the shell in order to remove WAL files. (check-in: c1762dda user: drh tags: trunk)
19:55
Exclude all WAL tests from the journaltest permutation. (check-in: 46c97d7e user: drh tags: trunk)
19:20
Changes to support SQLITE_OMIT_WAL. (check-in: 32a8501d user: shaneh tags: trunk)
19:04
Updates to the VFS SHM locking documentation. (check-in: 9927ce42 user: drh tags: trunk)
18:48
Instead of transitioning to RECOVER state from CHECKPOINT when a recovery is required, perform the recovery while holding the CHECKPOINT lock. (check-in: bb0b6021 user: dan tags: trunk)
18:27
If recovery is run before a checkpoint, change back to a CHECKPOINT lock before performing the actual checkpoint. (check-in: dc98ee16 user: dan tags: trunk)
18:04
Only pass -1 as the size parameter to xShmGet when the caller does not care what size mapping is returned. Only call xShmSize when the underlying allocation (not the mapping) should be resized. (check-in: 637f51dd user: dan tags: trunk)
17:28
Fix a bug whereby an old snapshot could be checkpointed (and subsequent transactions discarded) if the last connection to disconnect from a WAL database happended to be holding an out-of-date wal-index header. (check-in: d0c0034b user: dan tags: trunk)
16:06
After throwing an error to say that one cannot change into WAL mode within a tranactions, do not then go and change into WAL mode. (check-in: 56a17dae user: drh tags: trunk)
15:56
Further coverage tests. (check-in: 98a9713e user: dan tags: trunk)
15:36
Update configure scripts for WAL support. (check-in: 2edc5129 user: shaneh tags: trunk)
14:42
Add tests to cover a couple of branches in wal.c. (check-in: 429f437f user: dan tags: trunk)
13:36
Unset a tcl variable before reusing it in wal.test. (check-in: e83efb23 user: dan tags: trunk)
12:15
Add tests for some lock-contention cases. (check-in: f0fcb9c9 user: dan tags: trunk)
11:56
Remove the noop-mutex implementations of mutex_held() and mutex_notheld() since they are both unreachable. (check-in: 6767b62a user: drh tags: trunk)
11:55
Add two text files containing pager design notes to the doc/ subfolder. (check-in: ed817fc8 user: drh tags: trunk)
11:32
Add test cases to test the libraries handling of corrupt wal-index headers. (check-in: 9465b267 user: dan tags: trunk)
07:43
Add tests for handling errors returned by xShm VFS methods. (check-in: fbbcacb1 user: dan tags: trunk)
2010-05-05
20:00
Change the behavior of the sqlite3_wal_hook() callback. It should now return SQLITE_OK or an error code and the error code is propagated back up the stack. If a checkpoint is desired, the callback should invoke sqlite3_wal_callback() itself. (check-in: 1b14195e user: drh tags: trunk)
19:09
Further simplifications to the SHM locking logic. Remove the SQLITE_SHM_QUERY option. Unify the WRITE to READ and RECOVER to READ transitions. (check-in: e9bfa6e4 user: drh tags: trunk)
19:04
Test the handling of errors returned by the xShmXXX() APIs. (check-in: 72663123 user: dan tags: trunk)
18:46
Do not compare page sizes on source and destination of backup until transactions are started and the page sizes are locked. This is a fix to check-in [7bd44794c4]. (check-in: ec715778 user: drh tags: trunk)
18:20
Simplifications to the SHM locking implementation in os_unix.c. (check-in: 9de05bfb user: drh tags: trunk)
16:23
Prohibit backup if the destination is using WAL and has a different page size from the source. (check-in: 7bd44794 user: drh tags: trunk)
15:33
When closing a WAL database, if the exclusive lock on the database file is obtained and the database successfully checkpointed, delete the wal-index file from the file system. (check-in: 2ac5d96c user: dan tags: trunk)
04:11
Make sure the page size of the main database is fixed following a failed VACUUM attempt. Otherwise, two consecutive failed VACUUM attempts with attempted page_size changes on encrypted or WAL databases could result in database corruption. (check-in: 208e7d5d user: drh tags: trunk)
03:39
Do not attempt to modify the page_size when running VACUUM on a WAL database. (check-in: 58a1a59b user: drh tags: trunk)
00:22
Get the previous mutex fix working with SQLITE_DEBUG and with the amalgamation. (check-in: df19928f user: drh tags: trunk)
00:05
When the in single-threaded mode, the sqlite3_mutex_alloc() interface still returns a non-NULL value. The mutex doesn't do anything, but it tests non-NULL. This way, extensions (or VFSes) that use sqlite3_mutex_alloc() can tell the difference between an OOM error and mutexes being disabled. (check-in: 451fd175 user: drh tags: trunk)
2010-05-04
18:50
When sqlite3PagerPagecount() is called without any locks, always return the physical file size, not the logical file size. (check-in: 4016b422 user: drh tags: trunk)
17:38
Be sure to release all wal-index locks before closing the wal-index. (check-in: b15b67fa user: drh tags: trunk)
17:20
Relax an over-zealous assert() in sqlite3WalUndo(). (check-in: 8f9d22d5 user: drh tags: trunk)
16:33
Take care not to invoke the xShmClose method of the VFS with a NULL shared memory object. (check-in: 1465d384 user: drh tags: trunk)
15:20
Add a test case to verify that log files containing pages that are not a power-of-two bytes in size are handled correctly. (check-in: c2bf693f user: dan tags: trunk)
14:47
Fix problems with recovering wal files that use a page-size other than the default. (check-in: 1a391f3c user: dan tags: trunk)
11:06
Fix a typo in walfault.test. (check-in: 232dbe8e user: dan tags: trunk)
10:36
Test that the correct number of padding frames are appended to the log file after committing a transaction in synchronous=FULL mode. (check-in: a60104aa user: dan tags: trunk)
2010-05-03
19:20
Unset some global TCL variables prior to use in test where prior tests can have those same variables set to an array value. (check-in: 49bef00e user: drh tags: trunk)
19:17
Fix a bug in the computation of the current time for the alternative CURRENT_TIMESTAMP functions used when SQLITE_OMIT_DATETIME is defined. (check-in: e7ded46b user: drh tags: trunk)
18:51
Documentation stubs for sqlite3_wal_autocheckpoint and sqlite3_wal_checkpoint. (check-in: 31376242 user: drh tags: trunk)
18:22
Fix a bug in the xCurrentTime() method of the os_unix.c VFS. (check-in: 551df11a user: drh tags: trunk)
18:01
Add a test to simulate an OOM during log recovery to walfault.test. (check-in: 7ed85e87 user: dan tags: trunk)
17:24
Clear global variable "seconds" before use in walthread.test. (check-in: a35551a5 user: drh tags: trunk)
17:18
Fix a couple of errors in WAL code that can occur in an OOM situation. (check-in: 9d3f3736 user: dan tags: trunk)
16:36
Update the crash-test VFS in test6.c to pass-through the shared-memory methods to the real underlying VFS. This fixes the walcrash.test script. (check-in: ea09ff37 user: drh tags: trunk)
16:30
Change the VFS definition so that all methods take a VFS object pointer as their first parameter. (check-in: 43b5b07f user: drh tags: trunk)
15:58
Have sqlite3_wal_checkpoint() handle a zero-length string in the same way as a NULL pointer. Fix "PRAGMA wal_checkpoint" so that it checkpoints all attached databases. (check-in: 7fecd21f user: dan tags: trunk)
14:32
Use VFS method xCurrentTimeInt64 instead of xCurrentTime when it is available. Provide an implementation of xCurrentTimeInt64 for os_unix.c. (check-in: ab77b3ae user: drh tags: trunk)
14:08
Merge the write-ahead-logging changes into the trunk. (check-in: de9ae443 user: drh tags: trunk)
14:05
If the sqlite3_wal_checkpoint() API is passed a NULL pointer in place of a database name, attempt to checkpoint all attached databases. (Closed-Leaf check-in: 27a5c09c user: dan tags: wal)
13:37
Make sure the mutex is held while calling sqlite3ApiExit() in sqlite3_wal_checkpoint(). Other cleanup of WAL logic. (check-in: 11a85b82 user: drh tags: wal)
12:14
Have sqlite3_wal_checkpoint() populate the database handle error message and error code (as returned by sqlite3_errmsg() and sqlite3_errcode()). (check-in: ff234cf5 user: dan tags: wal)
11:05
Add the "PRAGMA wal_autocheckpoint" command. Rename "PRAGMA checkpoint" to "PRAGMA wal_checkpoint". (check-in: 714e5947 user: dan tags: wal)
08:19
Merge two wal leaves. (check-in: 23c0e6c3 user: dan tags: wal)
08:04
Add the sqlite3_wal_checkpoint() and sqlite3_wal_autocheckpoint() APIs. (check-in: 9803196d user: dan tags: wal)
2010-05-01
20:17
Change the SHM interface so that it does not take the name of the shared object but rather the name of the WAL file and derives its own name from that. Remove the xShmDelete method from the VFS and replace it with a delete flag on xShmClose. (check-in: 94dea5f9 user: drh tags: wal)
18:23
Remove the xShmPush and xShmPull methods from the VFS. (check-in: 69e07fdb user: drh tags: wal)
17:57
Define an invariant to guarantee deadlock-free operation of SHM in os_unix.c and check that invariant with assert() statements. (check-in: 6af2dca7 user: drh tags: wal)
17:50
Rework mutexes on the SHM implemention for os_unix to avoid a deadlock during WAL recovery. (check-in: 1a0f69be user: drh tags: wal)
16:40
Support compile-time option SQLITE_OMIT_WAL, for building without WAL support. (check-in: 9b230c43 user: dan tags: wal)
11:33
Fix a typo in the walmode.test test script introducted yesterday. (check-in: dcabc90c user: drh tags: wal)
11:19
Fix the sqlite3_mutex_alloc() interface to return NULL (not segfault) when operating in threadsafe mode. (This is a general-purpose bug fix which really ought to be ported to trunk.) (check-in: 64840a3c user: drh tags: wal)
08:30
Add test case demonstrating deadlock during recovery of very large log files. No fix yet. (check-in: 63ea318e user: dan tags: wal)
00:59
Do not allow journal_mode=WAL if the underlying VFS does not support xShmOpen. (check-in: d1fcccec user: drh tags: wal)
2010-04-30
22:28
Merge in changes from the trunk. (check-in: 76bf0eee user: drh tags: wal)
21:03
Avoid assertion faults in queries using indices with redundant columns. Ticket [3dbdcdb14e7f41]. (check-in: 946e06cd user: drh tags: trunk)
17:47
Change the SHM VFS logic in os_unix.c so that it does not hold an exclusive lock n the mapped memory when also holding a CHECKPOINT lock. This improves concurrency between readers and checkpointers. (check-in: 8660cda6 user: drh tags: wal)
17:28
Remove some obsolete debugging parameters. (check-in: a012aed4 user: drh tags: wal)
17:05
Fix a problem with resizing the wal-index mapping after the mapping has been extended by an external process. (check-in: 79d356fe user: dan tags: wal)
16:50
Fix a problem with calculating the required size of the wal-index when appending frames. (check-in: 9526b111 user: dan tags: wal)
16:48
In the debugging output for SHM-LOCK in os_unix.c, use symbolic names for the lock states rather than raw numbers. (check-in: 2afc33de user: drh tags: wal)
16:41
Fix a problem in the previous commit. Both unixShm.lockState and unixShm.readLock should be set to READ when downgrading from a WRITE to a READ lock (check-in: 90119fec user: dan tags: wal)
16:38
Fix a bug whereby upgrading from a READ_FULL to a WRITE lock, and then back to a read lock was dropping all WAL locks. (check-in: 55f5af5e user: dan tags: wal)
16:24
Reapply commits [837d82a929] and [c05e7dca17] that were accidentally overwritten. (check-in: 598de527 user: dan tags: wal)
16:19
Add xShmXXX() methods to the test VFS in test_devsym.test. (check-in: 1d203424 user: dan tags: wal)
16:12
Correctly record the fact that the SHM lock reached PENDING if it did so but failed to reach CHECKPOINT. (check-in: d9250e84 user: drh tags: wal)
15:54
Fix a couple uninitialized variables in the xShmLock method of the unix VFS. Improved debugging logic for xShmLock. (check-in: 69567c5f user: drh tags: wal)
15:49
When closing a WAL connection, attempt an exclusive lock on the database file. If the lock is obtained, checkpoint the database and delete the wal and wal-index files. (check-in: c05e7dca user: dan tags: wal)
15:24
If a reader attempts to upgrade to a writer, but is not reading the most recent database snapshot, return SQLITE_BUSY. (check-in: 837d82a9 user: dan tags: wal)
14:39
Separate the concepts of underlying storage size and mapped size in the VFS shared-memory implementation. (check-in: 4cbe49f1 user: drh tags: wal)
11:43
Add a missing walIndexUnmap() call to the checkpoint code. Change a couple of SQLITE_CANTOPEN constants to SQLITE_CANTOPEN_BKPT. (check-in: 1f9e8c5c user: dan tags: wal)
10:24
Fix an assert() in sqlite3WalRead(). (check-in: 2e7a0050 user: dan tags: wal)
10:06
Add missing mutexes to unixShmClose(). (check-in: a4741cb5 user: dan tags: wal)
09:52
Fix a couple of assert() statements in os_unix.c and wal.c. Combine sqlite3WalIsDirty() with sqlite3WalUndo(). (check-in: a8f958be user: dan tags: wal)
09:32
Add a missing walIndexUnmap() to sqlite3WalSnapshotOpen(). (check-in: 72b95fde user: dan tags: wal)
06:02
Merge latest bugfix into wal branch. (check-in: 265e66e6 user: dan tags: wal)
05:57
Zero the "immediate FK constraint counter" associated with a statement object when sqlite3_reset() is called. Fix for [c39ff61c43]. (check-in: f660be61 user: dan tags: trunk)
02:13
The first 6 WAL tests now work. It's a start. (check-in: a92c1851 user: drh tags: wal)
2010-04-29
22:34
Refactor wal.c to use the VFS. This check-in compiles and links and works ok as long as you leave WAL turned off, but WAL does not work. (check-in: 62db5fa3 user: drh tags: wal)
16:40
Untested implementation of the shared-memory dead-man-switch. (check-in: 70661128 user: drh tags: wal)
15:17
Progress towards a VFS that will support WAL. Locking code is in place but is untested. Still no support for the DMS. (check-in: 1bde41cf user: drh tags: wal)
14:58
Close all open database connections at the end of wal.test. (check-in: 3cc55a75 user: dan tags: wal)
14:51
Fix a bug in the WAL checkpoint code causing SQLite to use an inconsistent cache in a subsequent transaction. (check-in: d1cadeed user: dan tags: wal)
08:47
Add tests to walthread.test. (check-in: 9e891e75 user: dan tags: wal)
2010-04-28
18:17
Add a test to walthread.test for changing between WAL and rollback modes. (check-in: da229e44 user: dan tags: wal)
17:49
Merge two "wal" leaves. (check-in: 13d2d5a6 user: dan tags: wal)
17:48
Change walthread.test so that tests can be run with either multiple threads or multiple processes. (check-in: 25f85f68 user: dan tags: wal)
17:21
Changes to the interface design for the xShmLock method of the VFS. (check-in: 348409de user: drh tags: wal)
14:42
Rename the sqlite3_log_hook() to sqlite3_wal_hook(). Added comments to wal.h. (check-in: bbc38511 user: drh tags: wal)
2010-04-27
18:49
Merge two "wal" leaves. (check-in: 8c2d43ba user: dan tags: wal)
18:43
Add a test to check that a checkpointer releases its locks before returning, even if it has been prevented by a conflicting lock from checkpointing the database. (check-in: be44349d user: dan tags: wal)
14:37
Fix a problem with identifying a corrupt database in WAL mode. (check-in: c8658da4 user: dan tags: wal)
11:49
Add the xShmRelease() method to the VFS. The os_unix.c implementation of the shared memory logic is still non-functional. (check-in: ed715b47 user: drh tags: wal)
06:49
Run trans.test and avtrans.test as part of the "wal" permutation. (check-in: c8893310 user: dan tags: wal)
05:42
Fix a problem that occurs when one process causes the log-summary file to grow and then a second process attempts to read the database. (check-in: b51a5f8b user: dan tags: wal)
01:56
Merge in recent changes from the trunk (check-in: 7a0ac682 user: drh tags: wal)
2010-04-26
19:17
Optimization: Convert an ORDER BY clause into a no-op if the query also contains a GROUP BY clause that will force the same output order. (check-in: ca9d86ba user: drh tags: trunk)
17:42
Do not attempt to set journal_mode=wal on :memory: or temp file databases. (check-in: 30d01344 user: dan tags: wal)
17:36
Change the default_cache_size pragma to always store a positive value. (check-in: 36fb2cae user: drh tags: trunk)
17:30
Identify the SQLite version meta-value entry in the db-header output of showdb. (check-in: 245d934b user: drh tags: trunk)
16:57
Fixes for problems with small caches and SAVEPOINT rollback in WAL mode. (check-in: 6a944f02 user: dan tags: wal)
16:47
Further enhancements to the showdb utility: A page number followed by "b" causes a btree decoding to occur on the page. (check-in: 2ff824e5 user: drh tags: trunk)
15:44
Enhancements to the showdb.c utility program. Automatically detect the page size and adjust the display accordingly. Add the "dbheader" display option. (check-in: 23eb408b user: drh tags: trunk)
12:39
Add the "wal" permutation to run existing test files savepoint.test and savepoint2.test in WAL mode. (check-in: 205e5d8a user: dan tags: wal)
10:40
Add mutexes to fix a race condition in wal.c. This isn't a very good fix. (check-in: 3d159939 user: dan tags: wal)
00:19
Change the names of the log.c and log.h source files to wal.c and wal.h. (check-in: 56fe5d76 user: drh tags: wal)
00:04
Begin moving WAL-specific I/O into the VFS. This checkin contains VFS infrastructure but it is untested and is not yet hooked up to the WAL. The version number is bumped to 3.7.0 because of the VFS extension. (check-in: f5e615c2 user: drh tags: wal)
2010-04-25
20:58
Remove an unreachable branch from the function initialization logic. (check-in: 064d3ddd user: drh tags: trunk)
2010-04-24
19:07
Add comment explaining checksum mechanism. (check-in: 3e9ef515 user: dan tags: wal)
18:44
Fix bugs in WAL mode rollback. (check-in: 31215969 user: dan tags: wal)
14:33
Merge with [0291ed974d]. Merge with [0291ed974d]. Merge with [0291ed974d]. (check-in: a352f628 user: dan tags: wal)
14:02
When commands such as ALTER TABLE and VACUUM use SQL internally, make sure they use only the built-in functions and not application-defined overrides for those functions. (check-in: 0291ed97 user: drh tags: trunk)
04:53
Merge with [e79dac3c2f]. (check-in: 1e793d3a user: dan tags: wal)
04:49
Reserve some space at the start of the log-summary file to apply locks to. (check-in: a031aa1f user: dan tags: wal)
2010-04-23
19:15
Fixes and tests for backup of a WAL database. (check-in: 480d12db user: dan tags: wal)
14:29
Merge of notify.c changes from experimental. Reset stored blocking connection when registered unlock_notify callback is cleared. (check-in: e79dac3c user: shaneh tags: trunk)
11:44
Add very simple test cases for backup and VACUUM of WAL databases. More to come. (check-in: 1077d813 user: dan tags: wal)
2010-04-22
19:14
Create a version of the log checksummer that works on big-endian platforms. Remove the 512KB size limit on the log-summary. (check-in: 5d6d4423 user: dan tags: wal)
06:27
Further tests and changes related to switching between WAL and rollback modes. (check-in: 12363184 user: dan tags: wal)
2010-04-21
18:37
Tests for (and changes to) the code to switch between WAL and rollback modes. (check-in: 9f4f933f user: dan tags: wal)
11:43
If, after obtaining a SHARED lock, there exists a *-wal file in the file-system, use WAL mode. This is necessary to recover from a crash that damages the first page of the database file. (check-in: 33cabf27 user: dan tags: wal)
06:19
Minor changes to test cases to account for the fact that databases with read/write versions of 2 are now understood. (check-in: 278ed41e user: dan tags: wal)
2010-04-20
18:53
Use the read and write version fields of the database header to mark a database as operating in wal-mode. (check-in: 96bef18c user: dan tags: wal)
2010-04-19
18:03
Add the sqlite3_log_hook() interface for scheduling checkpoints. (check-in: 9bda6014 user: dan tags: wal)
2010-04-17
18:50
Add some comments regarding file-locks to log.c. (check-in: 9d51c3b7 user: dan tags: wal)
17:34
Do not sync any files in wal mode if "PRAGMA synchronous=off" is set. If files are synced, pass either SQLITE_SYNC_FULL or SQLITE_SYNC_NORMAL to the xSync() callback as configured by "PRAGMA fullfsync". (check-in: 0ae91b00 user: dan tags: wal)
16:10
It is possible for sqlite3.pUnlockConnection to be non-NULL when sqlite3.pBlockingConnection is NULL, as the notify1.test script demonstrates. (Closed-Leaf check-in: 95ff76ef user: drh tags: experimental)
15:45
Merge with trunk commit [3e646e3f4c]. (check-in: 43463970 user: dan tags: wal)
15:42
In synchronous=normal mode, do not sync the log after every transaction. In synchronous=full mode, sync the log and add any extra frames required to avoid blast-radius related problems after each transaction. (check-in: 9bc9b684 user: dan tags: wal)
12:53
Change sqlite3_step() so that it automatically calls sqlite3_reset() instead of returning SQLITE_MISUSE when invoked on a prepared statement that previously returned any value other than SQLITE_ROW. (check-in: 3e646e3f user: drh tags: trunk)
12:31
Enhancements to wal-mode locking scheme. (check-in: 8549c286 user: dan tags: wal)
2010-04-16
22:05
Changes for branch coverage of notify.c. Fixed quirk of unlock_notify() where it would still think it was blocked after a callback was cleared (even after the transaction on the blocking connection was closed). (check-in: c54e8dad user: shaneh tags: experimental)
13:59
Change the log file format to include a small (12 byte) header at the start of the file. (check-in: 9865d14d user: dan tags: wal)
11:30
Fix bug in log recovery (last frame in log was being ignored). Also remove an incorrect assert statement. (check-in: 67d2a89e user: dan tags: wal)
2010-04-15
23:24
Disable query flattening when the outer query is a compound SELECT and the inner query has a LIMIT clause. Ticket [02a8e81d44]. (check-in: f96782b3 user: drh tags: trunk)
16:45
Allow writers to write dirty pages to the log mid-transaction in order to free memory. (check-in: ecd828f9 user: dan tags: wal)
13:33
Merge two leaves on the WAL branch. (check-in: c9ed66cc user: dan tags: wal)
13:29
The query planner fix of check-in [33b1f584ef] should have been on the trunk. (check-in: f538d759 user: drh tags: trunk)
12:36
Fix a problem in the result set size estimation logic of the query planner - a problem introduced by the two previous changes. (check-in: 33b1f584 user: drh tags: wal)
10:58
Change the way checksums are calculated. (check-in: 84955c2e user: dan tags: wal)
02:37
Bring over the recent query planner enhancements from the trunk. (check-in: 82969f27 user: drh tags: wal)
01:04
Further refinements to table order selection on join query planning. (check-in: defaf0d9 user: drh tags: trunk)
2010-04-14
19:01
The query planner uses non-indexable WHERE clause terms to reduce the estimated number of output rows, then uses the estimated number of output rows as a tie-breaker when choosing table order. (check-in: b87cb0c2 user: drh tags: trunk)
18:50
Add tests and fix bugs in WAL locking mechanism. (check-in: c18077f2 user: dan tags: wal)
18:06
Add tests to check inter-process WAL locking. (check-in: 9435f313 user: dan tags: wal)
15:49
Improve the logLockRegion() function in log.c. (check-in: 5e9dd3bd user: dan tags: wal)
11:23
Fixes for locking issues in WAL mode. (check-in: a9617eff user: dan tags: wal)
2010-04-13
19:27
Add experimental locking scheme. (check-in: 3f958e87 user: dan tags: wal)
15:30
Fix an uninitialized variable in readDbPage of pager.c. (check-in: f4e1150f user: drh tags: wal)
11:56
Remove old code to interpret an argument (no longer used) to "PRAGMA checkpoint". (check-in: 27dc5977 user: dan tags: wal)
11:45
Fix other problems in the WAL test scripts. (check-in: dcb31181 user: dan tags: wal)
11:35
Fix test script issues preventing walthread.test from running. (check-in: d90b1dde user: dan tags: wal)
11:18
Fix a pager bug introduced by the wal code. (check-in: 4a0b29dc user: dan tags: wal)
06:20
Sync wal branch with [012cf101bf]. (check-in: 9d690f24 user: dan tags: wal)
06:18
Test that the rollback-hook is invoked if a commit-hook implementation returns non-zero (causing a rollback). Remove documentation comment that says otherwise from sqlite.h.in. (check-in: 012cf101 user: dan tags: trunk)
2010-04-12
20:54
Add e_fts3.test to the set of tests excluded from the inmemory_journal exclusion list, since it does simulated OOM errors which trigger I/O errors and SQLite is unable to recover from I/O errors without a persistent journal. (check-in: e7e7127f user: drh tags: trunk)
19:44
Recent changes cause the xSync method of the memory journal implementation to be used, so remove the assert(0). (check-in: 1f2cb940 user: drh tags: trunk)
19:43
Clear a global variable in e_fts3.test before it is used. (check-in: ae89dfd2 user: drh tags: trunk)
19:32
Remove duplicate secure_delete pragma implemention. (check-in: c15fda14 user: drh tags: wal)
19:05
Add "log.h", which should have been part of the previous commit. (check-in: 8de9f010 user: dan tags: wal)
19:00
Import experimental write-ahead-logging code. (check-in: 409d61ba user: dan tags: wal)
17:08
Fix a problem where a process in exclusive mode could delete a hot-journal file without rolling it back from within sqlite3_close() or DETACH. This problem was introduced by commits from the past few days; it is not present in any release. (check-in: 51a61395 user: dan tags: trunk)
14:51
Reset the simulated device in the test harness to its default configuration whenever it is restarted. (check-in: 562d20e6 user: drh tags: trunk)
2010-04-10
17:52
Fix issues and clarify the operation of pager_playback_one_page(). A block comment in pager.c identifies 13 invariants on the pager subsystem. Ticket [9d68c883132c8]. (check-in: 09065976 user: drh tags: trunk)
2010-04-09
23:05
Add a test case for the OOM-fault corruption issue. Ticket [9d68c883132c8]. (check-in: 0a64a937 user: drh tags: trunk)
15:34
Candidate fix for a pager bug associated with sqlite3PagerMovepage(). (check-in: 8c046eb6 user: drh tags: trunk)
09:14
Avoid unnecessary calls to sqlite3_step() with null prepared statements while parsing the schema. (check-in: ae04d2d1 user: drh tags: trunk)
2010-04-08
17:35
Fix a typo in a comment. No changes to code. (check-in: 332cb551 user: drh tags: trunk)
17:28
Fix code coverage problems in where.c. (check-in: b04a5282 user: drh tags: trunk)
16:30
Additional automatic index tests. (check-in: 99d8e325 user: drh tags: trunk)
15:01
New test cases for automatic indices. New testcase() macros associated with column-used bitmasks. (check-in: e1aa48ac user: drh tags: trunk)
15:01
Fix the computation of the number of rows in a table during automatic index generation. (check-in: edeab06a user: drh tags: trunk)
14:38
Fix an integer overflow bug in the automatic index logic. The bug was detected by the testcase() macros added in the previous check-in. Also add some more testcase() macros, since this issue points up their importance. (check-in: af97b488 user: drh tags: trunk)
14:15
Add testcase() macros to the automatic index logic to insure that boundary cases are tested. (check-in: 72865478 user: drh tags: trunk)
11:35
Make sure F_OK, R_OK, and W_OK are defined in test_demovfs.c. Define them manually if they are not. This is necessary to get the module to compile on some systems. (check-in: 7c8afc32 user: drh tags: trunk)
01:16
Merge automatic index changes into the trunk. (check-in: bf7b8d86 user: drh tags: trunk)
00:40
When constructing automatic indices do not include the same column more than once. (Closed-Leaf check-in: d067d9f7 user: drh tags: experimental)
2010-04-07
20:32
Pull over the latest changes from the trunk. (check-in: e388fe8b user: drh tags: experimental)
20:29
When rolling back a savepoint to the beginning of the transaction, make sure to initialize the database size in the btree layer correctly even if the database size field of the header is zeroed. (check-in: a3540c6a user: drh tags: trunk)
19:32
Add an interface to the SQLITE_STMTSTATUS_AUTOINDEX status information to the TCL bindings. Add some simple automatic index test cases. (check-in: 1f404412 user: drh tags: experimental)
16:54
Wrap all automatic index changes inside SQLITE_OMIT_AUTOMATIC_INDEX. Add the automatic_index PRAGMA to turn it on and off. (check-in: a811a47f user: drh tags: experimental)
14:59
Make sure that all automatic indices are covering indices. Otherwise, the table and index might be used together in a query but the table could get out of sync with the automatic index through out-of-band changes. (check-in: 23643131 user: drh tags: experimental)
14:33
Enhance comments on the SrcList object definition to better explain the operation of the SrcList.a[].colUsed field. No changes to code. (check-in: c0f67ea1 user: drh tags: experimental)
14:32
Fix the trace output of the OP_Function opcode to show the correct register numbers. (check-in: 064c283e user: drh tags: experimental)
07:57
Add file test_demovfs.c, containing a simple VFS implementation that demonstrates how writes to the journal file may be safely buffered by the VFS layer to improve performance on some embedded systems. (check-in: af3b72d9 user: dan tags: trunk)
2010-04-06
22:33
Veryquick.test is now working. The SQLITE_STMTSTATUS_AUTOINDEX counter added. (check-in: abbf16e5 user: drh tags: experimental)
18:51
Runs quicktest without hitting an assert now. Some tests get unexpected results still and there is a memory leak. (check-in: a8224448 user: drh tags: experimental)
18:28
Progress toward getting automatic indices to work. Still failing in corner cases. (check-in: ac6d0fba user: drh tags: experimental)
15:57
Automatically generate transient indices for tables in joins that would otherwise have to use a full table scan. (check-in: 1b2a0412 user: drh tags: experimental)
2010-04-05
15:11
Minor comment changes to the OP_OpenEphemeral header. No changes to code. (check-in: 8e1d7ef4 user: drh tags: trunk)
2010-04-03
13:08
Silently abandon a rollback if the journal has been truncated. (check-in: 7626f6c9 user: drh tags: trunk)
2010-04-02
13:25
Check for a failure in the call to sqlite3PagerPagecount() from within sqlite3PagerWrite(). (Error discovered by valgrind.) (check-in: d64d181c user: drh tags: trunk)
12:55
Take care to avoid a buffer over-read when adding a KEYINFO structure to the P4 parameter of an opcode. (check-in: 937b931a user: drh tags: trunk)
12:46
If the size of the database according to the header is larger than the actual database file size, report that the database is corrupt. (check-in: 8eb1f244 user: drh tags: trunk)
03:39
Pager changes for code coverage testing. (check-in: b04a45ea user: drh tags: trunk)
2010-04-01
18:33
Disable the corruptE.test script when ENABLE_OVERSIZE_CELL_CHECK is on. (check-in: 1dc4f9fe user: drh tags: trunk)
16:15
Zero the filesize-in-header word for bigfile.tcl. Remove bigfile.tcl from the journaltest permutation. (check-in: 63610c71 user: drh tags: trunk)
13:41
Do not journal the content of freelist leaf pages. This restores an optimization that was accidently undone by check-in [12f7346c13] on 2009-01-20. (check-in: b1e7a1a6 user: drh tags: trunk)
02:47
Remove a NEVER in sqlite3PagerPagecount() that can in fact be true. (check-in: 8f005337 user: drh tags: trunk)
02:22
Restore the size information in the BtShared structure when a transaction rolls back. (check-in: 802aeb30 user: drh tags: trunk)
2010-03-31
23:20
Make sure an OOM error on sqlite3PagerPagecount() is detected and reported out to the interface. (check-in: 8aecf302 user: drh tags: trunk)
20:29
Report corruption if a database contains a reference that is out of range according to the filesize-in-header database size. (check-in: a91db0b1 user: drh tags: trunk)
17:47
Clarification of the implementation of SQLITE_STMTSTATUS_FULLSCAN_STEP. No logical code changes - just commenting and layout changes to improve readability. (check-in: 06b9ca32 user: drh tags: trunk)
15:02
Clear the column cache before populating aggregate accumulator registers. Fix fo r [883034dcb5]. (check-in: ffc23409 user: dan tags: trunk)
13:57
Documentation enhancements for the sqlite3_log() interface. No functional changes to code. (check-in: ba13a111 user: drh tags: trunk)
11:52
Include shell.c and sqlite3.def in the amalgamation ZIP archive. Ticket [e063139eb3f8] (check-in: 0077ed5c user: drh tags: trunk)
02:31
Increase test coverage following the introduction of the new filesize-in-header logic. (check-in: dbc2c3c0 user: drh tags: trunk)
2010-03-30
22:58
Continuing refinements to the filesize-in-header enhancement. (check-in: 79e22b95 user: drh tags: trunk)
15:51
Add a NEVER macro around a test in btree.c that can not longer be true. (check-in: c117f992 user: drh tags: trunk)
12:40
Do not crash when compiling an "INSERT INTO tbl DEFAULT VALUES" when tbl has either BEFORE or INSTEAD OF triggers attached to it. Ticket [f3162063fd]. (check-in: ca359a3e user: dan tags: trunk)
11:57
Change an #if into an #ifdef. (check-in: 371bab5d user: drh tags: trunk)
2010-03-29
21:22
Pull the experimental file-size-in-header changes into the trunk. (check-in: 0092b36c user: drh tags: trunk)
21:13
The btree layer now tracks when a database is empty at the start of a transaction and rolls back to that state. (Closed-Leaf check-in: 01ef6c19 user: drh tags: experimental)
19:36
Fix issues with the io.test script. There is still a problem with a ROLLBACK TO not working on an initially empty database files. And much more testing is needed. (check-in: 09786e2a user: drh tags: experimental)
2010-03-27
17:12
Experimental changes that cause SQLite to use bytes 28..31 of the database header to determine the database size, rather than using the actual database size. This allows database space to be preallocated. (check-in: b844ac6f user: drh tags: experimental)
09:44
Increase the estimated cost of using a virtual table as the outer loop of a join when there exists an ORDER BY clause that is not satisfied by the virtual table. Fix for [775b39dd3c]. (check-in: 9e075e70 user: dan tags: trunk)
2010-03-26
01:54
Fix OOM error on ANALYZE with STAT2 enabled with zero-length data. Ticket [cbd054fa6b]. (check-in: c33b38b5 user: shaneh tags: trunk)
2010-03-24
15:57
Fix for [9861b74ab9]. Correctly handle strings with zero tokens in the fts3 offsets() function. (check-in: d37034f7 user: dan tags: trunk)
11:55
Attempt to suppress a warning from Borland Code Guard. (check-in: be278979 user: drh tags: trunk)
2010-03-23
18:24
More commenting and documentation enhancements in FTS3. (check-in: 892e2867 user: drh tags: trunk)
15:46
Fix up obsolete comments in FTS3 to conform to the latest nomenclature. Add new comments to better explain FTS3 operation. (check-in: 3e4a0082 user: drh tags: trunk)
15:29
Close the auxiliary database db2 at the end of the crash8.test script. (check-in: 0fbdc431 user: drh tags: trunk)
2010-03-22
17:38
Add an extra test case for crash recovery. (check-in: f2326dad user: dan tags: trunk)
17:13
After a rollback that writes or truncates the database file, sync the database file before invalidating the journal contents. Fix for [015d3820f2]. (check-in: b21b911f user: dan tags: trunk)
15:47
Disable the "init.test" test script when compiled with SQLITE_THREADSAFE=0. (check-in: ad68fa65 user: drh tags: trunk)
04:32
Change the formatting of the preprocessor macros surrounding the compileoption interface in sqlite.h.in. This is so the documentation produced by parsing this part of sqlite.h.in is formatted similarly to the docs for the deprecated interfaces (with the #ifndef visible on the webpage). (check-in: 161958d1 user: dan tags: trunk)
2010-03-19
19:23
Put an ALWAYS() around a condition in pcache.c that must always be true in the current implementation. (check-in: 88810cd0 user: drh tags: trunk)
19:02
Have the xUpdate() method of the rtree module virtual table implementation set the *pRowid output variable when inserting a row. Fix for [dd3ba6063a]. (check-in: f31d2248 user: dan tags: trunk)
16:55
Store the SQLite version number of the last writer in bytes 96..99 of the header. (check-in: 146d4f5d user: drh tags: trunk)
16:52
Make sure the in-journal boolean vector is cleared and released when ending a transaction. This fixes an obscure problem with the previous check-in. (check-in: 69d749d9 user: drh tags: trunk)
15:48
Do not create, open, or initialize the rollback journal until something actually needs to be written into the journal. That way, expensive filesystem operations are avoided if the transaction ends up being a no-op. (check-in: b78e58ae user: drh tags: trunk)
13:59
Rewrite a couple of queries used internally by FTS3 to take advantage of the "SELECT max(x) FROM ..." optimization. (check-in: b7e42ae7 user: dan tags: trunk)
2010-03-18
16:34
Mark internal routines as "static" in FTS3. Ticket [b1552d0fa7]. (check-in: 39b34ac4 user: drh tags: trunk)
2010-03-15
20:53
Improved error message when the right-hand operand of MATCH in FTS3 is not a valid search expression. Ticket [170872f1c3]. (check-in: bea92586 user: drh tags: trunk)
19:27
Fix FTS3 so that it does not run illegal SQL and cause a spurious log message. Ticket [42d45a693e6]. (check-in: f186b6a6 user: drh tags: trunk)
2010-03-13
02:15
Store the database size in pages in bytes 28..31 of the header. Currently this is for forensic use only, but it might be used in the future. (check-in: 59f75bba user: drh tags: trunk)
2010-03-12
16:32
Add assert()s to mem2.c (activated by SQLITE_MEMDEBUG) which verify that memory alloctions that might have come from lookaside are always freed using a lookaside-aware free routine. (check-in: c2af2164 user: drh tags: trunk)
2010-03-10
23:13
Move the ctime.c source module near the beginning of the list of files inserted into the amalgamation so that #defines that are overridden in other modules will not effect the values returned by sqlite3_compiletime_used(). (check-in: bb591802 user: drh tags: trunk)
21:42
Add the SQLITE_DBSTATUS_CACHE_SIZE verb for sqlite3_db_status(). The highwater mark does not yet work on this verb. (check-in: 418c6d81 user: drh tags: trunk)
20:06
Remove the "experimental" markings on most interfaces that have been around for multiple releases. (check-in: d670e8bd user: drh tags: trunk)
14:06
Fix typo in a comment in the sqliteInt.h. No changes to code. (check-in: 1716821d user: drh tags: trunk)
2010-03-09
19:31
Version 3.6.23 (check-in: 4ae453ea user: drh tags: trunk, release)
15:10
Fix a test script issue affecting the TCL backup tests under Windows. (check-in: 20c400e7 user: shaneh tags: trunk)
14:41
Version 3.6.23 release candidate 4 (check-in: 3445eda0 user: shaneh tags: trunk)
14:41
Minor changes to silence compiler warnings on various MSVC builds. (check-in: 115c978b user: shaneh tags: trunk)
13:12
Version 3.6.23 release candidate 3 (check-in: 747baea5 user: drh tags: trunk)
13:02
Check-in [87a6a9970b] did not completely disable FTS4. This check-in aims to finish the job. (check-in: 0259b629 user: drh tags: trunk)
12:35
Version 3.6.23 release candidate 2 (check-in: 73f4d292 user: drh tags: trunk)
12:35
Disable FTS4 (which is incomplete and not ready for publication) to prevent accidental use. (check-in: 87a6a997 user: drh tags: trunk)
05:01
Version 3.6.23 release candidate 1 (check-in: 30e9f966 user: drh tags: trunk)
2010-03-08
21:40
Add NEVER and assert macros and explanatory comments for unreachable conditions. (check-in: ffb6596e user: drh tags: trunk)
15:17
Correct an assert() in mem2.c (test code only). (check-in: 1a88e31b user: dan tags: trunk)
10:32
Do not run the stmt.test script as part of the inmemory_journal permutation. (check-in: 049cadf9 user: dan tags: trunk)
2010-03-05
20:17
Make sure the dbFileVers field in the Pager object is properly initialized even if there is an I/O error while reading its content off of disk. (check-in: 81ff698f user: drh tags: trunk)
18:46
Change a condition in sqlite3VdbeMemShallowCopy() to avoid accessing an unitialized variable (doing so was not dangerous, but caused a valgrind error). (check-in: 4793c381 user: dan tags: trunk)
17:27
Fix a one byte buffer overread in fts3. (check-in: 6e3e014a user: dan tags: trunk)
16:32
Modify the vdbe so that the comparison operator opcodes do not modify the data type of operands. Fix for [aa92c76cd4]. (check-in: 8858042f user: dan tags: trunk)
13:53
Adjustments to #ifdefs so that the #include of <sys/mount.h> is not included twice, because that confuses the amalgamation builder. (check-in: 27413fc8 user: drh tags: trunk)
13:41
Adjust some #ifdefs so that the build works on Mac both with and without SQLITE_ENABLE_LOCKING_STYLE. (check-in: 0cc981f1 user: drh tags: trunk)
2010-03-04
17:58
Fix for [9abd6aa831]. Do not overread a buffer used for an %q or %w conversion with a precision specifier. (check-in: