SQLite

Timeline
Login

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

528 check-ins using file Makefile.vxworks version b18ad88e9a

2013-04-12
13:53
Fix the xCheckReservedLock() method on the windows VFS so that it cannot return a false positive when two or more processes use it at the same time on the same file. Ticket [7ff3120e4fa54abb55]. Update to version 3.7.16.2. (check-in: 67b3c0efa7 user: drh tags: sessions)
11:52
Version 3.7.16.2 (Leaf check-in: cbea02d938 user: drh tags: release, version-3.7.16.2, branch-3.7.16)
2013-04-11
19:04
Increase the version number to 3.7.16.2 and cherrypick the fix for ticket [7ff3120e4fa54abb55]. This check-in is a release candidate. (check-in: 86f26f9152 user: drh tags: branch-3.7.16)
00:45
Correct minor typo in two regular expressions. (check-in: f1eed92b7b user: mistachkin tags: sessions)
2013-04-10
15:01
Designate the beginning and the end of the sqlite3session.h file in the constructed sqlite3.h file. (check-in: 53f5be7432 user: drh tags: sessions)
03:22
Backport the multi-process tester to the last released version. (Leaf check-in: bf6ca21b36 user: mistachkin tags: branch-3.7.16)
2013-04-03
21:23
Release resources prior to bailing out of the btreeCreateTable() routine following an OOM error. (Closed-Leaf check-in: b2a72be9ba user: drh tags: experimental-mmap)
20:04
Remove an unreachable branch in the direct blob I/O logic of btree.c. (check-in: f97d7274f4 user: drh tags: experimental-mmap)
13:38
Fix a bug in the detection of iOS when setting the default mmap_limit. (check-in: ac1432b3a8 user: drh tags: experimental-mmap)
13:09
Change the mmap_limit pragma to report the new limit, or to report the existing limit if called with no arguments. Report the default mmap_limit as part of PRAGMA compile_options. Set the default mmmap_limit to 0 for all systems other than linux, mac, windows, and solaris. (check-in: 2d9f1327fe user: drh tags: experimental-mmap)
11:52
Remove the restriction on using xFetch to load the root pages of tables and indexes. It appears to have been based on a misconception. (check-in: 5b082efead user: dan tags: experimental-mmap)
11:38
When moving a page to make way for the root page of a new table or index in an auto-vacuum database, save the positions of any cursors that may be holding xFetch references to the page being moved. (check-in: 9d9b1da54a user: dan tags: experimental-mmap)
11:17
In btree.c, save the positions of other cursors open on the same table when writing via an incremental blob handle. Otherwise, they may be left holding an out-of-date xFetch page reference. (check-in: 3f09fba18f user: dan tags: experimental-mmap)
10:50
Initialize the mmap_limit of temporary files to the configured mmap_limit. (check-in: 24bab7596b user: drh tags: experimental-mmap)
03:53
Make use of xFetch, if it is available when doing a VACUUM or a backup. (check-in: 83bc37af07 user: drh tags: experimental-mmap)
01:26
Add the -mmap option to the command-line shell, for setting the default mmap_limit. (check-in: fc30d06c94 user: drh tags: experimental-mmap)
00:42
Fix the unix driver to check defined(_BSD_SOURCE) rather than just the plain _BSD_SOURCE macro. This fixes the build for OpenBSD. (check-in: 1dd42ef414 user: drh tags: experimental-mmap)
2013-04-02
20:55
Fix a resource leak in os_unix.c. (check-in: b29cda03fe user: dan tags: experimental-mmap)
20:29
Adjustments to mmap1.test so that it works better on windows. It still gets some answers wrong, but it no longer crashes. (check-in: ee8d3ceeec user: drh tags: experimental-mmap)
20:19
Fix a bug in mmap2.test that was leaving an invalid sqlite3_log() callback installed, causing a crash. (check-in: c0cdaa0735 user: dan tags: experimental-mmap)
20:13
Add assert to the Windows VFS pertaining to the size of the SIZE_T type. (check-in: 4eeea58354 user: mistachkin tags: experimental-mmap)
18:33
Add test cases to mmap1.test and pagerfault.test. (check-in: 3050136be9 user: dan tags: experimental-mmap)
18:31
Change an assert in pager.c to acknowledge that it is possible for sqlite3PagerRollback() to return SQLITE_CORRUPT. (check-in: d641d3d20d user: dan tags: experimental-mmap)
18:25
Fix the build for Mac. (check-in: d36ce0bbad user: drh tags: experimental-mmap)
15:37
Add new test file btreefault.test. (check-in: 7fe908afeb user: dan tags: experimental-mmap)
14:37
Fix a faulty assert() in the os_win.c VFS. (check-in: fd6ee54969 user: drh tags: experimental-mmap)
12:04
Add test cases for errors in mmap() or mremap() is os_unix.c. (check-in: 3098a3c1e7 user: dan tags: experimental-mmap)
10:29
Proposed template preprocessor magic for activating mmap only on platforms where we know it works. (check-in: d96272f031 user: drh tags: experimental-mmap)
01:45
Reorder two conditions to make coverage testing easier. (check-in: 793ba4e996 user: drh tags: experimental-mmap)
00:41
Remove an unreachable condition from pager.c. (check-in: 3628e86bf1 user: drh tags: experimental-mmap)
00:15
Always send the SQLITE_FCNTL_MMAP_LIMIT pragma to the VFS, even if the limit is zero and even if the VFS does not support xFetch(). (check-in: 01ffdabbad user: drh tags: experimental-mmap)
2013-04-01
22:42
Remove a debugging printf() accidently left in the previous check-in. (check-in: 8198cdd8ac user: drh tags: experimental-mmap)
22:38
Add the SQLITE_CONFIG_MMAP_LIMIT configuration option for overriding the SQLITE_DEFAULT_MMAP_LIMIT compile-time setting. Enhance "PRAGMA mmap_limit" so that without a specific database name, it sets the limit on all database files and changes the default for any future databases that might be added using ATTACH. (check-in: 78141d0a16 user: drh tags: experimental-mmap)
18:25
Add a comment to xUnfetch on windows to say that the call to winUnmapfile() might be unnecessary. (check-in: e3c63c31a2 user: drh tags: experimental-mmap)
18:15
In windows, round down the size of the memory mapped region to the next smaller multiple of the page size. (check-in: 0e44ed1bad user: drh tags: experimental-mmap)
17:58
Merge accidental fork. (check-in: 5f4437c0e3 user: dan tags: experimental-mmap)
17:56
Attempt to emulate mremap() on non-Linux systems by allocating a second mapping immediately following the first in virtual memory. (check-in: 4d67433db8 user: dan tags: experimental-mmap)
17:56
Bug fix in the winMapfile() subroutine: Be sure to record the map object handle in the sqlite3_file object. (check-in: ee4d188e20 user: drh tags: experimental-mmap)
17:22
Add xFetch and xUnfetch methods to the os_win.c VFS. (check-in: a1653a257d user: drh tags: experimental-mmap)
16:56
Ensure that a checkpoint does not use an out-of-date mapping. (check-in: a1040f0397 user: dan tags: experimental-mmap)
14:35
Fix a typo in a log message in wal.c. (check-in: 83fc48d165 user: dan tags: experimental-mmap)
14:29
Fix a problem in btree.c that could cause a crash following an OOM. (check-in: b724aa5889 user: dan tags: experimental-mmap)
14:20
Minor changes to unixMapfile() function. (Leaf check-in: 80c63443c4 user: dan tags: two-mappings)
2013-03-29
19:38
Further fixes for test scripts. (check-in: 23ffa4f9fb user: dan tags: two-mappings)
18:52
Fix a problem in btree.c that could cause a crash following an OOM. Also various test script problems. (check-in: e8bcdf938e user: dan tags: two-mappings)
13:44
Version 3.7.16.1 (check-in: 527231bc67 user: drh tags: trunk, release, version-3.7.16.1)
11:24
Avoid assuming the page-size is 4096 bytes in os_unix.c. (check-in: 3b7ec8d79e user: dan tags: two-mappings)
2013-03-28
11:40
Adjustment to an extreme corner case in the sqlite3Atoi64() routine. (check-in: 39534b4baa user: drh tags: trunk)
01:19
Merge the changes for the 3.7.16.1 release candidate into the sessions branch. (check-in: ee35a89712 user: drh tags: sessions)
2013-03-27
20:41
Fix harmless compiler warnings coming from MSVC64 in test code. No changes to the core. (check-in: 274d2a2266 user: drh tags: trunk)
19:53
Modify various test cases so that they work if the file is extended in units of the system page-size. (check-in: 0e3d511927 user: dan tags: two-mappings)
19:46
Increment the version number to 3.7.16.1. (check-in: 7e32eb7b66 user: drh tags: trunk)
17:20
In order to optimize out the ORDER BY clause, outer loops must generate values for ORDER BY terms that are unique or else the inner loops must generate no more than a single row. Fix for ticket [a179fe7465]. (check-in: 2936f7466e user: drh tags: trunk)
16:42
Restore additional ORDER BY optimizations that where broken by the recent ORDER BY fix. (Closed-Leaf check-in: c77ee6e20d user: drh tags: orderby-fix)
16:05
Improved optimization of ORDER BY. (check-in: 97e5c70f2f user: drh tags: orderby-fix)
15:04
A fix and test-case for the ORDER BY problem identified by ticket [a179fe7465]. This change causes sorting to occur in some cases where it is not strictly necessary. Further work is needed to avoid those extra sorts. (check-in: 488089e615 user: drh tags: orderby-fix)
03:15
Candidate fix for ticket [6bfb98dfc0c]: Make sure invalid cursors drop all references to database pages prior to doing any insert or update. (check-in: 322a5f086d user: drh tags: trunk)
2013-03-26
20:32
Change os_unix.c to use either one or two mappings internally. (check-in: e7698cba9b user: dan tags: two-mappings)
18:48
Fix a comment in os_unix.c. No code changes. (check-in: 72813b8ec9 user: drh tags: experimental-mmap)
14:36
Change the name of the Pager.pFree field to Pager.pMmapFreelist. (check-in: 611bd824c2 user: drh tags: experimental-mmap)
14:16
In btree.c, save the positions of any open cursors before moving any pages around to auto-vacuum the database on commit. (check-in: 30c0a69363 user: dan tags: experimental-mmap)
01:07
Previous check-in accidently left mmap turned off by default. This checkin fixes that. Unfortunately, shared.test is now segfaulting. All other veryquick tests appear to work, however. (check-in: a850c7319c user: drh tags: experimental-mmap)
2013-03-25
23:09
Memory-mapped I/O is now on by default. The "PRAGMA mmap_limit(N)" can be used to issue a hint to the VFS to limit mmap space to N bytes. The VFS is free to ignore that hint if desired. However, if "PRAGMA mmap_limit(0)" is used, xFetch is never called. (check-in: 1b37c4effd user: drh tags: experimental-mmap)
20:50
Add munmap and mremap to the set of os interfaces that can be overloaded in os_unix.c. (check-in: 8776047bd7 user: drh tags: experimental-mmap)
20:30
Use mremap() on Linux. (check-in: 431aecc860 user: dan tags: experimental-mmap)
19:57
Merge all recent trunk changes into the experimental-mmap branch. (check-in: a607d63f0b user: drh tags: experimental-mmap)
19:05
Add a test that simulates an error in mmap(). (check-in: 6ec7367d8e user: dan tags: experimental-mmap)
18:25
Simulate OOM errors in the sqlite3OsFetch() function. Run malloc.test as part of the "mmap" permutation. (check-in: 77443ef2cd user: dan tags: experimental-mmap)
17:00
Change the signature of the xUnfetch method to "int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p)". (check-in: 115b830509 user: dan tags: experimental-mmap)
16:28
Remove unnecessary code to round the size of a memory mapping to 4KB from os_unix.c. Rename SQLITE_IOERR_MREMAP to SQLITE_IOERR_MMAP. Fix other small issues in os_unix.c. (check-in: dce35c01a5 user: dan tags: experimental-mmap)
14:31
Do not return SQLITE_IOERR when the user attempts to open a small file that is not a database with mmap enabled. Instead return SQLITE_NOTADB. (check-in: bbcaab3e80 user: dan tags: experimental-mmap)
13:50
Fix a case in the pager where an xFetch() reference was being leaked following an OOM error. (check-in: 5885ba6ce7 user: dan tags: experimental-mmap)
12:02
Add a second test for [38b1ae018f]. (check-in: 5062db672c user: dan tags: trunk)
11:38
In fts3, when filtering lists for hits in a specific column, edit the list in place in the same way as it is for NEAR filtering. Fix for [38b1ae018f]. (check-in: f85f9103cf user: dan tags: trunk)
2013-03-24
22:56
Remove the SQLITE_OMIT_MERGE_SORT compile-time option and its related code. The merge sorter is now a required component. (check-in: 8b44d6fb15 user: drh tags: trunk)
2013-03-23
21:00
Replace the sqlite3_io_methods.xMremap interface with sqlite3_io_methods.xFetch and xUnfetch. (check-in: 1431be9557 user: dan tags: experimental-mmap)
17:29
Improve a comment in wal.c. No code changes. (check-in: 60b9f5e4dd user: dan tags: experimental-mmap)
14:20
Fix a case where a checkpoint operation could write to an invalid part of a memory mapped region. (check-in: 8dbe89d05c user: dan tags: experimental-mmap)
12:15
In the winMremap VFS function, unmap the region prior to attempting to truncate the file. (check-in: 8870c4cc6c user: mistachkin tags: experimental-mmap)
10:09
Do not unmap the mapped file region in winTruncate as there may be outstanding pointers to it. (check-in: f57a9c91e9 user: mistachkin tags: experimental-mmap)
09:56
Preliminary changes to support the xMremap VFS method on Windows. (check-in: 75a85a1c6a user: mistachkin tags: experimental-mmap)
2013-03-22
20:15
Update wal mode tests so that they work with the mmap test permutation. (check-in: f7295872a3 user: dan tags: experimental-mmap)
19:56
Fix a potential NULL-pointer dereference in btreeSwapOutMmap(). (check-in: e81ccdcd87 user: drh tags: experimental-mmap)
19:17
Fix a case where the mapped part of a database file may be written during a backup operation. (check-in: c8d67aefff user: dan tags: experimental-mmap)
18:20
Allow the database file to be memory mapped in wal mode. (check-in: d190ddabc3 user: dan tags: experimental-mmap)
17:46
Add a fix for the assert() statements added by the previous commit. (check-in: 19345416ed user: dan tags: experimental-mmap)
08:58
Add assert statements to os_unix.c to ensure that any mapped region of the database file is not being read or written using the xRead() or xWrite() methods. (check-in: 765615f9fb user: dan tags: experimental-mmap)
2013-03-21
21:20
Many spelling fixes in comments. No changes to code. (check-in: 6f6e2d5094 user: mistachkin tags: trunk)
20:39
Fix cases where xRead() was being used to read from a memory mapped part of the database file. (check-in: 5c9e9df27b user: dan tags: experimental-mmap)
20:00
Avoid calling xRead() on a part of the database file that is memory mapped. (check-in: c8eac290a7 user: dan tags: experimental-mmap)
15:57
Fix a problem when opening a write-transaction while there exist read-only b-tree cursors in mmap mode. (check-in: 32e0bbb736 user: dan tags: experimental-mmap)
14:47
Do not use the Linux mremap() call. Use the same strategy for xMremap() as on OSX instead. (check-in: 5ed8ad780c user: dan tags: experimental-mmap)
2013-03-20
18:25
Optimize the xMremap method in os_unix.c some. (check-in: 9529ed88a7 user: dan tags: experimental-mmap)
14:26
When possible, use memory mapping when appending new pages to a database file. (check-in: 14135da3cd user: dan tags: experimental-mmap)
12:04
Fix text-to-numeric type casting so that it works correctly on UTF16 strings that contain characters where the LSB is numeric but the MSB is non-zero. Ticket [689137afb6da41] (check-in: 5b22053f91 user: drh tags: trunk)
10:07
Add test file mmap1.test. (check-in: aee1f53a74 user: dan tags: experimental-mmap)
2013-03-19
19:28
Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". (check-in: 6183f1bd86 user: dan tags: experimental-mmap)
17:10
Also export the sqlite3changeset interfaces in the amalgamated version of the sessions extension. (check-in: 5b399f2bc4 user: drh tags: sessions)
16:12
Bring makefiles and build scripts into alignment with the sessions branch. No changes to code. (check-in: d1f41089ab user: drh tags: trunk)
15:23
Include the sqlite3session.h header file in with sqlite3.h. Make sure the session APIs are all public. (check-in: ec490336bc user: drh tags: sessions)
2013-03-18
17:18
Clarifications to the documentation for the sqlite3_aggregate_context() API. Also, shorten an over-length source line in sqlite.h.in. (check-in: 4fe2db1d86 user: drh tags: trunk)
16:24
Adjust the MSVC makefile so that it correctly handles the sessions extension being included in the amalgamation. Import the test case changes that appeared in 3.7.16 final. (check-in: 9bac09a99a user: drh tags: sessions)
11:39
Version 3.7.16 (check-in: 66d5f2b767 user: drh tags: trunk, release, version-3.7.16)
2013-03-16
20:19
When possible, use memcpy() to and from the mapped region instead of xWrite() and xRead(). (check-in: f8ca5622d9 user: dan tags: experimental-mmap)
2013-03-15
19:13
Fix a dropped error code in pager.c. (check-in: 022fdc986b user: dan tags: experimental-mmap)
18:29
Allow read-only cursors to use mmap pages even if there is an open write transaction. (check-in: b387e2f9d2 user: dan tags: experimental-mmap)
2013-03-14
18:34
Use mmap() to read from the database file in rollback mode. This branch is unix only for now. (check-in: 6f21d9cbf5 user: dan tags: experimental-mmap)
2013-03-13
20:52
Merge updates from trunk. (check-in: d63fa039a0 user: mistachkin tags: toTypeFuncs)
19:02
Fix typos in MSVC makefile. (check-in: 2d15c26857 user: mistachkin tags: sessions)
12:20
Fix main.mk so that it builds the amalgamation correctly. (check-in: 0b84e27724 user: drh tags: sessions)
11:42
Fix a compiler warning in sqlite3VdbePreUpdateHook(). Add sqlite3session.c to the amalgamation. Fix the Makefile.in to work with sessions. (check-in: e54b0225f2 user: drh tags: sessions)
07:02
Enhance tests for ticket [4dd95f6943]. (check-in: 0b452734fa user: dan tags: trunk)
06:48
Rename the experimental todouble() function to toreal(), update comments. (check-in: 12c318ef1b user: mistachkin tags: toTypeFuncs)
06:34
Merge latest trunk changes into this branch. (check-in: d6cd3c780c user: dan tags: sessions)
00:13
Fix the ORDER BY with IN constraint logic so that it works with all combinations of DESC on the ORDER BY clause, on the RHS of the IN operator, and in the index used by ORDER BY and IN. Fix for ticket [4dd95f6943fbd18]. (check-in: 839aa91faf user: drh tags: trunk)
2013-03-12
23:58
Add a single new test case to the ORDER BY with IN logic verify that if the RHS of the IN is a descending index that it still works. Add testcase() macros to the ORDER BY with IN logic to help verify that corner cases are tested. (Closed-Leaf check-in: 7e7356f155 user: drh tags: desc-orderby-fix-1)
23:03
Fix typo in sqlite3_close() function documentation reported on the mailing list. (check-in: c9a75d890f user: mistachkin tags: trunk)
22:13
Fix a test case that had an ambiguous result. (check-in: 38c6bddf8c user: drh tags: desc-orderby-fix-1)
20:58
Fix typo in sqlite3_close() function documentation reported on the mailing list. (Closed-Leaf check-in: 7232093d6c user: mistachkin tags: docTypo)
20:38
Fix the ORDER BY optimization with IN constraints when the RHS of the IN constraint is a descending index. (check-in: 62316ebaca user: drh tags: desc-orderby-fix-1)
18:49
Revise the patch to make it easier to understand. (check-in: 3ce7eb0265 user: drh tags: desc-orderby-fix-1)
18:44
Add test cases for [4dd95f6943]. (check-in: 723c144c76 user: dan tags: desc-orderby-fix-1)
18:40
Revised fix for the DESC ORDER BY and IN constraint bug, ticket [4dd95f6943fbd18]. The previous check-in was incorrect. (check-in: 8b2eb7a43b user: drh tags: desc-orderby-fix-1)
18:34
A proposed fix for the DESC ORDER BY bug of ticket [4dd95f6943fbd18]. Seems to work, but lots more testing is needed prior to moving to trunk. (check-in: 614a038ad2 user: drh tags: desc-orderby-fix-1)
11:38
Merge recent changes to trunk into sessions branch. (check-in: 62adb0e0d7 user: dan tags: sessions)
09:07
Increase strictness of the new experimental functions and add more tests. (check-in: 05c4463ec5 user: mistachkin tags: toTypeFuncs)
2013-03-11
13:37
Define _BSD_SOURCE when building on OpenBSD. This is required for fchmod(). (check-in: f9027cb47b user: dan tags: trunk)
11:57
Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined. (check-in: 1da15adba8 user: dan tags: trunk)
11:49
Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined. (Closed-Leaf check-in: 938b91e855 user: dan tags: omit-fixes)
06:24
Add more tests. (check-in: f9468e334d user: mistachkin tags: toTypeFuncs)
01:23
Add experimental tointeger() and todouble() SQL functions. (check-in: 465fd853d3 user: mistachkin tags: toTypeFuncs)
2013-03-09
14:49
Add a test case for the problem fixed by the previous commit. (check-in: e899b058a7 user: dan tags: trunk)
14:40
Fix a problem with resolving "db.view.column" references that appear in UPDATE or DELETE statements executed against views. (check-in: ddee56c9b2 user: dan tags: trunk)
2013-03-08
18:16
If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on. (check-in: f2fecfb2d3 user: dan tags: trunk)
07:10
If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on. (Closed-Leaf check-in: 69746ef787 user: dan tags: experimental)
2013-03-07
14:00
Fix the char() function so that it works even if SQLITE_OMIT_UTF16 is defined. (check-in: af542c82e8 user: drh tags: trunk)
09:39
Skip tests that require UTF-16 support when compiled with SQLITE_OMIT_UTF16. (check-in: e39391422e user: mistachkin tags: trunk)
06:42
Fix two compilation issues, one warning and one error, that occur only when SQLITE_OMIT_UTF16 is defined. (check-in: 10ace06be7 user: mistachkin tags: trunk)
2013-03-06
11:44
Fix a problem in incrvacuum_ioerr.test. Do not run ioerr6.test with an in-memory journal. (check-in: 66576b450a user: dan tags: trunk)
02:12
Merge all the latest trunk changes into the sessions branch. (check-in: d69d21903b user: drh tags: sessions)
01:55
Fix a bug (ticket [fc7bd6358f59]) that caused incorrect query results in three way queries that involved comparing INTEGER and TEXT columns for equality. (check-in: 7097241c12 user: drh tags: trunk)
01:48
Add the SQLITE_READONLY_ROLLBACK extended error code. Do not try to set the permissions on journal or wal files except if the filesize is initially zero (indicating that it is a new file.) (check-in: ce4ac66a4b user: drh tags: trunk)
01:41
Fix an operator precedence problem on the [1d8086902e] check-in. (Closed-Leaf check-in: 4f5f3aebe8 user: drh tags: ex-robust-open)
2013-03-05
16:54
Failed merge experimental branch with trunk. (check-in: 4e6e07a60e user: dan tags: ex-robust-open)
15:27
Do not attempt to set the permissions on an existing journal or wal file. Do this only immediately after creating a new file (or opening one zero bytes in size). (Closed-Leaf check-in: 1d8086902e user: dan tags: experimental)
15:09
Add extended error code SQLITE_READONLY_ROLLBACK. Returned if a read-only connection cannot read the database because doing so would require it to roll back a hot-journal. (check-in: 39247b14a5 user: dan tags: experimental)
11:27
Fix a bug in the recent incremental-vacuum related changes. (check-in: 717863fca6 user: dan tags: trunk)
01:46
Simplified error message on the showdb utility. (check-in: 8e0ced1af7 user: drh tags: trunk)
2013-03-04
17:41
Omit a test that uses the progress handler callback from view.test if OMIT_PROGRESS_HANDLER is defined. (check-in: f40552ada5 user: dan tags: trunk)
16:35
Remove an assert() statement that has been incorrect since the recent incremental-vacuum related changes in [26e235b7a4]. (check-in: 090a47127f user: dan tags: trunk)
2013-03-03
20:26
Add the test_fs.c test module to Makefile.in. Adjust the success criteria on index5-1.3 so that it works under auto_vacuum configurations. (check-in: b457c8870a user: drh tags: trunk)
2013-03-02
03:25
Update comments on the free-page allocator to accurately reflect the latest implementation. Add new asserts to the free-page allocator. (check-in: 9a135e37b6 user: drh tags: trunk)
2013-03-01
23:40
Complete the initialization of the loadable extension thunk table. Also fix other (harmless) compiler warnings. (check-in: 780d06c5e5 user: drh tags: trunk)
23:24
Update the cygwin interface to use the newer 1.7 APIs instead of the 1.5 APIs. Also shorten over-length source code lines in os_win.c. (check-in: 6b2838336a user: drh tags: trunk)
23:13
Prevent Tcl file encoding issues in the tests for the unicode() and char() functions. (check-in: c9c2b82c86 user: mistachkin tags: trunk)
21:01
Fix an overly restrictive assert() in the pager. (check-in: f476eace86 user: drh tags: trunk)
15:02
Fix the handling of UTF16 surrogate pairs in the char() function. (check-in: ff67d87894 user: drh tags: trunk)
01:07
Always use strncmp() rather than memcmp() when comparing strings where one or other string might be less than the length parameter, since optimized versions of memcmp() might read past the first difference and in so doing generate an access violation. (check-in: d73435587b user: drh tags: trunk)
2013-02-26
18:54
In the incrvacuum3 test, add missing call to the Tcl close command. (check-in: cd80672384 user: mistachkin tags: trunk)
12:57
When comparing names during name resolution, make sure the names match exactly and that one name isn't merely a prefix of the other. Fix for ticket [7a31705a7e6c95d51]. (check-in: c2d5a23b1a user: drh tags: trunk)
06:14
Change the way test script incrvacuum3.test copies database files in order to avoid trying to read the (locked) 512 byte 'pending-byte' region. (check-in: fa1842e462 user: dan tags: trunk)
05:44
Prevent Tcl file encoding issues in the tests for the unicode() and char() functions. (Closed-Leaf check-in: d2e7dfca5a user: mistachkin tags: funcTestEncoding)
05:42
Remove extra use of the sqlite3_value_int64() function. (check-in: 6d7973524a user: mistachkin tags: trunk)
2013-02-25
14:39
Add new SQL functions unicode() and char(). (check-in: be24939052 user: drh tags: trunk)
13:55
Strengthen the final test case in index5.test. Also provide additional diagnostic information out the output. (check-in: 47b6418242 user: drh tags: trunk)
13:44
Fix an error in test script index5.test. (check-in: d87e5acf28 user: dan tags: trunk)
13:31
Merge the incr-vacuum-opt branch with the trunk. (check-in: 26e235b7a4 user: dan tags: trunk)
12:06
Add test file incrvacuum3.test. No code changes. (Closed-Leaf check-in: bf57534188 user: dan tags: incr-vacuum-opt)
07:12
Catch a dropped error code in backup.c. (check-in: ac8ca3ecee user: dan tags: incr-vacuum-opt)
2013-02-24
11:50
Fix a case where database corruption may cause an assert() to fail. (check-in: ba33bb059e user: dan tags: incr-vacuum-opt)
2013-02-23
19:43
Fix a case in the incremental vacuum code where database corruption was going unreported. (check-in: 4cd30c7262 user: dan tags: incr-vacuum-opt)
19:11
Fix a cut-and-paste bug causing the library to fail to report database corruption in a few cases. (check-in: f921df5956 user: dan tags: incr-vacuum-opt)
18:58
Enhancements to test scripts. No code changes. (check-in: ccab94c10d user: dan tags: incr-vacuum-opt)
17:49
Fix off-by-one bug in [c3939d2491] uncovered by th3. (check-in: 66f9faa9a9 user: dan tags: incr-vacuum-opt)
16:40
If a rollback mode transaction reduces the size of the database file, avoid actually truncating the file until after the transaction has been committed (but before the db has been unlocked). This means pages that are removed from the database by truncating the file need not be journalled. (check-in: b73847f17b user: dan tags: incr-vacuum-opt)
2013-02-22
20:57
Fix a problem with the previous commit. (check-in: 720a3ceafc user: dan tags: incr-vacuum-opt)
20:16
Avoid moving pages more than once in an incremental vacuum operation. (check-in: c3939d2491 user: dan tags: incr-vacuum-opt)
19:34
Two new SQL functions: unicode() and char(). (Closed-Leaf check-in: 209b21085b user: drh tags: unicode-function)
2013-02-20
00:54
On Minix, disable the ".timer" command in the shell in order to avoid calling getrusage(). (check-in: 9bd9bd9cab user: drh tags: trunk)
2013-02-19
22:26
Enhance the showdb tool with options to show PTRMAP usage and content. (check-in: 06bd91305e user: drh tags: trunk)
20:25
Fix the showdb utility so that it displays the correct secondary usage of a page when reporting on an error of a page being used more than once. (check-in: 4507f0b3d4 user: drh tags: trunk)
18:45
Enhance the pgidx of the showdb utility so that it provides better information even if the sqlite_master table is corrupt. (check-in: d14263a719 user: drh tags: trunk)
18:34
Do not rollback the schema if a parsing error occurs while parsing the schema and writable_schema is set. (check-in: 680d3ab56b user: drh tags: trunk)
18:34
Truncate over-length source lines in sqliteInt.h to 80 characters or less. (check-in: d71abab085 user: drh tags: trunk)
11:51
Add the edit_cost_table= command to the spellfix1 virtual table, permitting the edit distance cost table to be changed at runtime. (check-in: 89d6368250 user: drh tags: trunk)
2013-02-16
02:41
Fix an unsafe VM register deallocation. (check-in: cfba2c8dad user: drh tags: trunk)
2013-02-15
04:21
Check for a NULL handle prior to manually calling winClose. (check-in: 843e1c543a user: mistachkin tags: trunk)
2013-02-14
16:16
Verify that the schema has not changed before running PRAGMA table_info, index_list, index_info, and foreign_key_list. (check-in: 82952d08f3 user: drh tags: trunk)
2013-02-13
22:54
On WinCE, fill in the winFile structure after winceCreateLock has succeeded. (check-in: ec13544ce3 user: mistachkin tags: trunk)
14:04
Add recent API additions to the extension mechanism. (check-in: 7e10a62d0e user: drh tags: trunk)
13:42
Enhancements to the query planner to make use of indices for ORDER BY even when IN constraints are in the WHERE clause. Add extended error codes for all SQLITE_CONSTRAINT errors. (check-in: 7e14dc734d user: drh tags: sessions)
01:00
Allow an index to be used for sorting even if prior terms of the index are constrained by IN operators. (check-in: 2cef8b68f0 user: drh tags: trunk)
2013-02-12
22:20
Improve memory allocation error handling on WinCE. (check-in: cdbca259da user: drh tags: trunk)
22:09
A bug report coming from from Firefox ([https://bugzilla.mozilla.org/show_bug.cgi?id=840377]) describes an infinite recursion. We are unable to reproduce the problem. Nevertheless, this check-in should prevent the problem from ever occurring again. (check-in: b7222a2bd0 user: drh tags: trunk)
09:46
Improve memory allocation error handling on WinCE. (Closed-Leaf check-in: 09dfc0c915 user: mistachkin tags: wince)
2013-02-11
13:47
Add extended error codes for all SQLITE_CONSTRAINT errors. (check-in: 939d828274 user: drh tags: trunk)
2013-02-09
15:37
Rename SQLITE_CONSTRAINT_RAISE to SQLITE_CONSTRAINT_TRIGGER. Put the extended constraint error codes in alphabetical order. Add many test cases for the extended constraint error codes. (Closed-Leaf check-in: 3f67437536 user: drh tags: constraint-error-codes)
13:58
Add extended error codes for constraint errors. (check-in: 5461104668 user: drh tags: constraint-error-codes)
2013-02-08
23:18
Fix a potential NULL-pointer dereference following an OOM error in the query planner logic for virtual tables with OR-connected terms. (Closed-Leaf check-in: 71b6c26053 user: drh tags: IN-with-ORDERBY)
20:39
Make sure the virtual tables that take advantage of IN operators sort the RHS of the IN operator in the correct order according to the ORDER BY clause. (check-in: b016b7546d user: drh tags: IN-with-ORDERBY)
18:48
Loop through the elements on the RHS of an IN operator in reverse order when the ORDER BY clauses specifies DESC. (check-in: f78395c889 user: drh tags: IN-with-ORDERBY)
16:04
Allow the "a=?1 OR a=?2" to "a IN (?1,?2)" transformation to work on virtual tables again. This was formerly restricted because virtual tables could not optimize IN terms. (See check-in [fad88e71cf195e].) But IN terms are now used by virtual tables (as of check-in [3d65c70343]) so the restriction can now be removed. (check-in: a917c1f092 user: drh tags: IN-with-ORDERBY)
2013-02-07
21:15
Allow an index to be used for sorting even if prior terms of the index are constrained by IN operators. (check-in: 98bf668ab1 user: drh tags: IN-with-ORDERBY)
09:33
Fix harmless compiler warnings. (check-in: 4a7b4ee011 user: drh tags: trunk)
05:12
Add the ability to skip defining the localtime() function when being compiled for WinCE. (check-in: e1640876df user: mistachkin tags: trunk)
2013-01-30
01:46
Remove some debugging logic accidently left in the limit.test module. (check-in: 7d346250e8 user: drh tags: trunk)
2013-01-29
23:55
Fix LIMIT and OFFSET so that they work and do not leak memory even on complex queries involving deeply nested views of UNION ALL compounds. Ticket [db4d96798da8]. Secondary to ticket [d58ccbb3f1b7]. (check-in: 497ee36cb8 user: drh tags: trunk)
19:14
New debugging pragmas: PRAGMA vdbe_debug=ON is short-hand for the sql_trace, vdbe_listing, and vdbe_trace pragmas. PRAGMA vdbe_debug enables tracing of sqlite3VdbeAddOp() calls. None of this is active unless compiled with SQLITE_DEBUG. (check-in: ae565ff3e0 user: drh tags: trunk)
2013-01-28
22:52
Fix an issue with the SQLITE_TESTCTRL_EXPLAIN_STMT and compound queries with multiple terms. (check-in: a6499c2521 user: drh tags: trunk)
19:00
Issue an error message and quit (rather than overflowing a reference counter) if the number of references to a table exceeds the maximum due to nested UNION views. Fix for ticket [d58ccbb3f1]. (check-in: c2462a95ed user: drh tags: trunk)
18:18
Cause the command-line shell to issue an error message if you give something that does not look like a boolean value to a dot-command that wants a boolean argument. (check-in: b4d94947fc user: drh tags: trunk)
2013-01-26
19:31
Add a single test case to fts4unicode.test to verify that title-case maps to lower case. (check-in: 955a9459da user: drh tags: trunk)
19:26
Add a single test case to fts4unicode.test to verify that title-case maps to lower case. (Leaf check-in: 46f7c9301e user: drh tags: branch-3.7.15)
2013-01-25
19:11
Fix the test_spellfix.c extension so that it can be made loadable at run-time. Add spellfix to the shell when building using the build-shell.sh script. (check-in: 7813b17d8b user: drh tags: trunk)
18:33
Enhance the command-line shell so that adding a non-zero numeric argument to the ".exit" command causes an immediate exit without cleaning up. This can be used (for example) to cause journal files to be left behind. (check-in: 8ba951d1b7 user: drh tags: trunk)
15:59
Add btree-page decoding logic to showwal.c. Commands of the form: "showwal $FILE 123bmc" show the content of the btree page in frame 123. "b" means decode the btree. "c" means show cell content. "m" means give a map of the btree page. (check-in: 93b159da5d user: drh tags: trunk)
15:31
Further improvements to showwal.c: Reset the checksum after each frame so that only individual checksum failures are shown. And only show failures, not correct checksums. (check-in: 4e2bf57549 user: drh tags: trunk)
15:09
Enhance the "showwal" utility program to show checksum failures on frames. (check-in: a7f6d19816 user: drh tags: trunk)
02:10
Enhancements to the query planner to exploit transitive relationships in the WHERE clause, and other minor changes to bring the sessions branch into alignment with the trunk. (check-in: 82d3d1ae82 user: drh tags: sessions)
2013-01-23
18:53
Improved parsing of the arguments to the ".backup" command in the command-line shell. (check-in: f1127e87b9 user: drh tags: trunk)
18:44
Fix a double-free() call that can occur when SQLITE_ENABLE_TREE_EXPLAIN is defined. (check-in: 5bfb5967d7 user: drh tags: trunk)
2013-01-20
00:18
Fix a typo in a comment in the test_regexp.c test file. (check-in: 68346af70b user: drh tags: trunk)
2013-01-18
03:35
The \xXX escape in the test_regexp.c must be followed by exactly two hex digits. (check-in: 82957495aa user: drh tags: trunk)
2013-01-17
17:20
Enhance the query planner to exploit transitivity of join constraints. (check-in: 38852f158a user: drh tags: trunk)
17:05
Improved error messages on the RTREE virtual table. Make the "fs" virtual table used for testing available on windows. (check-in: c0b90d75a8 user: drh tags: trunk)
16:43
Add the ability to disable transitive constraints using the sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) interface. (Closed-Leaf check-in: 593d67c8b0 user: drh tags: transitive-constraints)
16:18
Avoid unnecessary collating sequence and affinity restrictions on the use of transitivity. Add test cases to show that the restrictions are not needed. (check-in: 56549f4566 user: drh tags: transitive-constraints)
15:05
Make more aggressive use of transitivity in optimizing queries. Add a test case. (check-in: d96762841a user: drh tags: transitive-constraints)
03:18
Enhance RTree virtual table creation error messages that involve the getNodeSize() function. (Closed-Leaf check-in: 652233d646 user: mistachkin tags: rtreeErrMsg)
03:18
Make the 'fs' virtual table module portable to Windows. (Closed-Leaf check-in: dd473cae5b user: mistachkin tags: fsVfsWin)
00:08
Improved comments explaining the operation of the findTerm() utility routine in where.c. Increase the maximum number of levels of transitivity from 4 to 11. (check-in: fe152f8b04 user: drh tags: transitive-constraints)
2013-01-16
20:33
Fix the activate_extensions pragma so that it is a no-op when the required argument is omitted. (check-in: 6195ebd833 user: drh tags: trunk)
17:08
Enhance the query planner to exploit transitivity of join constraints in a multi-way join. (check-in: 13171eb5dc user: drh tags: transitive-constraints)
00:46
Improvements to query planning for joins: Avoid unnecessary calls to "optimal scan" checks in cases where table reordering is not possible. Make sure optimal scan checks are carried out for CROSS JOINs and LEFT JOINs. (check-in: d5ebb78778 user: drh tags: trunk)
2013-01-15
18:49
Fix a missing word in a comment. Enhance the "wheretrace" debugging output to show the estimated cost of each table option while planning the join order. (check-in: ac4e119a87 user: drh tags: trunk)
16:15
Clarification to a comment in where.c. No code changes. (check-in: 04507c1763 user: drh tags: trunk)
2013-01-11
09:58
Add another test for the fts4 content= option. (check-in: 7e6007a000 user: dan tags: trunk)
2013-01-09
15:44
Check in an extra test for the fts4 "content=" option. No code changes. (check-in: 0d0e5ab8f1 user: dan tags: trunk)
14:49
Merge latest trunk changes into the sessions branch, especially the ORDER BY bug fix of 3.7.15.2. (check-in: 34af6fac67 user: drh tags: sessions)
11:53
Version 3.7.15.2 (check-in: c0e09560d2 user: drh tags: version-3.7.15.2, branch-3.7.15)
11:44
Fix an over-aggressive optimization of ORDER BY on a three-way join where the second table is UNIQUE and the ORDER BY occurs on the third table. Ticket [c997b11c4d53a2ee]. (check-in: 3d0609c958 user: drh tags: branch-3.7.15)
11:31
Fix an over-aggressive optimization of ORDER BY on a three-way join where the second table is UNIQUE and the ORDER BY occurs on the third table. Ticket [c997b11c4d53a2]. (check-in: 5774f2175c user: drh tags: trunk)
11:27
Fix the date on the new orderby3.test test case. (check-in: 7249bfc2ca user: drh tags: trunk)
11:25
Add a test case that demonstrates ticket [c997b11c4d53a2ee9983]. (check-in: 598f5f7596 user: drh tags: trunk)
2013-01-08
17:24
Merge updates from trunk. (Closed-Leaf check-in: f29680c468 user: mistachkin tags: configReadOnly)
12:48
Do not raise an error if an unknown SQL function is found in a CHECK constraint while parsing the schema of an existing database. (check-in: cda790280a user: drh tags: trunk)
2013-01-07
17:31
Merge updates from trunk. (check-in: bf90f1fbf8 user: mistachkin tags: configReadOnly)
13:26
Do not raise an error if an unknown SQL function is found in a CHECK constraint while parsing the schema of an existing database. This version causes a run-time error when processing STAT3 tables. (Closed-Leaf check-in: 0a1207c895 user: dan tags: mistake)
2013-01-05
17:17
More bug fixes to the test_regexp.c module. Bring test_regexp.c into alignment with the regexp.c file in the Fossil sources. (check-in: 7695b88fe0 user: drh tags: trunk)
2013-01-04
22:26
Remove superfluous text from a comment. (check-in: e9ac533960 user: mistachkin tags: trunk)
20:45
Do not use umask() since it change the umask for the entire process, not just the thread using SQLite. Make whatever permission changes are needed using fchmod() after the file is created, instead. (check-in: 6c4c2b7dba user: drh tags: trunk)
19:22
Fix an out-of-order local variable declaration in test_regexp.c. (check-in: 8285b15a05 user: drh tags: trunk)
14:06
Fix the zInit[] optimization of test_regexp.c when the initial string contains 3-byte UTF8 characters. (check-in: 357231ec97 user: drh tags: trunk)
2013-01-03
22:22
Merge recent trunk changes into the sessions branch. (check-in: 7e068e39b3 user: drh tags: sessions)
19:34
Bring back test_regexp changes that were made when porting to Fossil. Also fix some bugs that were introduced by the Fossil port. (check-in: 45c158b1a0 user: drh tags: trunk)
18:07
Improvements to column name resolution in queries with parenthesized FROM clauses. Also includes a fix for ticket [beba9cae6345a3]. (check-in: 99127a669c user: drh tags: trunk)
17:34
Further corner-case fixes to the name resolution logic. (Closed-Leaf check-in: 20730bad70 user: drh tags: name-resolution-fix)
16:54
Remove an incorrect assert() statement (ticket [beba9cae6345a]). Fix other minor problems in the name resolution logic. (check-in: afe96a118c user: drh tags: name-resolution-fix)
00:45
Now supports result sets of the form "TABLE.*" with nested FROM clauses. (check-in: 4cf5ed7ea1 user: drh tags: name-resolution-fix)
2013-01-02
14:57
When resolving result-set name collisions, make them x:1, x:2, x:3, etc. instead of x:1, x:1:1, x:1;1;1. (check-in: ef01e30456 user: drh tags: name-resolution-fix)
12:29
Merge all the latest trunk changes into the name-resolution enhancement branch. (check-in: a5f4d2b641 user: drh tags: name-resolution-fix)
2013-01-01
14:01
Reduce the size of the Index object (by 8 bytes on x64). (check-in: 5a2ac94483 user: drh tags: trunk)
13:55
Enhance the table_info pragma so that the pk column shows the order of the columns in a multi-column primary key. (check-in: 3076a89015 user: drh tags: trunk)
2012-12-31
20:16
More test cases for the REGEXP operator. Fix minor bugs uncovered by these test cases. (check-in: a611c75061 user: drh tags: trunk)
19:18
Add the test_regexp.c module containing a cross-platform implementation of the REGEXP operator. (check-in: 46c8c01b75 user: drh tags: trunk)
2012-12-21
16:15
Ensure the database size field in the db header of a backup database is set correctly. Fix for [0cfd98ee201]. (check-in: ff6857b6ed user: dan tags: trunk)
2012-12-20
01:15
Add PRAGMA foreign_key_check. Name the child and parent tables as part of a "foreign key mismatch" error. (check-in: e408dc9080 user: drh tags: trunk)
00:32
Remove an unreachable branch operation from the foreign_key_check pragma. (Closed-Leaf check-in: b5a8f3160b user: drh tags: foreign-key-check)
2012-12-19
20:39
Version 3.7.15.1 (check-in: 6b85b767d0 user: drh tags: release, version-3.7.15.1, branch-3.7.15)
17:10
Backport to the 3.7.15 branch the fix to the segfault problem of ticket [a7b7803e8d1e869] which involved the use of "AS" named result columns as logical terms of the WHERE clause. Also, change the version number to 3.7.15.1. (check-in: bae528f486 user: drh tags: branch-3.7.15)
16:58
Fix the segfault problem of ticket [a7b7803e8d1e869] which involved the use of "AS" named result columns as logical terms of the WHERE clause. (check-in: b3c9e8f812 user: drh tags: trunk)
16:32
A couple more test cases. (Closed-Leaf check-in: 0ae142178d user: drh tags: tkt-a7b7803e)
16:25
Additional test cases involving the use of a result column specified by its "AS" name as a logical term of the WHERE clause. Ticket [a7b7803e8d1e8699cd]. (check-in: d7cc364e87 user: drh tags: tkt-a7b7803e)
15:53
Proposed fix for ticket [a7b7803e8d1e8699cd8a]. (check-in: 3d0e00c731 user: drh tags: tkt-a7b7803e)
13:41
Add commentary to the ExprList object to explain how zSpan is overloaded. Add test cases for the new name resolution functionality. (check-in: 3e7d84db78 user: drh tags: name-resolution-fix)
02:36
Better resolution of table and column names in joins where some of the terms of the FROM clause are parenthesized. (check-in: 7344e791b9 user: drh tags: name-resolution-fix)
2012-12-18
19:36
Optimize the degenerate case of a FROM clause table name enclosed all by itself inside parentheses. Generate code as if the parentheses did not exist, rather than the old behavior of manifesting the parenthesized table into a transient table. Also, tag every FROM-clause SELECT subquery that is generated by a parenthesized FROM-clause expression using the SF_NestedFrom flag. The new SF_NestedFrom flag is not yet used for anything. (check-in: 7fecced466 user: drh tags: trunk)
16:07
Resolve names in FROM-clause subqueries prior to resolving names in the result set expressions of a SELECT statement. (check-in: 9b67c633d9 user: drh tags: trunk)
13:12
Remove old commented-out code from parse.y. Fix some over-length source lines in parse.y. No logical changes. (check-in: 7e30c021ab user: drh tags: trunk)
11:59
On atomic-write capable systems, if copying the contents of an in-memory journal to disk fails, close the (on disk) journal file before returning the error to the caller. This causes the subsequent rollback operation to use the in-memory journal. Fix for [df678d738adb]. (check-in: 8183d8d7ae user: dan tags: trunk)
2012-12-17
22:32
Added test cases for PRAGMA foreign_key_check. Fixed a bug that appears when the column order of the child and parent differ. (check-in: 25411f83f9 user: drh tags: foreign-key-check)
20:57
Add to the foreign_key_check pragma an extra output column "parent" that contains the name of the parent table for the constraint that failed. (check-in: 97f7f73772 user: drh tags: foreign-key-check)
20:40
Enhance the error message for "foreign key mismatch" to include the names of the child and parent tables. Begin adding test cases for PRAGMA foreign_key_check. Make sure PRAGMA foreign_key_check gets all necessary table locks. (check-in: 0f9963526c user: drh tags: foreign-key-check)
18:43
"PRAGMA foreign_key_check" with no argument checks the foreign keys on all tables. (check-in: 57d47423a6 user: drh tags: foreign-key-check)
18:05
Fix an issue with child keys that are not INTEGER PRIMARY KEY referencing INTEGER PRIMARY KEY in the parent. (check-in: 603b695bf0 user: drh tags: foreign-key-check)
16:46
Prototype for PRAGMA that checks all foreign key constraints on a table. (check-in: 01c980e9bb user: drh tags: foreign-key-check)
2012-12-14
17:54
Optimize IN operators in the WHERE clause of queries using virtual tables. (check-in: 3d65c70343 user: drh tags: trunk)
17:48
Remove an unreachable branch. Improvements to comments. (Closed-Leaf check-in: d2fb7619b0 user: drh tags: vtab-IN-opt)
15:54
Merge in all the trunk changes that have occurred since this branch was opened. (check-in: 6d507e4de9 user: drh tags: vtab-IN-opt)
15:36
Fix the virtual table IN optimizer so that it work even if the virtual table implementation leaves the sqlite3_index_info.aConstraintUsage[].omit flag clear for an equality constraint that it intends to use. (check-in: d6e045f89c user: drh tags: vtab-IN-opt)
2012-12-13
18:57
Generalize the min/max optimization so that if an appropriate index exists, the index it can be used by any aggregate query that contains only a single max() or min() and does not contain a GROUP BY clause. (check-in: 52e755943f user: drh tags: trunk)
18:51
Increase the version number to 3.7.16 in advance of adding new features for the next release. (check-in: 8bcf5f51d8 user: drh tags: trunk)
16:37
Attempt to further generalize the min/max optimization so that, if an appropriate index exists, it can be used by any aggregate query that contains only a single aggregate of the form max(colname) or min(colname) and does not contain a GROUP BY clause. (Closed-Leaf check-in: 7280e14cd8 user: dan tags: minmax-opt)
2012-12-12
14:30
Allow the error message from "PRAGMA integrity_check" to be longer than 20,000 bytes. (check-in: 120c82d56e user: drh tags: trunk)
13:36
Version 3.7.15 (check-in: cd0b37c526 user: dan tags: trunk, release, version-3.7.15)
2012-12-11
19:40
Update requirements marks and test cases for multi-VALUE INSERT and to fix typos in requirements text. (check-in: 81d9ee0f0d user: drh tags: trunk)
19:10
Fix a typo in a comment that is used to generate documentation. No changes to code. (check-in: e38adb60a7 user: drh tags: trunk)
2012-12-10
22:19
When an arithmetic operation with two integer operands must give a floating-point answer due to overflow, make sure the answer is not rounded back to integer by affinity. (check-in: bd7aeeb691 user: drh tags: trunk)
10:22
Modify releasetest.tcl so that it runs the "checksymbols" test on a build without SQLITE_DEBUG defined. If SQLITE_DEBUG is defined, the sqlite3WhereTrace variable causes the test to fail. (check-in: 75e545a9e2 user: dan tags: trunk)
09:08
Remove a reference to JumpOnce from a comment in vdbe.c. No code changes. (check-in: ee662c039d user: dan tags: trunk)
2012-12-08
23:37
Pull the latest trunk changes into the sessions branch, and in particular the collating-sequence refactorization. (check-in: 4f6d69ae94 user: drh tags: sessions)
22:14
Factor some work out of the index loop of the bestBtreeIndex() routine for a small performance increase. (check-in: 92c9ab56b1 user: drh tags: trunk)
21:51
Refactor collating-sequence handling as a fix for ticket [71e333e7d2e642]. The Expr.pColl field is removed from the Expr object. The COLLATE operator now becomes a separate instance of Expr in the expression tree. The code generator looks up the correct collating function as needed, rather than referring to Expr.pColl. (check-in: 8542e6180d user: drh tags: trunk)
21:36
Adjustments to the collating-sequence refactoring to facilitate full-coverage testing and to fix some minor issues found by TH3. (Closed-Leaf check-in: cdbfa66483 user: drh tags: ticket-71e333e7)
14:16
Make sure WHERE clause constraints A=B and B=A work the same even with COLLATE clauses. (check-in: b3f5366811 user: drh tags: ticket-71e333e7)
13:26
Fix the header comment on the OP_Compare operator. (check-in: 2722f4074f user: drh tags: ticket-71e333e7)
06:46
Merge updates from trunk. (check-in: e65db42c9f user: mistachkin tags: configReadOnly)
04:10
Duplicating check constraint expressions prior to code generation is no longer required, and so it is removed. (check-in: 1a9db8dc2f user: drh tags: ticket-71e333e7)
03:34
Veryquick passes all tests now. (check-in: 7b96115e81 user: drh tags: ticket-71e333e7)
00:52
Recognize TK_COLLATE operators that have been transformed into TK_REGISTER. Skip both TK_COLLATE and TK_AS operators when looking for the top of an expression. (check-in: f66c1db296 user: drh tags: ticket-71e333e7)
2012-12-07
23:23
Improved error messages when column integers in an ORDER BY clause are out of range. (check-in: bd960d937f user: drh tags: ticket-71e333e7)
23:10
For an ORDER BY on a compound SELECT, take the collating sequence from the left-most term of the compound. (check-in: 8e724b383d user: drh tags: ticket-71e333e7)
22:54
Do not report missing collating functions while parsing the schema. Also remove a stray comment. (check-in: e313edca04 user: drh tags: ticket-71e333e7)
22:18
Fix a long-standing issue with the distinct-as-aggregate optimization that only expressed when the new collating-sequence logic is turned on. (check-in: 0aaf52a339 user: drh tags: ticket-71e333e7)
21:02
Fix the processing of ORDER BY clauses with COLLATE terms on compound queries. 52 veryquick test failures remain. (check-in: 49654453ad user: drh tags: ticket-71e333e7)
20:31
Many more tests are passing. Only about 100 failures remain in veryquick. (check-in: f9fa7581c0 user: drh tags: ticket-71e333e7)
19:28
Ensure the VerifyCookie sub-routine has been run before the database is accessed in an obscure case. Fix for ticket [d6b36be38]. (check-in: 2d5f37c99a user: dan tags: trunk)
18:38
Some errors in veryquick resolved. Many more to go. (check-in: 972443b4eb user: drh tags: ticket-71e333e7)
14:02
Veryquick now runs to completion without segfaulting or asserting. But there are still lots of errors. (check-in: 7fafab12e4 user: drh tags: ticket-71e333e7)
10:55
Do not run test file malloc3.test as part of the inmemory_journal permutation. Explanation is in a comment at the top of malloc3.test. (check-in: df1827b19e user: dan tags: trunk)
09:08
Spelling and header fixes for the async extension. (check-in: 930ba85262 user: mistachkin tags: trunk)
2012-12-06
23:16
In the async VFS, treat the new error code SQLITE_IOERR_DELETE_NOENT as success for xDelete. (check-in: c507ca4a8e user: mistachkin tags: trunk)
21:16
Remove the Expr.pColl field and compute the collating sequence as it is needed. This fixes the test script "shared9.test", though there is still a memory leak. And there are other problems. Consider this a work-in-progress. (check-in: fd011cb22f user: drh tags: ticket-71e333e7)
19:41
Merge the constant-refactoring-in-triggers branch with the trunk. (check-in: 79ef8e3c77 user: dan tags: trunk)
19:37
Apply the same restrictions on constant refactoring to statements within a trigger program as top-level statements. Candidate fix for [ae3c5670b6]. (Closed-Leaf check-in: 0c31a46801 user: dan tags: constant-refactoring-in-triggers)
19:01
Add the SQLITE_FCNTL_TEMPFILENAME file control that asks the underlying VFS to return a new temporary filename. Per request from NSS team at Mozilla. (check-in: 1a63b1d5fa user: drh tags: trunk)
15:15
Add a test case that demonstrates ticket [71e333e7d2e642]. (check-in: cc6e0785df user: drh tags: ticket-71e333e7)
04:33
For the sqlite3-all.c target, use backslashes when calling the splitter script via the MSVC makefile. (check-in: d507648d82 user: mistachkin tags: trunk)
04:19
Bring the ancient malloc3.test file closer into relevance with the latest core code. (check-in: 9793a21c13 user: mistachkin tags: trunk)
02:56
Stop using the TCL_LIBS configuration variable when linking with Tcl. Remove superfluous 'rm' command from the "clean" target. (check-in: 1551277208 user: drh tags: trunk)
01:03
Remove obsolete comments from the definition of the CollSeq object. (check-in: 7b6951016f user: drh tags: trunk)
00:16
Stop using the TCL_LIBS configuration variable when linking with Tcl. Remove superfluous 'rm' command. (Closed-Leaf check-in: e1feab9834 user: mistachkin tags: noTclLibs)
2012-12-05
19:04
Disable a couple of tests in where.test when running the "no_optimization" permutation. (check-in: 5e961e37c5 user: dan tags: trunk)
16:44
Modify a query in test/thread001.test to ensure that results are returned in the order expected by the test. (check-in: 51cbddd51d user: dan tags: trunk)
14:37
Fixes to a test case in shared_err.test. The fix is to prevent sqlite3_prepare() from being called when the test intends to test the response of sqlite3_step() to an OOM condition. (check-in: 40c143955e user: dan tags: trunk)
14:31
Make sure memory is freed using a routine that is compatible with the routine used to allocate the memory. The SQLITE_MEMDEBUG compile-time option enforces this. (check-in: 9f6c68856b user: drh tags: trunk)
11:30
Since errors are ignored anyway, use sqlite3OsFileControlHint() instead of OsFileControl() to invoke the SQLITE_FCNTL_BUSY_HANDLER file-control. (check-in: bdceca2738 user: dan tags: trunk)
10:01
If the atomic-write property is enabled, a transaction may be committed in journal_mode=DELETE mode without ever actually creating a journal file on disk. In this case, do not attempt to unlink() the journal file when committing the transaction. (check-in: 11aa47b0a8 user: dan tags: trunk)
09:12
Update a couple of test scripts so that they work in auto-vacuum mode. (check-in: 04ab2dc691 user: dan tags: trunk)
2012-12-04
11:03
Fix a harmless compiler warning. (check-in: 12693deba9 user: drh tags: trunk)
05:24
Add a test to ensure that the fix in [b0c1ba655d] has worked. (check-in: 41806de5c8 user: dan tags: trunk)
05:21
Add a test to ensure that the fix in [b0c1ba655d] has worked. (Closed-Leaf check-in: 59c233942e user: dan tags: mistake)
00:59
Improvements to the 'tcl' shell output mode. Escape doublequotes, set separator to space when mode is set, and skip separator after final column. (check-in: 487ba75313 user: drh tags: trunk)
00:53
Fix an uninitialized variable detected by valgrind. (check-in: ffd1e51490 user: drh tags: trunk)
00:37
Fix an out-of-order function declaration when compiled with MEMDEBUG. (check-in: 6d31557837 user: mistachkin tags: trunk)
00:23
Improvements to the 'tcl' shell output mode. Escape double quotes, set separator to space when mode is set, and skip separator after final column. (Closed-Leaf check-in: 41fd9dd290 user: mistachkin tags: tclMode)
2012-12-03
19:42
Remove an unreachable condition. Replace it with an assert(). (check-in: 7d5fc1a339 user: drh tags: trunk)
17:04
Make sure that the optimization that set the maximum column that will be used on a particular query does not mistakenly change an opcode other than OP_OpenRead or OP_OpenWrite. In particular, make sure it does not overwrite the P4 field of an OP_SorterOpen. (check-in: b0c1ba655d user: drh tags: trunk)
2012-12-01
20:21
Do not exit the command-line shell if a ".read" command invokes a script that contains two errors. But reported on the mailing list. (check-in: 2e5e651527 user: drh tags: trunk)
2012-11-29
14:26
Mark the "async" module as deprecated as its functionality has been superceded by WAL mode. This closes ticket [f46ca03b55ae0e] (check-in: 3d548db7eb user: drh tags: trunk)
2012-11-27
21:56
Update the sessions branch to include the SQLLOG enhancement, the SQLITE_IOERR_DELETE_NOENT fix, and a fix for the number-of-documents bug in FTS4. (check-in: ba8d08b670 user: drh tags: sessions)
21:22
Add the SQLLOG capability to trunk. (check-in: f0843f885a user: drh tags: trunk)
21:12
Improved detection of file-does-not-exist in winDelete. (check-in: 92e9b5bc05 user: drh tags: trunk)
16:39
Get SQLLOG working on windows. Fix a couple of compiler warnings. (Closed-Leaf check-in: b3809c937b user: drh tags: sqllog)
15:56
Fix a problem causing the "number-of-documents" field maintained by FTS4 to be set incorrectly by REPLACE queries. (check-in: e38fb02d5e user: dan tags: trunk)
10:56
Fix problems in test_sqllog.c. Clarify the experimental SQLITE_CONFIG_SQLLOG interface. Handle at least the more likely error conditions in test_sqllog.c. (check-in: 429c5b2056 user: dan tags: sqllog)
2012-11-26
19:50
Add an option to register global hooks used for logging all SQL executed by an application. (check-in: cd501bbccf user: dan tags: sqllog)
2012-11-21
02:10
In winDelete, determine that a file does not exist by checking for a last error of ERROR_FILE_NOT_FOUND or ERROR_PATH_NOT_FOUND. (Closed-Leaf check-in: 692ad3c02b user: mistachkin tags: winNotFound)
2012-11-20
15:06
Have the windows implementation of xDelete return SQLITE_IOERR_DELETE_NOENT if the file to be deleted does not exist. The unix implementation was previously modified to behave this way. The current changes simply brings the two implementations into alignment. (check-in: d4c36d4991 user: drh tags: trunk)
2012-11-13
11:16
Strive to use posix_fallocate() rather than ftruncate() when posix_fallocate() is available. Ticket [5eaa61ea18]. (check-in: 29980b08ec user: drh tags: trunk)
11:08
Use preprocessor macros to automatically detect whether or not posix_allocate() is available. (It is generally available on Linux but not on Mac.) Ticket [5eaa61ea1881040b17449ca043b6f8fd9ca55dc3] (Closed-Leaf check-in: 597333f102 user: drh tags: tkt-5eaa61ea18)
10:54
When available, use posix_fallocate() rather than ftruncate() to allocate space for mmap()ed -shm files, since posix_fallocate() gives an error if no disk space is available whereas ftruncate() is silent and leaves the system vulnerable to a SIGBUS upon first write to the mmap()ed region. Ticket [5eaa61ea1881040b17449ca043b6f8fd9ca55dc3] (check-in: 356259617c user: drh tags: tkt-5eaa61ea18)
2012-11-10
01:27
Merge the latest changes from trunk: chiefly the outer/inner loop query optimizer scoring enhancement and the INSTR() function. (check-in: 2993ca2020 user: drh tags: sessions)
2012-11-09
21:40
Only log unlink() errors if the error is something other than SQLITE_IOERR_DELETE_NOENT. The error is still reported up the stack, it is simply not added to the sqlite3_log(). (check-in: 5a3b07f0f5 user: drh tags: trunk)
20:17
Change os_unix.c to propagate ENOENT errors back to sqlite as SQLITE_IOERR_DELETE_NOENT. Have SQLite ignore these where they are benign and propagate them back to the caller where they may indicate a file-system malfunction of some description. (check-in: bed9c172ce user: dan tags: trunk)
18:32
Take into account the cost of inner loops when selecting which table of a join to use for the next outer loop. (check-in: 3f87f4593b user: drh tags: trunk)
18:22
Disable the table selection rule that tried to prevent full table scans from migrating to the outer loop unless they were optimal. The new scaling of outer-loop costs by cost of inner loops obviates the need for that step. And, in fact, that step causes problems with the new inner-loop cost accounting. (Closed-Leaf check-in: 51bfd63b7f user: drh tags: inner-loop-cost)
17:59
Try to take into account the cost of inner loops when selecting which table of a join to use for the outer loop. (check-in: 942556342a user: drh tags: inner-loop-cost)
2012-11-06
20:39
Adjust the SQLITE_DBSTATUS_STMT_USED calculation to take the modified usage of sqlite3VdbeClearObject() into account. (check-in: 82eb7eadb8 user: mistachkin tags: trunk)
18:41
In test_quota.c, provide a work-around for the missing _chsize_s() function in mingw. (check-in: 6b4979e86c user: drh tags: trunk)
2012-11-05
13:51
Add the INSTR() SQL function. (check-in: a4c181cbcf user: drh tags: trunk)
2012-11-02
23:42
Merge the fix for ticket [bfbf38e5e9956ac6] into trunk. (check-in: 4f7dfc32aa user: drh tags: trunk)
19:08
Adding test cases for ticket [bfbf38e5e9956a] (Closed-Leaf check-in: 62ebfa7476 user: drh tags: ticket-bfbf38e5e9)
18:48
Proposed fix for ticket [bfbf38e5e9]. (check-in: 18ae030dad user: drh tags: ticket-bfbf38e5e9)
18:24
Fix an out-of-date comment. No changes to code. (check-in: 10cc12b16b user: drh tags: trunk)
2012-10-30
21:03
Pull all the latest trunk enhancements into the sessions branch. (check-in: fce667f2d9 user: drh tags: sessions)
18:09
Enable the use of coroutines as an alternative to manifesting views used in a FROM clause. (check-in: 9dca18f5fe user: drh tags: trunk)
15:31
Make sure that the optimizer never tries to create an automatic index on a coroutine subquery. (Closed-Leaf check-in: f83aa0de84 user: drh tags: subquery-as-coroutine)
14:44
Fix a typo in the header comment for the OpenPseudo opcode. (check-in: 4f1061230e user: drh tags: subquery-as-coroutine)
14:39
Make it possible to disable the subquery-by-coroutine optimization using sqlite3_test_control(). Remove an always-false conditional. (check-in: 564631f3e4 user: drh tags: subquery-as-coroutine)
00:29
Add an optimization that attempts to run a subquery as a coroutine rather than manifesting it into a temporary table. (check-in: 7af3acbbd4 user: drh tags: subquery-as-coroutine)
2012-10-29
14:27
Make the multiplexor and the IntArray extensions callable from C++. (check-in: cbd8fddf3b user: drh tags: trunk)
2012-10-28
19:35
Merge VSIX tooling and packaging enhancements to trunk. (check-in: 99f27d642f user: mistachkin tags: trunk)
2012-10-26
19:22
Fix a 32-bit integer overflow problem that could cause an error in a CREATE INDEX statement that writes more than 16GB of data. (check-in: e24ba5bee4 user: dan tags: trunk)
18:40
Make sure the automatic index optimization is checked even if the covering index scan optimization was previously selected. (check-in: ac1d5d8a55 user: drh tags: trunk)
13:46
Add QNX-specific performance tweaks to the unix VFS. (Cherry-pick merge of [b02849e7bde458].) (check-in: 63a7dd75e6 user: drh tags: trunk)
00:55
Make sure all virtual table cursors have been closed on a prepared statement prior to unlinking the perpared statement from its database connection. The test case for this is in TH3, in the main39.test module. (check-in: 6d42d806ad user: drh tags: trunk)
00:11
Make sure all virtual table cursors have been closed on a prepared statement prior to unlinking the perpared statement from its database connection. (Closed-Leaf check-in: f7c5abe873 user: drh tags: deferred-close-order)
2012-10-25
23:47
Further work on getting ssdsim to run. This is an incremental checkin to save my place while jumping off to work on other things. (Leaf check-in: ae2f1627b1 user: drh tags: ssdsim)
19:25
Fix a bug in fts3 causing it to return SQLITE_NOMEM when NEAR, OR and some auxiliary functions were used together. Also a segfault in vtab.c that could follow an OOM condition. (check-in: 33f4f9817e user: dan tags: trunk)
15:43
Fix typo in usage text for the command-line shell. Also, in the same usage text, make the file name argument to -init uppercase for consistency. (check-in: a6d906cfeb user: mistachkin tags: trunk)
15:32
Merge the command-line shell enhancements from trunk. Other edits toward trying to get ssdsim to run. (check-in: 848f87e22f user: drh tags: ssdsim)
15:23
Improvements to the command-line argument parsing in the command-line shell. Command-line options can now occur either before or after the database name and first command and are still accepted and processed. Command-line options are processed even if no database name is given (and :memory: is assumed). (check-in: 317c80cba3 user: drh tags: trunk)
03:07
Implementation of the INSTR() SQL function, as found in SQL Server, MySQL, and Oracle. (Closed-Leaf check-in: 49ccae964f user: drh tags: instr)
01:50
Initial check-in of a test VFS designed to simulate a NAND-flash SSD for the purpose of measuring and subsequently minimizing write amplification caused by SQLite. The code in this check-in compiles but does not run. (check-in: 9e6efcf054 user: drh tags: ssdsim)
2012-10-24
00:47
Translate the Debug/Release project configurations to the Debug/Retail VSIX package configurations. (Closed-Leaf check-in: 5023a7adca user: mistachkin tags: vsixFlavor)
2012-10-20
09:35
Modify clean target to handle all VSIX package flavors. (check-in: 023217ea9e user: mistachkin tags: vsixFlavor)
08:40
Modify VSIX build tools in support of an additional package flavor. (check-in: 702ebc646b user: mistachkin tags: vsixFlavor)
2012-10-19
02:10
Make sure substructure elements have proper alignment in the ICU tokenizers of FTS2 and FTS3. (check-in: aaa2d9b0db user: drh tags: trunk)
00:23
Add detailed comments to the build tools used to generate the VSIX package. Also, allow the build configurations and native library directories to be overridden for the multi-platform build tool for MSVC. (check-in: 0482c73bfd user: mistachkin tags: trunk)
2012-10-18
20:49
Put auxiliary libraries after libsqlite3.a in the testfixture target of the "main.mk" makefile. (check-in: 8fc8548f52 user: drh tags: trunk)
15:01
Merge Watcom compiler warning fixes into trunk. (check-in: 5be96788a1 user: drh tags: trunk)
10:35
More warning fixes. (Closed-Leaf check-in: 51a6a797e1 user: mistachkin tags: warnings)
09:39
Fix harmless compiler warnings. (check-in: 018e09c703 user: mistachkin tags: warnings)
2012-10-17
20:28
Add a comment to fts3_snippet.c. (check-in: b5f5ba3103 user: dan tags: trunk)
20:15
Initialize variables used as outputs of custom tokenizer method calls in fts4. (check-in: 514505a84b user: dan tags: trunk)
16:20
Add a test for the problem fixed by [bf44d73d3e]. (check-in: db9b1fa597 user: dan tags: trunk)
15:28
Change the way the tcl crash-test code works to avoid triggering an assert() in os_unix.c. (check-in: b8b7b8f9e9 user: dan tags: trunk)
13:15
Remove an incorrect "#ifndef SQLITE_OMIT_AUTOVACUUM" from pager. (check-in: bf44d73d3e user: drh tags: trunk)
2012-10-16
23:17
Enable optimization of IN operators on constraints to virtual tables. (check-in: aa650746b1 user: drh tags: vtab-IN-opt)
23:08
Merge updates from trunk. (check-in: f021559d8a user: mistachkin tags: configReadOnly)
21:08
An optimization that converts "a IN (b)" into "a==b". Seems to work, but needs additional test cases. (Leaf check-in: 8b4c3c5e50 user: drh tags: degenerate_IN)
2012-10-15
20:28
Correct comments and enhance readability of the mkvsix tool. (check-in: 2c3af657fe user: mistachkin tags: trunk)
18:02
Hold the mutex on the shared-cache for the duration of a VACUUM operation. (check-in: 629a42d47a user: dan tags: trunk)
16:24
Dequote column names generated by the query flattener. (check-in: 5526e0aa3c user: drh tags: trunk)
14:25
Merge all the latest core changes into the sessions branch. (check-in: 76767d651f user: drh tags: sessions)
11:28
Fix a failing assert() in wal.c. (check-in: 8745530b9a user: dan tags: trunk)
2012-10-13
23:16
Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients. (check-in: ca86138bda user: drh tags: trunk)
20:55
Mark an always-true conditional as such. (Closed-Leaf check-in: ae025cae22 user: drh tags: zero-byte-backup-fix)
20:20
Modify backup4 test name prefix to make the resulting test names unique. (check-in: 637fb1c1b7 user: mistachkin tags: zero-byte-backup-fix)
19:58
Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients. (check-in: af5c9ee4a4 user: dan tags: zero-byte-backup-fix)
09:31
Allow the showdb tool to be compiled with MSVC. (check-in: dce391fc63 user: mistachkin tags: trunk)
2012-10-12
18:06
Tooling support for including the debug build in the VSIX package. (check-in: de784399ed user: mistachkin tags: trunk)
2012-10-10
13:59
Fix duplicate test name in whereD.test. (check-in: 1182b54af0 user: mistachkin tags: trunk)
12:14
Define the sqlite3PagerWalFramesize() function even if SQLITE_OMIT_WAL is used. (check-in: 96247853ef user: drh tags: trunk)
10:52
Add support for URI filenames in sqlite3_analyzer. (check-in: 6dc987d32b user: drh tags: trunk)
09:46
Move a couple of WAL-related function declarations in sqliteInt.h and pager.h into "#ifndef SQLITE_OMIT_WAL" blocks. Otherwise, the amalgamation fails to build using some compilers with SQLITE_OMIT_WAL (static function declared but not defined). (check-in: f7437153b9 user: dan tags: trunk)
2012-10-09
21:07
Merge the fix for ticket [d02e1406a58ea02] into trunk. (check-in: dd34bec389 user: drh tags: trunk)
18:51
Attempt to suppress warnings generated by Coverity. (check-in: 7b1a6e6cb5 user: drh tags: trunk)
14:58
Merge the latest trunk changes, especially the ORDER BY optimizer enhancements but also other fixes, onto the sessions branch. (check-in: f1fbb8c5bf user: drh tags: sessions)
14:36
Avoid an assertion fault and/or freeing memory while it is still in use when an error occurs during virtual table construction. (check-in: a02599ad85 user: drh tags: trunk)
09:26
Bring some comments up to date in the query planner, and especially the ORDER BY optimizer. Also add testcase() macros. (check-in: bb5c0f1c92 user: drh tags: trunk)
01:39
Remove an unused variable. Fix code that occurs before a variable declaration. (check-in: 01dc032b5b user: drh tags: trunk)
01:23
Replace an always-false conditional with an assert(). (check-in: 981b9943e4 user: drh tags: trunk)
2012-10-08
23:25
Changes to facilitate full test coverage. (check-in: 28d1eb40bf user: drh tags: trunk)
21:51
Merge ORDER BY optimization refactoring and repair into trunk. (check-in: c027a9af91 user: drh tags: trunk)
21:01
All test cases (veryquick.tcl and min.rc) pass. A few branch operations in ORDER BY optimization logic are untested by min.rc. (Closed-Leaf check-in: 8314fd6078 user: drh tags: qp-enhancements)
20:27
Further tweaks to the ORDER BY optimizer, to fix a bug and to get the optimizer to recognize some additional cases. (check-in: bcb4f26247 user: drh tags: qp-enhancements)
19:41
Bug fixes in the ORDER BY optimizer. (check-in: 301bbee404 user: drh tags: qp-enhancements)
18:23
Continued refactoring of the ORDER BY optimization logic. This check-in is close to working, but it still has issues. A few test cases fail. (check-in: adbdc663f3 user: drh tags: qp-enhancements)
14:36
Manually define the Win32 file-mapping APIs for WAL if SQLITE_WIN32_FILEMAPPING_API is defined. (check-in: 1c2c0a2880 user: mistachkin tags: trunk)
2012-10-07
14:14
Merge updates from trunk. (check-in: bbb0d189b7 user: mistachkin tags: configReadOnly)
05:34
Corrections to test names to eliminate duplicates and follow naming conventions. (check-in: 50679889c7 user: mistachkin tags: trunk)
00:52
Manually define the Win32 file-mapping APIs for WAL if SQLITE_WIN32_FILEMAPPING_API is defined. (Closed-Leaf check-in: 585e2070ee user: mistachkin tags: winFileMapping)
2012-10-06
03:48
Changes for WinRT compatibility. Also, allow version resource compilation and embedding to be disabled at compile-time. (check-in: 4b0facc13b user: mistachkin tags: trunk)
2012-10-05
19:43
Fix a problem in shared-cache mode where a COMMIT statement might cause a busy-handler belonging to a shared-cache connection other than the current writer to be invoked. (check-in: e0c889d66c user: dan tags: trunk)
17:44
Merge the shared-cache related fixes from the shared-cache-fix branch to the trunk. (check-in: 698ec7769d user: dan tags: trunk)
17:18
Add a test for the collation-sequence/CHECK constraint problem fixed by the previous commit. (Closed-Leaf check-in: 82b6aa77c8 user: dan tags: shared-cache-fix)
16:30
Fix a problem with shared-cache mode and CHECK constraints causing one db handle to invoke a collation sequence function registered with another. (check-in: c2c776ab73 user: dan tags: shared-cache-fix)
14:43
Consolidate all occurrences of the "no such collation sequence" error message into a single spot. (check-in: 8ea67522fb user: drh tags: trunk)
07:36
Rename a tool batch file subroutine to avoid confusion about its purpose. (check-in: 43155b1543 user: mistachkin tags: trunk)
2012-10-04
19:33
Shared-cache mode fixes for views and virtual tables. (check-in: 2b370dea70 user: dan tags: shared-cache-fix)
12:10
Yet another refactoring of ORDER BY logic in the query planner. This particular check-in works mostly, but still has a few minor issues. (check-in: 8f4487450b user: drh tags: qp-enhancements)
2012-10-03
20:25
Merge updates from trunk. (check-in: 1138815c62 user: mistachkin tags: configReadOnly)
20:20
Add experimental sqlite3_reconfig() interface to more fully support the SQLITE_CONFIG_READONLY option. (check-in: 9dc2eaa64b user: mistachkin tags: configReadOnly)
18:09
Fix an out-of-order memset() that occurs before all variable declarations are finished. Also fix a line that exceeds the 80-character line length limit. (check-in: ba2f492f95 user: drh tags: trunk)
12:56
Update the query planner to recognize more cases where ORDER BY clauses can be optimized out. Add test cases to verify correct behavior of the ORDER BY optimization when the covering-index-scan optimization is disabled. Fix a harmless compiler warning in the TCL interface. (check-in: 956e4d7f89 user: drh tags: trunk)
12:38
Fix a query planner problem that only occurs when covering-index-scan is disabled. Fix to tests whose output changed due to the new and more aggressive ORDER BY optimization. (Closed-Leaf check-in: 0f9bb90100 user: drh tags: qp-enhancements)
11:02
Fix the TCL interface so that SQL functions implemented in TCL honor the "nullvalue" setting. Also remove from the TCL interface some unused legacy UTF8 translation code left over from SQLite2. (check-in: c1f10a2643 user: drh tags: trunk)
00:25
Further attempts to optimize out unnecessary ORDER BY clauses. (check-in: 6744d9a37f user: drh tags: qp-enhancements)
2012-10-02
22:54
Work around an optimization issue with the MSVC compiler for ARM. (check-in: 7d301fdfee user: mistachkin tags: trunk)
15:19
More lenient handling of ORDER BY optimization in joins with mixed ASC/DESC. This is a better and less restrictive fix for the problem addressed by the previous check-in. (check-in: abcf6a5d05 user: drh tags: trunk)
14:11
Only continue an ORDER BY optimization into inner loops if the equality constraints on the inner loop match terms of an outer ordered index that are actually used by the ORDER BY clause. (check-in: b0e7b4df6c user: drh tags: trunk)
01:46
Factor an invariant out the loop termination condition for the ORDER BY satisfied-by-index analyzer routine. (check-in: 545bb33688 user: drh tags: trunk)
01:25
Make sure the outer loop cursor numbers are recorded in time for them to be used by the ORDER BY optimizer. (check-in: 351dc8d9ca user: drh tags: trunk)
01:10
Improvements to the wheretrace output. (check-in: 76b2776556 user: drh tags: trunk)
2012-10-01
20:32
Fix harmless compiler warnings. (check-in: 59c2be75ff user: drh tags: trunk)
20:12
Fix several compiler warnings seen with MSVC. (Closed-Leaf check-in: 8b5f617c2a user: mistachkin tags: msvcWarnings)
18:44
Add SQLITE_FCNTL_BUSYHANDLER. Invoked to provide access to the busy-handler callback to custom VFS implementations. (check-in: 1262d2f471 user: dan tags: trunk)
17:44
Minor changes to the query planner for improved test coverage. (check-in: c12044df32 user: drh tags: trunk)
12:44
Omit the sqlite3GetReservedNoMutex() routine in build configurations where it is not used. (check-in: f193dbb6b9 user: drh tags: trunk)
12:16
Make sure the size parameter to read and write VFS methods in the unix VFS do not become too big or go negative. This was not actually possible in the current code. The checks are added to make sure some future bug does not make it possible. (check-in: daebe3bd2d user: drh tags: trunk)
06:50
Ensure that the value returned by xSectorSize() is reasonable (currently defined as between 2^5 and 2^16 bytes) before using it to calculate the amount of padding to add to a wal file. (check-in: 6b4ff83bff user: dan tags: trunk)
2012-09-29
19:10
Improved ORDER BY optimization when outer loops of a join return a single row. (check-in: 62225b4a4c user: drh tags: trunk)
15:45
Disable the bigfile tests on Macs. (check-in: d869eddaf2 user: drh tags: trunk)
14:45
Fix compiler warnings found on Lion. (check-in: fd74d3d917 user: drh tags: trunk)
2012-09-28
20:23
Avoid calling sqlite3BtreeEnter() in a corner case where the corresponding database handle mutex (sqlite3.mutex) may not be held. This prevents a potential deadlock or crash that can occur if the backup API, shared-cache mode and SQLITE_HAVE_CODEC are all in use. (check-in: 89b8c377a6 user: dan tags: trunk)
18:13
Modify the clearCell function to use SQLITE_CORRUPT_BKPT in the one place it was not. (check-in: 472beb306a user: mistachkin tags: trunk)
13:05
Merge the latest trunk changes (especially "PRAGMA busy_timeout" and the ORDER BY query planner optimizations) into the sessions branch. (check-in: 6ca8eae1f8 user: drh tags: sessions)
10:57
Merge the latest trunk changes (PRAGMA busy_timeout and the ORDER BY query planner enhancements) into the apple-osx branch. (check-in: 6a5c59dd7e user: drh tags: apple-osx)
00:44
Query planner enhancements to be more agressive about optimizing out ORDER BY clauses - in particular the query planner now has the ability to omit ORDER BY clauses that span multiple tables in a join. (check-in: 1e874629d7 user: drh tags: trunk)
2012-09-27
23:27
Fix some corner case behavior in the new ORDER BY optimization logic. Remove the SQLITE_OrderByIdx bit from the SQLITE_TESTCTRL_OPTIMIZATIONS mask, since enabling it caused many TH3 tests to fail when the NO_OPT configuration parameter was engaged, and since there really isn't any need to turn that optimization off. The SQLITE_OrderByIdxJoin bit remains. (Closed-Leaf check-in: 98b633717a user: drh tags: qp-enhancements)
21:03
Modify generation of resource header file for MSVC so that it can work from outside the working directory. (check-in: 20caf80cb3 user: mistachkin tags: trunk)
19:53
More test cases an bug fixes for the ORDER BY optimization of joins. All veryquick tests now pass. (check-in: 0d57332005 user: drh tags: qp-enhancements)
17:31
Test cases and bug fixes applied to the ORDER BY optimization for joins. Some test cases fail, but except for the new orderby1.test failures, all failures appear to be issues with the tests, not with the core code. (check-in: 75cda864ed user: drh tags: qp-enhancements)
15:05
Add more bits to the bit vector that is used to disable optimizations for built-in test. Add specific bit patterns to disable ORDER BY using an index in general and for joins. Use macros to test for bits in the disabled-optimization bit vector, in order to make the code clearer. (check-in: d2fcba1e14 user: drh tags: qp-enhancements)
14:11
Enable ORDER BY clauses that span joins to be optimized out. (check-in: c29538f9b1 user: drh tags: qp-enhancements)
12:11
Merge the "PRAGMA busy_timeout" change into trunk. (check-in: 1a679a1ef3 user: drh tags: trunk)
12:05
Further tweaks to the query planner logic in preparation for adding ORDER BY opt-out for joins. (check-in: 53efc10af9 user: drh tags: qp-enhancements)
2012-09-26
23:17
Further refactoring of the ORDER BY related query-planning logic in order to make it easier to extend to support optimizing out ORDER BY on joins. No actual behavior changes, yet. (check-in: 96496ddae1 user: drh tags: qp-enhancements)
2012-09-25
20:43
Augment the WhereBestIdx structure to pass down into the query planner information that might be used to better detect ORDER BY and DISTINCT optimizations spanning multiple tables of a join. (check-in: 4226e51ff8 user: drh tags: qp-enhancements)
14:29
Pass information around between the major routines of the query planner using a single pointer to a structure rather than a long list of parameters. (check-in: 1104d42e10 user: drh tags: qp-enhancements)
12:45
Merge updates from trunk. (check-in: 4a470741b6 user: mistachkin tags: configReadOnly)
2012-09-24
19:50
Remove an unused subfunction parameter and an obsolete comment from the query planner logic in where.c. (check-in: 349a55cd8b user: drh tags: trunk)
15:30
Change the internal sqlite3WhereBegin() to report that the ORDER BY clause is satisfied by indices using the WhereInfo.nOBSat field of the returned structure. (check-in: 22989f3588 user: drh tags: trunk)
11:43
Update documentation to describe the threadsafety of sqlite3_enable_shared_cache(). (check-in: e081890cd7 user: drh tags: trunk)
2012-09-21
22:50
Enable query planner tracing using the new (and undocumented) ".wheretrace 1" command in the command-line shell if both the shell and the core are compiled with SQLITE_DEBUG and SQLITE_ENABLE_WHERETRACE. This is not a supported API. Use for testing and debugging only. (check-in: 1be4b16b9e user: drh tags: trunk)
13:40
Command-line shell enhancements: Added the ".print" command. Enhanced the ".width" command so that negative widths will right-justify. (check-in: a1d8269da3 user: drh tags: trunk)
00:04
Consolidate more of the DISTINCT processing logic into a single spot in the code. Reduce the number of OP_Column operations needed to perform a WHERE_DISTINCT_ORDERED. (check-in: 79e922f7ae user: drh tags: trunk)
2012-09-20
15:41
Continuing incremental enhancements of SELECT code generation: Remove the Select.affinity field. Use SelectDest.affSdst instead. (check-in: cf40b7b5eb user: drh tags: trunk)
14:26
Refactoring of DISTINCT code. Change the name of the local variable "distinct" to "distinctTab". Generate cleaner code w/o unnecessary P4 and P5 values on the OP_Null for WHERE_DISTINCT_ORDERED. (check-in: 0cda241a2b user: drh tags: trunk)
2012-09-19
21:15
Tighter VDBE code for the WHERE_DISTINCT_ORDERED case of DISTINCT keyword handling. (check-in: 94b48064db user: drh tags: trunk)
17:31
Add comments to the WHERE_DISTINCT_* macros. No changes to code. (check-in: 8232050190 user: drh tags: trunk)
00:35
Merge the covering-index-scan optimization into trunk. (check-in: ddd5d789e7 user: drh tags: trunk)
2012-09-18
23:21
Silence harmless compiler warning seen with SQLITE_OMIT_DEPRECATED. (check-in: c5cee96932 user: mistachkin tags: trunk)
19:29
Enhance IN processing to allow efficient use of indices with numeric affinities. Add test cases for IN processing that would have spotted the error in the [2be661a48023f4] check-in. (check-in: 5ded9b6838 user: drh tags: trunk)
17:32
This change generates incorrect code when there are two or more IN operators in the WHERE clause that are both used by the same index. Was: Omit an unnecessary OP_IfNull that immediately follows an OP_Rowid. (Closed-Leaf check-in: 2be661a480 user: drh tags: mistake)
17:08
Enhancements to the comments on sqlite3FindInIndex(). No code changes. (check-in: b1a4c39499 user: drh tags: trunk)
14:00
Add the stack_usage.tcl script for analyzing the output of objdump on the amalgamation and estimating the sizes of stack frames on each function. (check-in: 030013ff0c user: drh tags: trunk)
13:20
Update the vdbe-compress.tcl script so that it accepts variable declarations inside of #ifdef...#endif. This enhancement is needed due to the change of check-in [39866c0ede5d6ef4]. (check-in: e7db056a0d user: drh tags: trunk)
2012-09-17
21:24
Make sure the WHERE_IDX_ONLY flag is not set on query plans that will not be using an index. (Closed-Leaf check-in: 698b2a2800 user: drh tags: fullscan-covering-index)
20:44
Add the ability to disable the covering-index-scan optimization at compile-time, start-time, or at run-time. Add test cases to check this configurability. (check-in: ccb8ecc30c user: drh tags: fullscan-covering-index)
19:26
Merge recent trunk changes into the fullscan-covering-index branch. (check-in: 1c0bf0305c user: drh tags: fullscan-covering-index)
19:12
Remove obsolete bits from the bitvector that defines disabled optimizations in the SQLITE_TESTCTRL_OPTIMIZATIONS verb of sqlite3_test_control(). (check-in: 4c21ee2d26 user: drh tags: trunk)
18:56
Remove an unnecessary parameter from sqlite3Utf8Read() resulting in a slight performance increase. (check-in: 8b962c94a2 user: drh tags: trunk)
17:16
Make sure the KeyInfo.aSortOrder array is always allocated so that we never have to test for KeyInfo.aSortOrder==0 in performance-critical loops. (check-in: 45793f0b84 user: drh tags: trunk)
15:36
Performance enhancement in the sqlite3VdbeSerialType() routine. (check-in: ad298f52ef user: drh tags: trunk)
2012-09-15
18:45
Attempt to use a covering index even on a full table scan, under the theory that the index will be smaller and require less disk I/O and thus be faster. (check-in: cfaa7bc128 user: drh tags: fullscan-covering-index)
13:39
Make sure the name of rollback journal files are double-zero terminated when they are passed into the VFS. (check-in: 8711a8447d user: drh tags: trunk)
13:29
Factor out the code that generates a co-routine for evaluating the SELECT on the RHS of an INSERT statement so that the same code can potentially be reused in other places. (check-in: a93ee09cdc user: drh tags: trunk)
2012-09-13
19:59
Improved alignment of fields in the Expr object gives an 8-byte size reduction on 64-bit machines. (check-in: 6b252a0d1a user: drh tags: trunk)
16:12
Fix WAL capability checking in one of the test files. (check-in: 0ebe7cc574 user: mistachkin tags: trunk)
15:26
Fix an unused variable warning with SQLITE_OMIT_WAL. (check-in: 39866c0ede user: mistachkin tags: trunk)
15:24
Improved reporting of filename translation errors in the Windows VFS. (check-in: eb0f1c292e user: mistachkin tags: trunk)
14:42
Reduce the size of the Table object by 16 bytes on 64-bit machines, mostly by avoiding intermixing pointer fields with integer fields. (check-in: 1cb9aedfcf user: drh tags: trunk)
14:22
Change boolean fields in the Column object from unsigned characters into bits in a single bit mask variable. (check-in: 4163f5f194 user: drh tags: trunk)
12:10
Add the RTREE_INT_ONLY configuration parameter to the compile-time options logic. (check-in: 98b971fb24 user: drh tags: trunk)
01:51
Allow SQLite to work on Win32 with SQLITE_OS_WINNT=0 as long as WAL is disabled. (check-in: c1a8557008 user: mistachkin tags: trunk)