SQLite

Timeline
Login

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

1460 check-ins using file test/fts3defer2.test version a3b6cbea

2015-08-13
21:43
Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. Leaf check-in: 12640cb2 user: drh tags: cursor-hints-displayP4
2014-07-15
11:59
Add simple tests for new sqlite3BtreeCursorHint() functionality. check-in: 1efa6ed5 user: dan tags: cursor-hints
2014-07-14
19:04
In the expression passed to sqlite3BtreeCursorHint() for the inner loops of joins, replace any TK_COLUMN references to columns in the outer loops with TK_REGISTER expressions (Expr.iTable indicates the specific register containing the value). There are no automated tests for this yet. check-in: f9dddd00 user: dan tags: cursor-hints
2014-06-17
15:13
Small tweaks to the query planner to get it to try harder to use an index for sorting and to avoid using automatic indexes on constant terms. Leaf check-in: 2d9de154 user: drh tags: branch-3.8.3
2014-05-09
11:15
Add new static mutex SQLITE_MUTEX_STATIC_APP3. check-in: ee0ab09c user: dan tags: threads
00:36
Fix several harmless compiler warnings. Closed-Leaf check-in: 360c0fd1 user: mistachkin tags: winPreCache
2014-05-08
22:15
Fix typos in logging code. check-in: dc7f84df user: mistachkin tags: winPreCache
22:08
Fix a memory leak of the temporary read buffer. check-in: 37e60d21 user: mistachkin tags: winPreCache
22:05
Update comments and only include the thread routine when required. check-in: a60c545f user: mistachkin tags: winPreCache
22:01
Experimental changes to pre-cache a database file prior to it being fully opened. check-in: 38cbcedb user: mistachkin tags: winPreCache
22:01
Fix static variable declaration issue on Windows. check-in: a41d2969 user: mistachkin tags: threads
2014-05-07
18:23
Make sure the group_concat() function returns an empty string, not a NULL, if it has at least one input row. Fix for ticket [55746f9e65f8587]. check-in: d01cedaa user: drh tags: trunk
18:21
Ensure that the sqlite3StrAccumAppend() routine is never called with a NULL second argument. Doing so is harmless when N==0, but it causes an assert() to fail that was placed to quiet static analyzers. Closed-Leaf check-in: f03fbf37 user: drh tags: tkt-55746f9e
17:19
Make sure the group_concat() function returns an empty string, not a NULL, if it has at least one input row. Fix for ticket [55746f9e65f8587]. check-in: 0deac873 user: drh tags: tkt-55746f9e
15:46
Add the SQLITE_IOCAP_IMMUTABLE bit as a possible return value from the xDeviceCharacteristics method in the VFS. Add the "nolock" and "immutable" query parameters to URI filenames. check-in: 1a0d7d3d user: drh tags: trunk
15:32
Fix nolock and immutable so that they work even if READONLY is requested. Closed-Leaf check-in: e193aced user: drh tags: win32-none
15:09
Add test cases and documentation for the nolock and immutable query parameters. check-in: 19d56cba user: drh tags: win32-none
2014-05-06
21:37
Merge updates from trunk. check-in: 69698ae9 user: mistachkin tags: vsixWinPhone81
21:37
Update the template VSIX package file as well. check-in: 99d96765 user: mistachkin tags: trunk
21:30
Merge updates from trunk. check-in: 7579c44a user: mistachkin tags: vsixWinPhone81
21:26
Enhance the VSIX package creation tool to better support Visual Studio 2013. check-in: c1fb04f6 user: mistachkin tags: trunk
16:21
Add a little extra variety to the tests in sort4.test. check-in: 7de6aee6 user: dan tags: threads
15:38
Re-implement the core of the multi-threaded sorter tests in sort4.test using C. Run each test in sort4.test ten times, or repeat all tests for 300 seconds as part of the "multithread" permutation test. check-in: 208b2b04 user: dan tags: threads
15:28
Experimental changes that reduce the size of Expr objects from 72 to 64 bytes each on x64 and from 48 to 44 bytes each on x32. Leaf check-in: 8ad0a123 user: drh tags: smaller-expr
00:09
Refactor VSIX package creation tool to better support Visual Studio 2013. check-in: 8be166af user: mistachkin tags: vsixWinPhone81
2014-05-05
22:50
Merge updates from trunk. check-in: 668ed76a user: mistachkin tags: vsixWinPhone81
22:49
Add the "omit_check_constraints" pragma that causes the check constraint expressions to be omitted from the parse tree. Leaf check-in: f1a4bf01 user: drh tags: reduce-schema-size
22:43
When building for Windows 8.0 using Visual Studio 2013, make sure the cross-compilation native library path is set correctly. check-in: c1ab9092 user: mistachkin tags: trunk
21:08
More modularization work on the MSVC batch build tool. check-in: 9a06773a user: mistachkin tags: trunk
20:35
Merge updates from trunk. check-in: eaa8fc81 user: mistachkin tags: vsixWinPhone81
20:34
Incorporate the latest trunk changes so that hopefully now this branch will build on beagleboard. check-in: 2647b17d user: drh tags: reduce-schema-size
20:32
Create new header file "os_setup.h" used to detect the operating system at compile-time, and "os_win.h" that contains windows-specific header in formation. check-in: bd92e0f8 user: drh tags: trunk
20:24
Work on cleaning up the MSVC batch build tool integration with Visual Studio 2013. check-in: b5a72dfd user: mistachkin tags: trunk
20:21
Attempt to fix the build on beagleboard. Closed-Leaf check-in: 3ac75725 user: drh tags: winHdr
20:03
Add test file sort4.test, containing brute force tests for the multi-theaded sorter. check-in: 9cc364c4 user: dan tags: threads
19:57
Try to reduce the amount of memory used to hold the schema when PRAGMA ignore_check_constraints is active. check-in: 35a9f3f1 user: drh tags: reduce-schema-size
18:24
Centralize and reform use of the Win32 related include files. check-in: 857f2baf user: mistachkin tags: winHdr
17:49
Merge updates from trunk. check-in: 6f07f20e user: mistachkin tags: vsixWinPhone81
17:45
Merge updates from trunk. check-in: a3cfd813 user: mistachkin tags: winHdr
17:43
Fix several header file comments. No changes to code. check-in: dd6eb5d1 user: mistachkin tags: winHdr
15:58
Fix a race condition in the sorter code. check-in: 2d2edfe5 user: dan tags: threads
09:08
Add tests so that the "coverage-sorter" test permutation covers all branches in vdbesort.c. Fix a few minor problems in the same file. check-in: bde28b70 user: dan tags: threads
2014-05-03
20:43
Add an extra fault-injection test to sortfault.test. Remove an unreachable branch from vdbesort.c. check-in: a33a366b user: dan tags: threads
19:33
Fix a race condition in the sorter. check-in: 32ccf3ae user: dan tags: threads
14:28
Fix a problem in the sorter causing it to return spurious SQLITE_NOMEM errors when configured to use memsys3 or memsys5. check-in: 3a66c4e1 user: dan tags: threads
13:53
Get SQLITE_MUTEX_STATIC_APP1 and _APP2 working for the debugMutex implementation. check-in: f49ba1c9 user: drh tags: threads
12:00
Add two new static mutexes, SQLITE_MUTEX_STATIC_APP1 and _APP2, for use by the application program. First intended use is in test programs for the memory allocation logic where one does not want to allocating a _FAST or _RECURSIVE mutex since that would involve using the memory allocation system under test. check-in: 13686035 user: drh tags: threads
11:22
Add the SQLITE_DEFAULT_WORKER_THREADS compile-time option. Fix a NULL-pointer dereference that can occur following OOM. check-in: e0dea89b user: drh tags: threads
2014-05-02
22:39
Enhance the Win32 VFS I/O retry logic. check-in: 47605043 user: mistachkin tags: trunk
21:42
Merge updates from trunk. Closed-Leaf check-in: 598a3875 user: mistachkin tags: winIoRetry
21:38
Merge updates from trunk. check-in: c4d1d8a0 user: mistachkin tags: winHdr
19:12
Fix typo in Windows makefile. Make sure the WaitForSingleObjectEx system call is always available. check-in: d7ed529f user: mistachkin tags: threads
18:46
Do not run the vdbeRecordCompareDebug() assert if pKeyInfo->db is NULL since in that case there would be no way to check for a memory allocation failure. check-in: 63ed2d6a user: drh tags: threads
18:05
Merge orderby-planning with this branch. check-in: d9549de3 user: dan tags: threads
17:33
Simplify assert() statements used to verify correct operation of record comparison routines. check-in: 3300d62d user: drh tags: orderby-planning
17:12
Fix some broken asserts in btree.c and vdbeaux.c that may fail following an OOM error. check-in: e15f4706 user: dan tags: threads
16:22
Failure to extend a temp file for use with mmap() in vdbesort.c is benign. check-in: d4d39638 user: drh tags: orderby-planning
16:03
Remove a faulty assert() from vdbesort.c. check-in: d95d68aa user: dan tags: threads
15:25
Fix a faulty assert() statement. check-in: 9196ce40 user: drh tags: orderby-planning
14:54
Fix a broken test case in fuzz.test. check-in: faa46935 user: dan tags: trunk
13:09
Merge latest trunk enhancements and fixes into the orderby-planning branch. check-in: 84862d3a user: drh tags: orderby-planning
00:09
Add a comment explaining why WhereLoop cost adjustments are omitted for skip-scan loops. check-in: 3bc43594 user: drh tags: trunk
2014-05-01
20:26
Fix an obscure problem to do with temp register allocation that could occur if more than one simple SELECT within a compound SELECT uses a partial sort. check-in: 427409ae user: dan tags: trunk
20:24
Add #ifdefs for test coverage. Add a testcase(). check-in: be2702ce user: drh tags: trunk
10:19
Update a test case in wal2.test that explicitly corrupts a checksum in the wal file to account for the fact that the first byte of said checksum may initially be 0xFF. check-in: 2b935bde user: dan tags: trunk
01:49
Take out the special handling of nolock=true in os_win.c and add it to pager.c, so that it works for all VFSes. Add the pPager->noLock boolean for clarity. check-in: 725c1c14 user: drh tags: win32-none
01:20
Avoid unnecessary xUnlock operations on temp file. check-in: 1829c38c user: drh tags: win32-none
01:13
Add the immutable=TRUE query parameter and SQLITE_IOCAP_IMMUTABLE, either of which prevents locking of the database and omits tests for existance of journal files. check-in: 71f152c8 user: drh tags: win32-none
2014-04-30
20:32
Merge in all recent changes and enhancements from trunk. check-in: 84243f84 user: drh tags: win32-none
18:11
Fix a problem in calculating the costs of "OR" scans. check-in: 9bbca48b user: dan tags: trunk
15:22
Modify the way the costs of various query plans are estimated. If the user supplies a likelihood() value (or equivalent) on an indexed WHERE constraint, use it to estimate the number of index rows visited. check-in: 90e36676 user: dan tags: trunk
15:00
Add text to the header comment of whereLoopAddBtree() describing how the costs of various b-tree loops are estimated. Closed-Leaf check-in: 05e6e16c user: dan tags: experimental-costs
14:53
Update a couple of test cases to account for the fact that this branch prefers an index scan and partial sort over a full-table scan and full external sort. check-in: 9b975bf3 user: dan tags: experimental-costs
14:47
Fix a couple of out-of-date comments in where.c. check-in: eefeda32 user: dan tags: experimental-costs
14:22
Improved rendering of LogEst values corresponding to real values near 0.0 in the tool/logest.c utility program. check-in: 32910c8c user: drh tags: experimental-costs
13:19
Fix long-standing typos in comments. check-in: b9f91317 user: drh tags: experimental-costs
2014-04-29
19:01
Test that the default values used when sqlite_stat1 data is not available are calculated correctly. Fixes for the same. check-in: e2d42f90 user: dan tags: experimental-costs
16:46
Merge trunk changes into this branch. check-in: d74299f0 user: dan tags: experimental-costs
16:10
Ignore likelihood() values on indexed IPK lookups. check-in: 5bb7757a user: dan tags: experimental-costs
12:01
Fix a test case so that it updates sqlite_stat1 consistently. check-in: 2dc5a0b5 user: dan tags: experimental-costs
2014-04-28
20:11
Do not reduce the number of rows scanned at all for "IS NOT NULL" constraints. Fix a bug in calculating the number of rows visited by scans of partial indicies. check-in: a8ae93f0 user: dan tags: experimental-costs
19:34
The trunk assumes that an open range constraint on an indexed term (col>?) term matches 1/4 of the indexed rows, and that a closed constraint (col BETWEEN ? AND ?) matches 1/64. Change this branch to do the same. check-in: 4047ac75 user: dan tags: experimental-costs
18:02
Merge all recent trunk enhancements and fixes into the sessions branch. check-in: e158812c user: drh tags: sessions
17:56
Add the sqlite3_rtree_query_callback() API to the RTree virtual table. (Cherrypick from the sessions branch.) check-in: af2cbe64 user: drh tags: trunk
17:51
Add the sqlite3_rtree_query_callback() API to the RTree virtual table. check-in: 3dca2809 user: drh tags: sessions
15:11
Update unordered.test to take into account for the fact that SQLite now prefers a full-table scan over a non-covering index scan that visits a large percentage of the table rows. check-in: 20f468df user: dan tags: experimental-costs
12:08
Add an extra column to a table in analyze9.test to give the planner a little more reason to select an index. check-in: 1b95544f user: dan tags: experimental-costs
10:00
Update test script analyze3.test to account for the fact that SQLite now prefers a full-table scan over a non-covering index scan that visits a large percentage of the table rows. check-in: 35f46a55 user: dan tags: experimental-costs
09:35
Modify internal function whereLoopAdjustCost() so that it does not prefer a skip-scan over a regular index scan even if the regular scan uses a subset of the WHERE terms used by the skip-scan. check-in: 88a5758d user: dan tags: experimental-costs
08:49
Fix an error in estimating of the number of rows visited by a range scan. check-in: d491de62 user: dan tags: experimental-costs
2014-04-26
20:21
Fix an sqlite3_stmt_status() problem caused by recent changs on this branch. check-in: dee20409 user: dan tags: experimental-costs
19:23
Update requirements marks to fix typos in the requirements text. No changes to code. check-in: f5a26365 user: drh tags: trunk
17:52
Allow the xfer optimization to proceed if the DEFAULT on the very first column of the two tables is different. This is a refinement of the fix for ticket [f67b41381a]. check-in: 349f4834 user: drh tags: trunk
14:07
Avoid transfering records between tables unless the default values for all columns are the same. Fix for [f67b41381a]. check-in: f8c4c495 user: dan tags: trunk
2014-04-25
20:22
If the user provides likelihood() data for a WHERE clause term used as part of an index key, have the planner use it when calculating the expected number of rows visited by the loop. check-in: c51efaa5 user: dan tags: experimental-costs
17:37
Add test cases to ensure correct operation of joins with a virtual table that include DISTINCT and ORDER BY clauses. Verification for ticket [388d01d4bb8f9]. check-in: 5ada136f user: drh tags: trunk
16:29
Enhance the sqlite3_rtree_query_info object to report on the number of elements in the priority queue at each level. Closed-Leaf check-in: f7dad408 user: drh tags: rtree-enhancements
15:01
Store values loaded from the stat1 table as logarithmic values in memory. check-in: 1bd74c49 user: dan tags: experimental-costs
14:42
Make sure ORDER BY clauses on joins that involve virtual tables and that have a DISTINCT clause work correctly. This is a candidate fix for ticket [388d01d4bb8f9]. Test cases for that ticket will be checked in separately. check-in: 17113812 user: drh tags: trunk
12:35
When VDBE_PROFILE is enabled, ignore negative opcode times, which sometimes occur, perhaps due to context swaps. check-in: 4e88042f user: drh tags: trunk
2014-04-24
20:04
Changes to the way the planner calculates the costs of various table and index scans. Some test cases still failing. check-in: c5a6ec0a user: dan tags: experimental-costs
16:25
Improved header comment on the vdbesort.c module. No changes to code. check-in: bf09ce24 user: drh tags: orderby-planning
15:06
Reopen the orderby-planning branch and merge in the latest trunk enhancements and fixes. check-in: 6077ddcd user: drh tags: orderby-planning
12:28
Improvements to comments. Store some extra information in SqliteThread that is useful for debugging. check-in: 9fb5e212 user: drh tags: threads
2014-04-23
12:57
Merge all recent trunk changes into the threads branch. check-in: e2c9f71a user: drh tags: threads
12:00
Enhancements to the date and time functions so that they optionally support a 5-digit year. Not sure we want to include this in trunk. Saved in a branch for future reference. Closed-Leaf check-in: 2029a396 user: drh tags: five-digit-year
2014-04-22
19:42
Change from using the win32-none VFS to just a query parameter. check-in: ffceacf6 user: drh tags: win32-none
19:34
Add some OSTRACE calls for consistency. check-in: be292d55 user: mistachkin tags: win32-none
19:30
Add the win32-none VFS which omits rollback-journal locking. check-in: 03e3c5a8 user: drh tags: win32-none
2014-04-21
18:13
Fix the generation of sqlite3_rtree_query_info.iRowid and add test cases to verify that it is fixed. check-in: eba95ead user: drh tags: rtree-enhancements
18:00
Preliminary changes to support building VSIX packages for Windows 8.0 and Windows Phone 8.0 using Visual Studio 2013. check-in: 3bf97c81 user: mistachkin tags: vsixWinPhone81
15:53
Be sure to initialize the sqlite3_rtree_query_info.iRowid field for the leaves of the R-Tree when doing a query callback search. check-in: 43946938 user: drh tags: rtree-enhancements
15:21
Fix an off-by-one error in setting the "iLevel" field of the sqlite3_rtree_query_info structure passed into the RTree query callback. check-in: d708f159 user: drh tags: rtree-enhancements
13:36
Comment tweaks on the test case for the [b75a9ca6b0] bug fix. check-in: 65d2544a user: drh tags: trunk
13:21
Avoid discarding an ORDER BY clause in the case where an identical GROUP BY clauses uses an index to group, but not sort, the rows. Fix for [b75a9ca6b0]. check-in: de9a490f user: dan tags: trunk
2014-04-18
22:20
Clean up the proper-subset cost adjustment logic to make it more compact and easier to read and so that full branch test coverage is more easily obtained. check-in: 9a5d38c7 user: drh tags: trunk
13:57
Add to speedtest1.c the --threads option for setting the SQLITE_CONFIG_WORKER_THREADS configuration. check-in: 5fce40c4 user: drh tags: threads
13:40
Fix harmless compiler warnings. check-in: f8f72ecb user: drh tags: threads
12:38
Merge recent trunk changes into the threads branch. check-in: 8729aa3e user: drh tags: threads
01:37
Further improvements to the RTREE_DECODE_COORD() method, to take advantage of known processor byte orders when available. This makes the code 3% faster, according to valgrind. Also add test cases to make sure the on-disk representation is correct. check-in: 6f3e94f4 user: drh tags: rtree-enhancements
01:14
Merge the latest changes from sessions. check-in: d9eef5b0 user: drh tags: rtree-enhancements
01:10
Merge recent trunk changes into sessions. check-in: 95e77efe user: drh tags: sessions
00:49
Add the SQLITE_RUNTIME_BYTEORDER compile-time option to force SQLite to check the processor byte-order at run-time. Add additional compile-time byte order checks for ARM, PPC, and SPARC. check-in: 2c536387 user: drh tags: trunk
00:08
Preliminary changes to support building VSIX packages for Windows Phone 8.1. check-in: a1b2f28b user: mistachkin tags: vsixWinPhone81
00:06
Add the SQLITE_TESTCTRL_BYTEORDER test control to interrogate SQLite's notion of the processor byte order and whether the byte order is known at compile-time or determined at run-time. check-in: 9c696196 user: drh tags: trunk
2014-04-17
23:23
Performance optimization on byte-swapping in R-Tree. check-in: 444084fd user: drh tags: rtree-enhancements
15:34
More test cases with very long priority queues. check-in: 71692aa9 user: drh tags: rtree-enhancements
14:52
Test cases and bug fixes for the sqlite3_rtree_query_callback() mechanism. check-in: 1ccaaed6 user: drh tags: rtree-enhancements
13:15
Refactor the constraint checking logic in RTree. The new-style constraint callbacks created by sqlite3_rtree_query_callback() are now hooked up from end to end, though still untested. check-in: 32a13870 user: drh tags: rtree-enhancements
08:57
Fix build problems in vdbesort.c. Add further comments and changes to make things easier to understand. check-in: 12b190db user: dan tags: threads
2014-04-16
21:02
Performance optimization on nodeGetCell() in R-Tree. check-in: 5d20ff9e user: drh tags: rtree-enhancements
19:04
Clarify the purpose of the nField argument passed to sqlite3VdbeSorterInit(). check-in: c0c8cff1 user: dan tags: threads
17:41
Change the name of vdbeIncrInit2 to vdbePmaReaderIncrInit. Add a header comment to the same function. check-in: 6622d876 user: dan tags: threads
17:23
Convert the RTree module query mechanism over to using a priority queue for walking the RTree. check-in: f26936f7 user: drh tags: rtree-enhancements
17:15
TCL tests now all pass. Closed-Leaf check-in: f864bacc user: drh tags: rtree-queue
16:43
Rework the way trees of MergeEngine objects are built in vdbesort.c to make it easier to follow. Fix memory leaks that could follow an OOM or IO error. Add various comments to explain functions in vdbesort.c. check-in: 69026ec7 user: dan tags: threads
14:45
Fix a bug in rowid=? query handling. More problems remain. check-in: 5b0e6ba4 user: drh tags: rtree-queue
13:00
Bug fixes to the priority-queue implementation for R-Trees. Improved tracing capability. Some queries work now, but still many problems. check-in: a439ddd6 user: drh tags: rtree-queue
2014-04-15
21:06
Initial attempt at getting R-Tree queries to work using a priority queue. This check-in compiles, but R-Trees do not work well. And there are debugging printf()s left in the code. This is an incremental check-in. check-in: 53688a25 user: drh tags: rtree-queue
20:52
Fix some problems to do with OOM conditions in vdbesort.c. Some problems remain. check-in: 2f94f9ce user: dan tags: threads
19:52
Fix further code and documentation issues in vdbesort.c. check-in: d03f5b86 user: dan tags: threads
2014-04-14
19:48
Make sure the undocumented sqlite_rename_parent() function does not crash even if it is invoked with NULL arguments. Ticket [264b970c4379fd4b94] check-in: c6fa8d0d user: drh tags: trunk
19:23
Allow the sorter to begin returning data to the VDBE as soon as it is available, instead of waiting until all keys have been sorted. check-in: cb0ab20c user: dan tags: threads
18:41
Improve performance in single-threaded mode by having the final merge pass keys directly to the VDBE, instead of going via a final PMA. Closed-Leaf check-in: 02610cd9 user: dan tags: threads-experimental
14:43
Fix comments on the rtreenode() and rtreedepth() test function in the R-Tree module. check-in: ade5b986 user: drh tags: rtree-enhancements
12:18
Remove over 300 lines of unused code, code that implemented the older Guttman insertion algorithms that are no longer used. check-in: 3ba5f295 user: drh tags: rtree-enhancements
08:45
Minor fixes so that builds with SQLITE_MAX_WORKER_THREADS=0 work. check-in: e400bbbf user: dan tags: threads-experimental
07:30
Improve use of multiple threads in sqlite3VdbeSorterRewind(). check-in: e1bdc4b8 user: dan tags: threads-experimental
2014-04-13
19:28
Remove the unused second argument from sqlite3ExprCachePop(). Add an ALWAYS() on an always-true conditional in sqlite3VdbeResolveLabel(). check-in: ab23abf3 user: drh tags: trunk
19:15
Make sure column cache elements are cleared correctly when jumping over code for key generation in a partial index. Fix for ticket [2ea3e9fe6379fc3f6]. check-in: 3122b836 user: drh tags: trunk
16:10
Continuing work on the new custom query mechanism for r-tree. check-in: ca7357e6 user: drh tags: rtree-enhancements
2014-04-12
19:34
Fix many issues with new code. check-in: 62c406a0 user: dan tags: threads-experimental
17:44
Continuing clean-up of the R-Tree module in preparation for cutting in the new generalized query mechanism. check-in: 66c858f2 user: drh tags: rtree-enhancements
2014-04-11
23:14
Add the new interfaces to rtree, though they do not yet work. Add the "show_speedtest1_rtree.tcl" script for showing the test data used for the R-Tree tests of speedtest1. Change speedtest1 to generate better R-Tree test data. check-in: 0b702759 user: drh tags: rtree-enhancements
19:43
Avoid having the sorter merge too many PMAs at a time when incrementally merging data following a SorterRewind(). check-in: 98bf0307 user: dan tags: threads-experimental
17:41
Add the --verify option to speedtest1. Add verification test cases to the "rtree" testset and a case that uses a custom geometry callback. check-in: 9d485c42 user: drh tags: rtree-enhancements
16:14
Update comments in the R-Tree module in preparation for some big changes. Add an "rtree" performance test to speedtest1. check-in: 20a73ec0 user: drh tags: rtree-enhancements
2014-04-10
02:24
Modify the OR-clause handling so that it can safely deal with OR-clause with 17 or more terms. Fix for ticket [10fb063b1179be53ea0b53bb]. check-in: a67b5312 user: drh tags: trunk
2014-04-09
20:04
Experimental multi-threaded sorting changes to allow the sorter to begin returning items to the VDBE before all data is sorted. check-in: f9d5e09a user: dan tags: threads-experimental
2014-04-07
18:44
Experimental multi-threaded sorting changes to begin merging PMAs before SorterRewind() is called. Closed-Leaf check-in: cbfc0f6d user: dan tags: abandoned
2014-04-04
22:44
Fix harmless compiler warnings. check-in: e54dded2 user: drh tags: threads
21:40
Fix typo in a Windows threading support routine. check-in: 5e3dfa27 user: mistachkin tags: threads
18:49
Performance improvements when reading large blobs, especially if SQLITE_DIRECT_OVERFLOW_READ is defined. check-in: 2312eb6a user: drh tags: trunk
18:37
Merge the latest trunk changes into the threads branch. check-in: 39ac79cf user: drh tags: threads
18:20
Merge changes to the query planner that strive to ensure that any index usage that is a proper subset of some other index usage always has a slightly higher cost. check-in: 683dd379 user: drh tags: trunk
14:12
Ensure the "PRAGMA journal_mode=WAL" works coming from any other journal_mode with ATTACH-ed databases. check-in: e54330b4 user: drh tags: trunk
07:52
Add test file sort3.test, which should have been part of commit [9d3351b8d7]. check-in: dceed2c8 user: dan tags: threads
02:13
Change vdbeSorterExtendFile() so that it makes a best effort to create the PMA file of the desired size, but does not return an error if unable. check-in: 217814bc user: drh tags: threads
2014-04-03
16:53
Version 3.8.4.3 Leaf check-in: a611fa96 user: drh tags: release, version-3.8.4.3, branch-3.8.4
16:42
Merge all recent changes from trunk. check-in: a0910079 user: drh tags: threads
16:35
Merge all recent changes from trunk, including the fix for the OP_SCopy-vs-OP_Copy problem. check-in: 9515c834 user: drh tags: sessions
16:29
Use OP_Copy instead of OP_SCopy when moving results out of a subquery, to prevent the subquery results from changing out from under the outer query. Fix for ticket [98825a79ce1456]. Problem introduced by check-in [1e64dd782a126f48d78]. check-in: d5513dfa user: drh tags: trunk
16:25
Fix an integer overflow problem in the sorter. check-in: 9d3351b8 user: dan tags: threads
16:18
Increase the version number to 3.8.4.3 check-in: f05a49b6 user: drh tags: branch-3.8.4
16:16
Use OP_Copy instead of OP_SCopy when moving results out of a subquery, to prevent the subquery results from changing out from under the outer query. Fix for ticket [98825a79ce1456]. Problem introduced by check-in [1e64dd782a126f48d78]. check-in: ec6a0624 user: drh tags: branch-3.8.4
14:31
Fix a typo in the "Synopsis:" comment for the OP_VFilter opcode. check-in: 48ecdd4a user: drh tags: trunk
14:29
Fix minor errors causing compilation to fail with SQLITE_MAX_WORKER_THREADS set to a value greater than zero. check-in: 0561272a user: dan tags: threads
02:54
Refactor local object and method names in vdbesort.c so that their names more closely reflect their actual use. check-in: d284e30e user: drh tags: threads
00:32
In the command-line shell, run set writable_schema before running the ".clone" command. check-in: 9d2ae634 user: drh tags: trunk
2014-04-02
18:58
Add a big introductory comment to vdbesort.c explaining its operation at a high level. Also adjust some symbolic names and fix other comment issues in that file. check-in: eef60f1b user: drh tags: threads
15:15
Fix some problems with OOM handling in vdbesort.c. check-in: 47e702bd user: dan tags: threads
14:38
Change the name of the SorterThread object to "SortSubtask" to avoid confusion with the SQLiteThread object. check-in: 4ee2d910 user: drh tags: threads
2014-04-01
18:41
When sorting data for a CREATE INDEX statement in single-threaded mode, assume that keys are delivered to the sorter in primary key order. Also fix various comments that had fallen out of date. check-in: 821d1ac4 user: dan tags: threads
15:38
Even if compile time option SQLITE_MAX_WORKER_THREADS is set to one or greater, set the default number of worker threads to zero. Distribute data more evenly between threads in sqlite3VdbeSorterWrite() to improve performance when sorting large amounts of data. Add new test file sort2.test. check-in: 643c86a0 user: dan tags: threads
10:19
Fix a problem with OOM handling in the sorter code. check-in: 59cd5229 user: dan tags: threads
01:24
Remove an unnecessary conditional, replacing it with an assert(). Improvements to comments. Closed-Leaf check-in: 834bf1c3 user: drh tags: overflow-pgno-cache
2014-03-31
23:57
Fix a compiler warning when SQLITE_DIRECT_OVERFLOW_READ is defined. Minor performance enhancement and size reduction. check-in: 96385dc4 user: drh tags: overflow-pgno-cache
22:03
Merge in the latest changes and fixes from trunk. check-in: f6211540 user: drh tags: overflow-pgno-cache
20:05
Remove an unnecessary conditional. Closed-Leaf check-in: 7473c4df user: drh tags: query-plan-experiments
19:57
Add the SQLITE_MAX_WORKER_THREADS compile time option. And the SQLITE_CONFIG_WORKER_THREADS sqlite3_config() switch. check-in: 2774710d user: dan tags: threads
19:49
Also make sure an index that is a proper subset of some other index has a higher cost than that other index. Add test cases. check-in: b7830d23 user: drh tags: query-plan-experiments
18:24
Make sure that an index that covers a proper superset of the WHERE clause terms of some other index has a lower cost than the other index. check-in: ea8b0910 user: drh tags: query-plan-experiments
13:42
Avoid a (harmless) buffer overread that is possible on an OOM when MEMSYS5 is engaged. check-in: b3296267 user: drh tags: trunk
2014-03-29
21:16
Experiments in picking better query plans, especially when the usage of one index is a subset of another. check-in: 8f869ca7 user: drh tags: query-plan-experiments
19:48
Changes to make the multi-threaded sorter sort stably. Closed-Leaf check-in: 83a105c8 user: dan tags: threads-closed
10:01
Fix a broken assert() in vdbesort.c. check-in: 18d1b402 user: dan tags: threads
09:34
Fix a problem in vdbesort.c causing spurious SQLITE_NOMEM errors when using memsys3 or memsys5. check-in: a683c05f user: dan tags: threads
06:27
Add the optimization to avoid some unnecessary calls to sqlite3VdbeRecordUnpack() added to the trunk by [707ea170b3]. check-in: fc4d04e6 user: dan tags: threads
2014-03-28
19:47
Fix a compiler warning and an after-OOM memory leak. check-in: 58f7ca29 user: drh tags: orderby-planning
19:18
Merge latest changes from orderby-planning branch. check-in: 4c7fb542 user: dan tags: threads
18:35
Merge the latest changes from trunk. check-in: 3047a25f user: drh tags: orderby-planning
14:41
Disable the wal64k.test script for non-unix systems since it depends on unix-only features. check-in: 27deb6e4 user: drh tags: trunk
12:56
Fix a harmless compiler warning. check-in: a4e47150 user: drh tags: trunk
03:12
Enhance the sqlite3VdbeRecordCompare() routines so that if they encounter database corruption, they will set the UnpackedRecord.isCorrupt field and return 0. The sqlite3BtreeMovetoUnpacked() routine detects this and returns SQLITE_CORRUPT, causing the corruption to be reported back to the top-level. check-in: 7fa85eaa user: drh tags: trunk
2014-03-27
19:25
Instead of allocating a single large buffer at the beginning of each sort operation, start with a small buffer and extend it using realloc() as required. check-in: 81987c8c user: dan tags: orderby-planning
18:36
Minor cleanup of the code in the query planner that computes the costs estimates for the various plans. There are no changes to the costs at this time. But the code is slightly more readable now and that might facilitate future enhancements. check-in: 9b4d7226 user: drh tags: trunk
17:23
Use xFetch() to access temporary files in vdbesort.c. Use a single large allocation instead of many small allocations when accumulating records in vdbesort.c. This is an interim commit - it allocates a buffer the size of the page-cache every time data is sorted. check-in: f4ac1bf2 user: dan tags: orderby-planning
14:05
Enhance the logest.c utility with new operators: "dup", "inv", "log", and "nlogn". Provide help on an invalid input. check-in: b4bd2a06 user: drh tags: trunk
00:09
Merge the latest trunk changes and the fix for the crash on a corrupt database. check-in: 0b35346c user: drh tags: orderby-planning
2014-03-26
19:45
Merge from trunk the fix for the crash on a corrupt database. check-in: 8cb2b02b user: drh tags: threads
19:43
Merge in fixes (including the corrupt-database crash fix) and performance enhancements from trunk. check-in: fc8ca1a8 user: drh tags: sessions
18:51
Version 3.8.4.2 check-in: 02ea1663 user: drh tags: release, version-3.8.4.2, branch-3.8.4
16:25
Increase the version number to 3.8.4.2. check-in: 59978a2e user: drh tags: branch-3.8.4
16:22
Fix a potential buffer overread that could have occurred when searching a corrupt database file. check-in: db293547 user: drh tags: branch-3.8.4
15:14
Add an extra test case for the potential buffer overread patched by [28ddecff04]. check-in: f585f5d7 user: dan tags: trunk
15:05
Add a test case to verify that the previous change avoids excess buffer overread in sqlite3VdbeRecordCompare(). check-in: 2b28e8d5 user: drh tags: trunk
14:51
Earlier detection of corruption in sqlite3VdbeRecordCompare() in order to avoid a potential buffer overread. check-in: 28ddecff user: drh tags: trunk
12:02
Add an assert() and a comment to clarify the operation of the vdbeRecordCompareInt() routine. check-in: 851abdb8 user: drh tags: trunk
2014-03-25
20:28
Adjust the repeat counts on several tests in speedtest1 so that the relative time spent on the test is roughly the same regardless of --size. check-in: 7922809e user: drh tags: trunk
18:29
Merge enhancements and fixes from trunk. check-in: e005f2d6 user: drh tags: orderby-planning
17:45
Add another performance test case to speedtest1. This case is another ORDER BY test but this time without LIMIT. check-in: 9ab7ffd5 user: drh tags: trunk
17:07
Fix a problem in the code added by [707ea170b3] causing vdbesort.c to sort unstably. check-in: d3e640af user: dan tags: orderby-planning
15:04
Remove the sequence values from sorter records used by ORDER BY as well. check-in: c3ae3697 user: dan tags: orderby-planning
14:54
Add an ORDER BY test case to speedtest1.c check-in: 58812264 user: drh tags: trunk
14:12
Enable four sorting threads by default in the command-line shell. check-in: 1cab8357 user: drh tags: threads
13:17
Merge all fixes and enhancements from trunk. check-in: b415dfb6 user: drh tags: threads
11:00
Detect when a VdbeCursor is still pointing at a valid row but that row has moved, and invalidated the return from prior sqlite3BtreeDataFetch() or sqlite3BtreeKeyFetch() calls. check-in: e6798871 user: drh tags: trunk
2014-03-24
20:19
Omit the sequence value from sorter records used by GROUP BY queries that cannot use an index. check-in: 3f90abdd user: dan tags: orderby-planning
18:08
Avoid unnecessary moving of content between registers during an ORDER BY. check-in: 4f472acc user: drh tags: orderby-planning
16:30
Remove unused variables Parse.nColCache and Parse.iColCache. check-in: 4d7551ce user: dan tags: trunk
15:00
Fix arithmetic operators so that they do not change the affinity of their input operands. Ticket [a8a0d2996a]. check-in: 221f8f94 user: drh tags: trunk
12:33
Cancel column-cache entries that are involved in a comparison operator since the comparison might have forced an affinity change. Originally proposed as a fix for ticket [a8a0d2996a], but later determined to be incorrect. Closed-Leaf check-in: 0b95b7a8 user: drh tags: tkt-a8a0d2996a
11:23
Avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB. check-in: db7d62c8 user: dan tags: trunk
09:34
Remove an unnecessary temporary register allocation. check-in: 5d506743 user: dan tags: orderby-planning
02:20
Remove a pointless OP_Once operation in ORDER BY clauses with LIMIT. check-in: e6c59d23 user: drh tags: orderby-planning
01:43
Further enhancements to generated VDBE code for ORDER BY. check-in: e7188fad user: drh tags: orderby-planning
2014-03-23
18:47
merge fixes from trunk check-in: faf7f9ca user: drh tags: orderby-planning
17:45
Use only a single OP_MakeRecord instead of two when constructing entries to go onto a sorter. check-in: d696cded user: drh tags: orderby-planning
16:29
Avoid a possible use of an uninitialized variable following an I/O or OOM error. check-in: 641408a1 user: drh tags: trunk
2014-03-22
02:19
Clear the sort-order flags on the KeyInfo object associated with the OP_Compare/OP_Jump of the block-sort logic, in order to make the OP_Jump fully testable. check-in: 9b2838f2 user: drh tags: trunk
01:52
Increase the version number to 3.8.5. check-in: 9760879d user: drh tags: trunk
00:27
Fix the ORDER BY optimization logic so that it will do a block-sort on a partial DESC ORDER BY. This enhancement uncovered a memory leak in pushUntoSorter() which is also fixed. check-in: c36f7461 user: drh tags: trunk
2014-03-21
20:58
Add the ability to use indices for the first few terms of an ORDER BY clause, then sort in batches to handle the later terms. check-in: fa06a6fe user: drh tags: trunk
19:56
Change the names of SRT_DistTable and SRT_Table used by CTE to more meaningful SRT_DistFifo and SRT_Fifo, respectively. Simplify the IgnorableOrderby() macro in the process. check-in: 45d8cc67 user: drh tags: trunk
19:27
Avoid leaking memory in an obscure case where the flattener adds an ORDER BY clause to the recursive part of a recursive query. check-in: 1f413aca user: dan tags: trunk
18:45
Merge the OFFSET-on-query-without-FROM fix from trunk. check-in: 71e9ae72 user: drh tags: orderby-planning
18:16
Fix the OFFSET clause so that it works correctly on queries that lack a FROM clause. Ticket [07d6a0453d4ed8]. check-in: 179ef816 user: drh tags: trunk
15:24
New test case for block-sorting. check-in: e70cfa28 user: drh tags: orderby-planning
2014-03-20
20:56
Merge trunk fixes for "x IN (?)" handling. check-in: eca35871 user: drh tags: orderby-planning
19:04
Remove a testcase() that is now always true due to the "x IN (?)" optimization. Add an ALWAYS() around a conditional in the parser that cannot be false. check-in: d5a1530b user: drh tags: trunk
18:56
Only use the direct-overflow-read optimization if all data from the overflow page in question is being read. check-in: d8e1f75d user: dan tags: overflow-pgno-cache
18:45
Fix the EXPLAIN indenter in the command-line shell to correctly handle NextIfOpen and PrevIfOpen opcodes. check-in: 01944c53 user: drh tags: trunk
17:03
The "x IN (?)" optimization in check-ins [2ff3b25f40] and [e68b427afb] is incorrect, as demonstrated by the in4-5.1 test case in this check-in. The "COLLATE binary" that was being added to the RHS of IN was overriding the implicit collating sequence of the LHS. This change defines the EP_Generic expression node property that blocks all affinity or collating sequence information in the expression subtree and adds that property to the expression taken from RHS of the IN operator. check-in: 2ea4a9f7 user: drh tags: trunk
15:14
Fix harmless compiler warnings. check-in: b1435f26 user: drh tags: trunk
14:56
Previous check-in is not quite correct. "x IN (?)" is not exactly the same as "x==?" do to collation and affinity issues. The correct converstion should be to "x==(+? COLLATE binary)". The current check-in fixes this problem and provides test cases. Ticket [e39d032577df69] check-in: 2ff3b25f user: drh tags: trunk
13:26
Convert expressions of the form "X IN (?)" with exactly one value on the RHS of the IN into equality tests: "X=?". Add test cases to verify that statements work correctly on this corner case. Fix for ticket [e39d032577df6942]. check-in: e68b427a user: drh tags: trunk
12:36
One possible fix for the [e39d032577d] problem it to replace the failing assert() with a testcase() as shown here. Closed-Leaf check-in: eae6dfbe user: drh tags: tkt-e39d0325
12:17
Fix an unnecessarily obtuse use of a bitmask flag. check-in: ca314081 user: drh tags: trunk
09:42
Add a test to ensure os_unix.c works with 64KiB OS pages. Closed-Leaf check-in: e3d2be3b user: dan tags: shm-mapping-fix
08:59
Add an experimental fix to avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB. check-in: 6f3a5c24 user: dan tags: shm-mapping-fix
2014-03-19
23:42
Merge the vdbesort.c optimization from trunk. check-in: e4bfffb9 user: drh tags: orderby-planning
23:24
Fix query planner weights associated with choosing block-sorting. Fix block sorting of tables with collating functions. Fix various test cases. All "veryquick" tests are now passing, though more tests need to be added. check-in: 01afbf97 user: drh tags: orderby-planning
20:01
Avoid some unnecessary calls to sqlite3VdbeRecordUnpack() that were being made when merging data from two or more temp files together in vdbesort.c check-in: 707ea170 user: dan tags: trunk
17:41
Make it possible for block-sort to use the OP_SorterOpen sorter in addition to a generic OP_OpenEphemeral. check-in: 7ce2daaf user: drh tags: orderby-planning
16:56
Fix a problem in the block-sort logic that can arise if the VDBE opcode array is resized while the block-sort logic is being coded. "make test" now runs to completion, though there are still 17 failures. check-in: 62f3a220 user: drh tags: orderby-planning
15:17
Avoid reusing temporary registers in co-routines when doing block-sorting. check-in: 463d921b user: drh tags: orderby-planning
14:30
Make sure the where.c query planner never reports that the number of ORDER BY terms that are satisfied by indices is negative. check-in: b186d8d1 user: drh tags: orderby-planning
14:10
First attempt at getting block-sort to work. This is an incremental check-in. There are many problems still to be worked out. check-in: 59742dd4 user: drh tags: orderby-planning
2014-03-18
20:33
Make the partial-ORDER-BY information in the query planner available to the SELECT code generator. Still doesn't make a difference in the generated code. check-in: e258df23 user: drh tags: orderby-planning
18:59
Adjust the query planner to keep track of the number of ORDER BY terms satisfied. Still doesn't do anything with this information. Some tests fail after this check-in, but all failures are believed to be benign. The failures will be addressed at a later stage. check-in: 59d49b7f user: drh tags: orderby-planning
15:30
Experiments with the optimization of ORDER BY and GROUP BY clauses. check-in: b1509025 user: drh tags: orderby-planning
2014-03-17
15:43
Add an experimental multi-threaded capability to vdbesorter.c. check-in: ff0b5c85 user: dan tags: threads
15:06
Clean up some obsolete "register" declarations in printf.c. check-in: ecd9d3f9 user: drh tags: trunk
14:24
Performance enhancements and size reduction for sqlite3VXPrintf() check-in: eb071eb5 user: drh tags: trunk
2014-03-14
11:46
Fix a harmless compiler warning that crops up with SQLITE_MAX_MMAP_SIZE=0. check-in: 1277932b user: drh tags: trunk
2014-03-13
15:41
Merge latest trunk changes into this branch. check-in: d17231b6 user: dan tags: threads
2014-03-12
19:38
Fix an obscure bug causing sqlite3_close() to fail if there are virtual tables on the disconnect list when it is called. check-in: 6504aa47 user: dan tags: trunk
19:20
Changes to FTS to ensure that it does not access the database from within the xConnect method. check-in: c67a52c3 user: dan tags: trunk
12:44
Prevent the rtree module from reading sqlite_stat1 data from the wrong database. check-in: 7ce03c1b user: dan tags: trunk
10:03
Bump the version number to 3.8.4.1., to conform with trunk. check-in: 42c9d8fc user: drh tags: sessions
2014-03-11
23:44
Remove a stray C99-style comment. check-in: f500e87d user: drh tags: overflow-pgno-cache
23:40
Combine the various boolean fields of the BtCursor object into a single bit-vector. This allows setting or clearing more than one boolean at a time and makes the overflow-pgno-cache branch faster than trunk on speedtest1. check-in: 968fec44 user: drh tags: overflow-pgno-cache
20:33
Enable the b-tree cursor object's overflow page-number cache, which is normally enabled only for incr-blob cursors, for all cursors. check-in: da591985 user: dan tags: overflow-pgno-cache
15:27
Version 3.8.4.1 check-in: 018d317b user: drh tags: trunk, release, version-3.8.4.1
15:25
Update version number to 3.8.4.1 check-in: 33f5694f user: drh tags: trunk
14:44
Forgot to change the VERSION file. Closed-Leaf check-in: 04caffce user: drh tags: mistake
09:19
Add a test to see what happens if an rtree constructor encounters an SQLITE_BUSY error. No changes to code. check-in: 5527e236 user: dan tags: trunk
01:48
Version 3.8.4 for sessions (plus two minor fixes). check-in: 917c4108 user: drh tags: sessions
2014-03-10
20:12
Adjustments to the cost computation for the skip-scan query plan, to take into account the fact that a seek has to occur on each skip. check-in: 0769eebd user: drh tags: trunk
18:03
Attempt to work around MSVC's treatment of __LINE__ as a non-constant value in "Edit and Continue" mode by avoiding the use of __LINE__ when SQLITE_VDBE_COVERAGE is not defined. check-in: 0a5318bc user: drh tags: trunk
12:20
Version 3.8.4 check-in: 530a1ee7 user: drh tags: trunk, release, version-3.8.4
2014-03-08
19:07
Fix a bug causing "SELECT char()" to return SQLITE_NOMEM. check-in: ba39df9d user: dan tags: trunk
2014-03-07
14:57
Improved comment on the pager.c PERSIST rollback journal delete logic inside of hasHotJournal(). No changes to code. check-in: e5b17a9d user: drh tags: trunk
14:36
Merge the fix for the journal_mode=PERSIST error recovery delay bug. check-in: bb6a75f4 user: drh tags: sessions
03:31
Revise change from the previous check-in to clarify the situation when handling open journal files, regardless of journal mode. check-in: 1c318ef3 user: mistachkin tags: trunk
02:29
Avoid calling sqlite3OsDelete() on a file that is open, since this causes Windows to run *very* slowly. Comes up on error recovery in journal_mode=PERSIST. check-in: fdc651e2 user: mistachkin tags: trunk
2014-03-06
18:16
Do not run corruptH.test in mmap mode. check-in: c0d54b4e user: dan tags: trunk
15:01
Fix a harmless compiler warning in the sessions test harness. check-in: d389e20a user: drh tags: sessions
14:53
Enhance the test harness for the sessions interface so that it does not use SQLite operations that can encounter an OOM error in places where it is unable to report an OOM error back up to the test script. check-in: bc0e6610 user: drh tags: sessions
13:48
Merge the latest 3.8.4 tweaks from trunk. check-in: 1ed463d9 user: drh tags: sessions
13:38
Improved EXPLAIN indentation of a loop in the ANALYZE logic for STAT4. Mark the not-found jump of a seek operation in that loop as never taken. check-in: 0a4200f9 user: drh tags: trunk
12:36
Remove a branch that is never taken from where.c. check-in: 4a499722 user: dan tags: trunk
02:15
Cosmetic change to the shell in-memory database warning to skip coloring the trailing period. check-in: c87d8e07 user: mistachkin tags: trunk
01:56
Fix some incorrect comments and typos in comments. Add testcase() macros to some of the new record comparison code. check-in: b83cfe89 user: drh tags: trunk
00:30
Better loadable extension handling in the Win32 VFS when compiled for Cygwin. check-in: 29b0a4f1 user: mistachkin tags: trunk
00:28
Better support for MinGW 4.x. check-in: 170e0585 user: mistachkin tags: trunk
2014-03-05
23:12
Merge compiler-warning fixes from trunk. check-in: a1f2b042 user: drh tags: sessions
19:36
Always include the ctype.h header in the spellfix.c extension. check-in: bfd75f47 user: drh tags: trunk
19:13
Avoid running a couple of test cases that use realloc() extensively if SQLITE_MEMDEBUG is defined. check-in: e406d4bb user: dan tags: trunk
19:04
Fix a harmless compiler warning on MSVC. check-in: 0723effc user: drh tags: trunk
17:29
Add SQLITE_OMIT_CTE to the list of compile options that might be returned by "PRAGMA compile_options". check-in: f33f2b3f user: dan tags: trunk
16:15
Add tests to join.test to verify that it is not possible to use more than 64 tables in a join. check-in: ef1a9986 user: dan tags: trunk
15:52
Count the number of elements in a SrcList object using an "int" rather than a "u8", to avoid overflows and to work around an issue in the C compiler on AIX. check-in: eee2a13f user: drh tags: trunk
15:04
Add a test case for the problem fixed by [1d134ba2ed]. check-in: d4fbc05d user: dan tags: trunk
14:49
Merge in various obscure bug fixes and the removal of Mem.memType from trunk. check-in: 0828975d user: drh tags: sessions
14:40
When converting a result type from TEXT to BLOB using the sqlite3_value_blob() interface, continue to report SQLITE_TEXT as the true type from sqlite3_value_text() as long as that text is still valid. The maintains legacy behavior from before the noMemType change. check-in: 1d134ba2 user: drh tags: trunk
12:47
Separate the column NULL value constant into a separate routine for greater commonality with the sessions branch. check-in: 12cbebb9 user: drh tags: trunk
11:48
Remove the redundant memType field from struct Mem. check-in: 9e852857 user: dan tags: trunk
11:22
Do not run corruptI.test with the mmap permutation. check-in: 378b290d user: dan tags: trunk
01:29
Experimental simplification of memory flags/type handling. Closed-Leaf check-in: bac2820e user: mistachkin tags: noMemType
2014-03-04
21:19
Avoid indexing off the front end of an array when creating a view with two or more blank column names in the SELECT statement that defines the view. check-in: 554501f1 user: drh tags: trunk
21:00
Fix a problem with "DEFAULT (-(-9223372036854775808))" clauses in ALTER TABLE ... ADD COLUMN commands. check-in: e072cb3e user: dan tags: trunk
18:06
Fix a potential memory use-after-free problem following an OOM error. check-in: 767ccb1f user: drh tags: trunk
16:21
Fix an assert() so that it takes OOM errors into account. check-in: 53f6ec79 user: drh tags: trunk
16:05
Ensure that BtreeMovetoUnpacked() does not try to invoke xRecordCompare when it is set to NULL. check-in: 2879234b user: dan tags: trunk
14:34
Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. check-in: 7f51ad97 user: drh tags: sessions
13:18
Improve clarity of presentation in the sqlite3VdbeMemFromBtree() routine. check-in: 9830c343 user: drh tags: trunk
12:07
Fix comment in test. check-in: 1e57f67b user: mistachkin tags: trunk
11:54
Fix minor typos in the new test file. check-in: 3cbb9b1b user: mistachkin tags: trunk
11:35
Add tests to verify the fix for bug [4ef7e3cfca]. check-in: 62410bb8 user: dan tags: trunk
11:29
Fix name resolution problem in sub-selects within triggers, ticket [4ef7e3cfca]. check-in: 5bcd0b1c user: mistachkin tags: trunk
11:16
Fix harmless compiler warning. check-in: 8d18a803 user: mistachkin tags: trunk
04:12
Refactor the sqlite3VdbeRecordCompare() routine used to compare btree records. Create fast-track special case routines to handle the common cases more quickly. This gives a significant performance boost. check-in: 3325ad5b user: drh tags: trunk
04:04
Fix more instances of assuming 'char' is signed. And, make sure to never shift a signed integer. Closed-Leaf check-in: f10130ed user: drh tags: broken-on-arm
00:15
Do not assume that 'char' is signed. Make it explicit. check-in: 979da752 user: drh tags: broken-on-arm
2014-03-03
21:59
Refactor the sqlite3VdbeRecordCompare() routine used to compare btree records. Create a couple of fast-track routines to handle the common cases of a string with BINARY collation or integer values as the left-most column. This gives a significant performance boost in common use. Oops: This build does not work on the Beaglebone where "char" defaults to unsigned. check-in: aec5473a user: drh tags: broken-on-arm
21:46
Fix a couple of harmless compiler warnings. Closed-Leaf check-in: fcf480cc user: drh tags: experimental
20:48
Avoid a buffer overread in vdbeCompareRecordInt() that might occur if the database is corrupt. check-in: 7c0b4381 user: dan tags: experimental
19:29
Fix a typo in a comment. No changes to code. check-in: 1f4991ab user: drh tags: experimental
18:25
Fix compiler warnings. check-in: ba899372 user: drh tags: experimental
17:48
Merge latest trunk changes. check-in: 1d603564 user: dan tags: experimental
17:36
Change an OP_SCopy into an OP_Copy in a case where the destination might be used after the source has changed. check-in: c0fa0c0e user: drh tags: trunk
16:48
Change the "explain_i" tcl test command so that xterm color codes are only added if the output is actually a terminal. check-in: 559835e5 user: dan tags: trunk
15:13
Fix a harmless compiler warning. check-in: d7f6837e user: drh tags: experimental
14:45
Merge latest trunk changes. check-in: e00ed717 user: dan tags: experimental
14:20
Fix a segfault that can occur following an OOM error. check-in: 7fdd378d user: dan tags: trunk
00:12
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. check-in: e3f6c61e user: drh tags: trunk
2014-03-01
19:45
Merge trunk changes. check-in: 9c1747b5 user: dan tags: experimental
19:44
Remove the vdbeRecordCompareLargeHeader function. Fix some other details. check-in: 3861e853 user: dan tags: experimental
18:13
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. Closed-Leaf check-in: 44e1c337 user: drh tags: enhanced-mem-check
16:24
Factor the Mem invariant checker into a separate procedure (rather than a macro) so that it can be more easily extended. check-in: 354699d5 user: drh tags: enhanced-mem-check
14:45
Add extra assert() statements trying to catch a Mem object in an inconsistent state. check-in: 4aeb3ae4 user: drh tags: enhanced-mem-check
2014-02-28
20:47
In the command-line shell add the (undocumented and unsupported) ".eqp" command and -eqp command-line option, to cause EXPLAIN QUERY PLAN to be run on each SQL statement as it is evaluated. Intended use is for analysis of the query planner. check-in: e6ecf733 user: drh tags: trunk
19:37
Provide an #ifdef in shell.c to work around issues when cross-compiling from Ubuntu to windows. check-in: 0a3579d9 user: drh tags: trunk
18:39
Update some test cases that deal with corrupt databases. check-in: 3a09f560 user: dan tags: experimental
09:48
Minor tweak to vdbeRecordCompareInt(). check-in: 284bde0e user: dan tags: experimental
2014-02-27
20:52
Merge in latest trunk changes. check-in: 8f30b095 user: dan tags: experimental
20:44
Further changes to sqlite3VdbeRecordCompare(). check-in: 57089374 user: dan tags: experimental
15:11
A better way of handling the USE_SYSTEM_SQLITE #define in shell.c. check-in: 51ce713c user: drh tags: trunk
15:04
Add #defines to the command-line shell source code (shell.c) so that it can be imported directly into other projects (ex: Fossil) and used without editing. check-in: a6690400 user: drh tags: trunk
05:47
Merge updates from trunk. check-in: ed0bfcfa user: mistachkin tags: winIoRetry
2014-02-26
21:35
More efficient removal of duplicates in recursive queries using the UNION compound operator. check-in: 06c2db87 user: drh tags: trunk
19:05
Only run the OP_OpenRead opcodes for a correlated subquery once, on the initial iteration. Keep the cursor open for subsequent runs. This was suppose to be a performance enhancement, but it is difficult to come up with a query where is makes a significant difference. Hence, the change is getting parked in a branch. Leaf check-in: 3ad687b7 user: drh tags: open-only-once
13:53
In the command-line shell for CSV import, if the lines are \r\n terminated and the last field is blank, make sure an empty string and not a "\r" string is imported. check-in: 9c2e7612 user: drh tags: trunk
02:26
Improved handling of constants and especially constant functions in the ORDER BY clause of a query. Do not optimize out "ORDER BY random()". Fix for ticket [65bdeb9739605cc2296]. check-in: dca1945a user: drh tags: trunk
2014-02-25
21:55
Do not allow temporary registers to be in use across an OP_Yield within a co-routine. Fix for ticket [8c63ff0eca81a9132d8]. check-in: 97a8c973 user: drh tags: trunk
21:01
Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. check-in: 85206e0b user: dan tags: experimental
19:38
Make sure temporary registers used within a co-routine are not also used outside of that co-routine, in order to prevent concurrent use of the same register for two different things. Ticket [8c63ff0eca81a9132d8] Closed-Leaf check-in: cc5eda54 user: drh tags: tkt-8c63ff0eca
18:12
Also adjust the order of files in the amalgamation to ensure that _FILE_OFFSET_BITS is defined before any #include, for QNX. check-in: 23001a85 user: drh tags: trunk
14:52
QNX requires that _FILE_OFFSET_BITS be set prior to any system #include. check-in: 953cdd6a user: drh tags: trunk
2014-02-24
21:42
Fix several small style/consistency issues with the previous check-in. check-in: 2477b3a2 user: mistachkin tags: trunk
21:23
Merge updates from trunk. Closed-Leaf check-in: 854d410a user: mistachkin tags: cygDlOpen
21:20
Enhance testing support for the Win32 VFS dynamic extension loading facilities. check-in: 53081e72 user: mistachkin tags: trunk
19:49
Close some stray connections in walro.test. check-in: d6746cab user: dan tags: trunk
19:07
In memsys5, initialize new allocations to non-zero bytes. Change the content of freed allocations to prevent use after free. These changes in SQLITE_DEBUG only. check-in: ba5f0a55 user: drh tags: trunk
14:24
Remove an unused variable from the VDBE_PROFILE compile-time option. Keep the opcode count in an u32 instead of an int. check-in: 4df0ac90 user: drh tags: trunk
2014-02-21
10:48
Merge updates from trunk. check-in: 09cf240a user: mistachkin tags: winHdr
05:44
Better loadable extension handling in the Win32 VFS when compiled for Cygwin. check-in: 6676475c user: mistachkin tags: cygDlOpen
2014-02-20
19:42
Fix the text of a comment used to generate VDBE opcode documentation so that it omits symbols that can be mistaken for a hyperlink by the parser. check-in: b46d4e89 user: drh tags: trunk
19:32
Fix a harmless shadowed-variable warning. check-in: 82402909 user: drh tags: trunk
19:23
Make sure that the difference between two string pointers is passed into sqlite3_mprintf() as type "int". check-in: d5d973fe user: drh tags: trunk
2014-02-19
19:14
Add the VdbeCoverageNeverTaken() macro, and comments that better describe how the VDBE branch coverage measurement works. Add some tags to provide 100% VDBE branch coverage. check-in: c1e94169 user: drh tags: trunk
14:20
Add the SQLITE_NOTNULL P5 code for comparison operations - really a composite of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands are not possible and raises and assert() if NULL operands are seen. Also omit an unnecessary scan of the sqlite_sequence table when writing into an AUTOINCREMENT table. check-in: d2c047f3 user: drh tags: trunk
01:31
Make sure a multi-row VALUES clause works correctly in a compound SELECT. check-in: 85b355cf user: drh tags: trunk
00:53
Tweaks in support of VDBE branch test coverage. check-in: b9782564 user: drh tags: trunk
2014-02-18
11:31
Fix VDBE branch accounting on comparison operators. check-in: b287520c user: drh tags: trunk
05:18
Enhance the Win32 VFS I/O retry logic. check-in: adba783c user: mistachkin tags: winIoRetry
03:07
Add VdbeCoverage() and VdbeCoverageIf() macros for improved VDBE coverage testing. check-in: b92d31a9 user: drh tags: trunk
01:07
Improvements to "NOT IN (SELECT ...)" processing. Only test for NULL values on the RHS on the first iteration, then remember the result. There has been logic to do this for year, but it didn't work right and ended up repeating the NULL test on every iteration. This inefficiency was found using the VDBE coverage testing tools. check-in: 915f6f1c user: drh tags: trunk
2014-02-17
23:52
Merge in performance enhancements for INSERT operations, especially INSERTs on tables that have no affinity columns or that have many indices or INSERTs with content coming from a SELECT. Add the SQLITE_TESTCTRL_VDBE_COVERAGE test control and the SQLITE_VDBE_COVERAGE compile-time option used for measure coverage of branches in VDBE programs. check-in: a7268769 user: drh tags: trunk
22:40
Add logic to do test coverage measurements on the VDBE code. Closed-Leaf check-in: ce184c7b user: drh tags: insert-optimization
15:40
Add a test case for OP_SoftNull. check-in: f29d194e user: drh tags: insert-optimization
15:36
Merge the VDBE_PROFILE fixes from trunk. check-in: 2914e419 user: drh tags: insert-optimization
14:59
Avoid unnecessary calls to applyAffinity() during INSERT and UPDATE operations, especially for table that have indices and tables for which all columns have affinity "NONE". check-in: 35b4d6e9 user: drh tags: insert-optimization
01:13
Fix the VDBE_PROFILE logic. Add a script to process the output file. check-in: 7adb3da2 user: drh tags: trunk
2014-02-16
19:20
Use the modern MinGW major version macro, not the deprecated one. Closed-Leaf check-in: 057c16ee user: mistachkin tags: mingw4x
01:55
Enhance the code generator for INSERT INTO ... SELECT so that the SELECT generates output directly in the registers that INSERT INTO will be using, in many cases, and OP_SCopy operations can thus be avoided. check-in: aa2d8b0e user: drh tags: insert-optimization
2014-02-14
23:49
Seek past NULLs in a top-constrained search. Avoid checking for NULLs in the body of the search. check-in: e07a32f3 user: drh tags: trunk
23:35
Better support for MinGW 4.x. check-in: e1472307 user: mistachkin tags: mingw4x
20:59
Reduce the number of cases where it is necessary to check for NULL after the loop terminating condition. check-in: 3c1ae447 user: drh tags: trunk
15:13
Add OP_IdxGT and OP_IdxLE as distinct opcodes. Formerly these operations where done using OP_IdxGE and OP_IdxLT with the P5 flag set. But VDBE code is easier to read with distinct opcode names. Also change OP_SeekGe to OP_SeekGE, and so forth, so that the capitalization is consistent. The whole point of this change is to improve the readability of VDBE listings. check-in: b6bea903 user: drh tags: trunk
00:25
Revise how the Tcl system encoding is handled by the test suite. check-in: 9e573198 user: mistachkin tags: trunk
2014-02-13
21:57
Improvements to the makefile and README for MSVC. check-in: b22b6140 user: mistachkin tags: trunk
19:27
Ensure that if the "psow=0" URI option or FCNTL_POWERSAFE_OVERWRITE file-control is used to clear the power-safe overwrite flag, extra padding frames are added to the WAL file. check-in: 48c821fd user: dan tags: trunk
19:10
Change README to README.md and expand it. Remove unrelated and obsolete files. check-in: 18d4e258 user: drh tags: trunk
18:46
Avoid passing a flags argument with the internal WAL_SYNC_TRANSACTIONS bit set when calling sqlite3OsSync(). check-in: e3b79e92 user: dan tags: trunk
13:42
Update the tclconfig files to the latest from http://core.tcl.tk/tclconfig. check-in: b81ba7a4 user: drh tags: trunk
2014-02-12
23:52
Minor simplifications to the "zeroPage()" routine in btree.c. check-in: cc8f10bc user: drh tags: trunk
21:31
Remove the "rowid cache" that sought to remember the largest rowid for a table and thereby speed up OP_NewRowid. That cache was ineffective. Removing it results in a performance increase of 0.4%, less memory usage, and a slightly smaller library size. check-in: 56bc5ce8 user: drh tags: trunk
15:05
Various fixes and test case updates so that veryquick.test passes again. Leaf check-in: f352ef57 user: dan tags: deferred-open
14:43
Make sure "rowid" columns are correctly resolved in joins between normal tables and WITHOUT ROWID tables. Fix for ticket [c34d0557f740c45070]. check-in: 5d01426d user: drh tags: trunk
14:43
Merge latest trunk changes. check-in: 4d7057c4 user: dan tags: deferred-open
2014-02-11
19:35
Test case updates to account for the fact that database files are not created until they are first written. check-in: 8ef97420 user: dan tags: deferred-open
16:31
Sync with trunk. Bring in the command-line shell updates and the new 3.8.4 version number. check-in: 2cd35ff6 user: drh tags: sessions
16:24
Increase the version number to 3.8.4 check-in: 0a8bcbbd user: drh tags: trunk
16:22
Updates to the command-line shell. Simplify the banner message. Add the ".save" command as an alias for ".backup". When starting with no arguments, include a banner message warning that the database is transient and in-memory and mention the ".open" command. check-in: f5ad1e1b user: drh tags: trunk
14:52
Version 3.8.3.1 check-in: ea3317a4 user: drh tags: release, version-3.8.3.1, branch-3.8.3
14:37
Fixes to the "editline" support in the command-line shell. check-in: 7989ce5f user: drh tags: trunk
05:26
Merge latest trunk changes. check-in: 1f2e1b0c user: dan tags: deferred-open
04:30
Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix. check-in: b0067926 user: drh tags: sessions
03:55
Increase the version number to 3.8.3.1. check-in: 3111df71 user: drh tags: branch-3.8.3
03:50
Make sure that virtual WHERE-clause terms do not get transformed into real terms when processing set of OR-connected terms. Fix for ticket [4c86b126f22ad]. check-in: de635e09 user: drh tags: branch-3.8.3
01:50
Make sure that virtual WHERE-clause terms do not get transformed into real terms when processing set of OR-connected terms. Fix for ticket [4c86b126f22ad]. check-in: c950d6c4 user: drh tags: trunk
2014-02-10
21:09
Fix a bug causing the POWERSAFE_OVERWRITE device-characteristic flag to be set incorrectly if file opening is deferred. check-in: 95d0c58d user: dan tags: deferred-open
21:07
Fix a pointless conditional. Add a test case. check-in: 9367632d user: drh tags: trunk
19:59
Add the ".save" command as an alias for ".backup". Improvements to the way font changes are implemented on the in-memory database warning. Closed-Leaf check-in: fe284afe user: drh tags: memdb-warning
19:37
Experimental change to os_unix.c to delay creating a database file until it is first written. check-in: 538f7b25 user: dan tags: deferred-open
19:36
On unix, make the "transient in-memory database" text bold, but not red. Leave the text read on windows. check-in: c9eba2f7 user: drh tags: memdb-warning
19:27
In the command-line shell, on the banner, warn about the use of a transient in-memory database in bold red text. check-in: 0fbc0fce user: drh tags: memdb-warning
18:56
Fix the compound-select-to-subquery converter so that it works with the new compound-select object linkage introduced as part of the fix for ticket [31a19d11b97088296]. check-in: 572d4be4 user: drh tags: trunk
16:13
Modify the command-line shell to print a warning when using an in-memory database. check-in: 90e9deae user: drh tags: memdb-warning
15:56
Improvements to a "Synopsis:" comment in the VDBE engine. check-in: 0dfa7ee9 user: drh tags: trunk
12:59
Faster implementation for sqlite3MulInt64(). check-in: 010c48f6 user: drh tags: trunk
03:21
Faster and smaller implementation of sqlite3_value_type(). check-in: 5708bc24 user: drh tags: trunk
2014-02-09
23:59
Add a compound-query test to the speedtest1 test program. check-in: 53299575 user: drh tags: trunk
18:02
Use the WITH clause to help resolve names for SELECT statements on the left of a compound query. Proposed fix for ticket [31a19d11b97088296a]. check-in: 67bfd59d user: drh tags: trunk
00:52
Add the Mandelbrot Set testcase to the "cte" testset of speedtest1. check-in: 56febbeb user: drh tags: trunk
00:18
Add a new "testset" to the speedtest1 program: The sudoku solver. check-in: 4677ef2f user: drh tags: trunk
2014-02-08
23:20
Do away with the "multi-register pseudo-table" abstration. Instead, just use an OP_SCopy to load results directory from the result registers of the co-routine. check-in: 1e64dd78 user: drh tags: trunk
19:12
Change the OP_Found opcode so that it expands zero-blobs prior to comparing them. Fix for ticket [fccbde530a6583b] check-in: e2303d1b user: drh tags: trunk
13:24
Fix a harmless compiler warning in VS2013. check-in: 83116ee3 user: drh tags: trunk
13:22
Fix a harmless compiler warning in VS2013. check-in: 35f2793d user: drh tags: branch-3.8.3
13:12
Tweaks to the generated VDBE code to make it a little easier to follow. check-in: 129217ee user: drh tags: trunk
04:24
Enable constant expression factoring even if no tables are read and no transaction is started. check-in: a45b8771 user: drh tags: trunk
01:40
Change the OP_Trace opcode to OP_Init and give it the ability to jump to the initialization code at the bottom of the program, thus avoiding the need for an extra OP_Goto. check-in: 192dea97 user: drh tags: trunk
2014-02-07
22:21
Add opcodes OP_InitCoroutine and OP_EndCoroutine. Use these to remove the need for separate boolean registers to record when a co-routine has finished. check-in: 5a88b6a7 user: drh tags: trunk
19:33
Fix redundant definitions of _LARGE_FILE and _LARGEFILE_SOURCE. check-in: 4043d879 user: drh tags: trunk
19:26
In the TCL bindings, make sure Tcl_AppendResult() is always terminated by "(char*)0" and not just "0". check-in: ea4d23d1 user: drh tags: trunk
19:18
Change the OP_InitCoroutine instruction to jump over the co-routine implementation. Closed-Leaf check-in: a522f364 user: drh tags: coroutine-refactor
18:27
Get rid of the OP_Undef and OP_IsUndef opcodes in favor of higher-level OP_InitCoroutine and OP_EndCoroutine. check-in: 1ec0e9dd user: drh tags: coroutine-refactor
13:20
Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register in the result register range as the flag to indicate EOF on an INSERT from a SELECT, rather than allocating a separate boolean register for that task. check-in: 6fb74485 user: drh tags: coroutine-refactor
03:28
More comment updates. No changes to code. check-in: be24fbc2 user: mistachkin tags: trunk
02:29
Update comments in vdbe.c. No changes to code. check-in: 1122b410 user: drh tags: trunk
2014-02-06
23:56
Delete the OP_VerifySchema opcode. Enhance OP_Transaction to do the schema version checks that OP_VerifySchema used to do. check-in: 2f3376eb user: drh tags: trunk
14:59
Change more OP_OpenEphemeral operations to OP_OpenHash. Leaf check-in: 881164cf user: drh tags: subquery-codegen-refactor
13:18
Change the spellfix1 virtual table to deterministically names its shadow tables. check-in: 5219cdfc user: drh tags: trunk
03:31
Use OpenHash instead of OpenEphemeral for the RHS of IN operators if the result is not needed for sorting. check-in: 715fac77 user: drh tags: subquery-codegen-refactor
02:46
Add additional error messages and a progress spinner to the ".clone" command. check-in: dd0db3f0 user: drh tags: trunk
01:15
Rename the '.repair' shell command to '.clone'. check-in: 4f9d9562 user: mistachkin tags: trunk
00:49
Add the ".repair" command to the command-line shell. check-in: d1dfadea user: drh tags: trunk
2014-02-05
19:10
Separate out the code generators for the RHS of an IN operator and for SELECT/EXISTS expressions. check-in: 61c34ba7 user: drh tags: subquery-codegen-refactor
18:15
Use a new opcode, OP_OpenHash, to indicate that ephemeral tables can be unordered, rather than using the BTREE_UNORDERED bit in the P5 field. check-in: 2997e181 user: drh tags: subquery-codegen-refactor
17:08
Make the root page of an ephemeral index be page 1 instead of page 2. check-in: a332908b user: drh tags: subquery-codegen-refactor
11:05
In the Win32 VFS, the winSysInfo variable should be static. check-in: 4a4dd371 user: mistachkin tags: trunk
2014-02-04
23:45
Do not mark the ephemeral tables used to hold the RHS of IN clauses as unordered because the NGQP will use those ephemeral tables to help order the output. This is not an issue for standard SQLite since ephemeral tables there are always ordered, regardless of the hint. It only affects systems that substitute an alternative storage engine. check-in: f2504089 user: drh tags: trunk
20:46
Remove the SF_Materialize flag from the SELECT object as it does not accomplish anything useful. check-in: 65d5dcdd user: drh tags: trunk
15:55
Rearrange fields in the Parse object for a tighter packing, resulting in an 8% size reduction on x64. check-in: 3e1a3f68 user: drh tags: trunk
2014-02-03
17:04
Performance optimizations in sqlite3PcacheFetch(). check-in: b60cc11e user: drh tags: trunk
14:04
Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. check-in: 6c643e45 user: drh tags: trunk
13:58
Sync with version 3.8.3. check-in: a704b65b user: drh tags: sessions
13:52
Version 3.8.3 check-in: e816dd92 user: drh tags: trunk, release, version-3.8.3
13:49
Minor change to TEA extension docs in an attempt to make links work correctly. check-in: af3c775e user: drh tags: trunk
2014-01-31
11:50
Update the "sqlite3.1" unix manpage document. check-in: 21ce9e3a user: drh tags: trunk
06:35
Minor change to TEA extension docs in an attempt to make links work correctly. Closed-Leaf check-in: 492585c8 user: mistachkin tags: teaDoc
2014-01-30
17:47
Update evidence marks on SELECT tests. Comment changes only. No changes to code or tests. check-in: 1973d80e user: drh tags: trunk
15:03
Fix requirements marks only. No changes to code or tests. check-in: 4a34378b user: drh tags: trunk
14:10
Update a requirement mark and add some additional test cases to cover the requirement associated with ORDER BY and LIMIT on compound SELECT statements. check-in: 8560091e user: drh tags: trunk
12:45
Enhance the MSVC makefile for better debugging symbol support. check-in: c9bef0f2 user: mistachkin tags: trunk
12:16
Do not run test script mmapfault.test as part of the "inmemory_journal" permutation test. check-in: b222b61a user: dan tags: trunk
11:12
Enhance the MSVC makefile for better debugging symbol support. Closed-Leaf check-in: c723ec27 user: mistachkin tags: msvcDebug
2014-01-29
14:21
Merge latest fixes from the trunk. check-in: 6b6dcd4c user: dan tags: sessions
01:46
Make sure that sqlite3SelectDup() initializes the nSelectRow of the duplicate Select object. check-in: 5bb29b82 user: drh tags: trunk
2014-01-28
20:36
Fix harmless compiler warnings in the showdb utility program. check-in: 27c27daa user: drh tags: trunk
18:53
Fix a potential over-size and hence undefined shift operation. check-in: 6379b072 user: drh tags: trunk
18:06
Bring in the latest updates from trunk. check-in: 7b5f3773 user: drh tags: sessions
17:49
Minor bugfix in main.c so that the library builds with SQLITE_OMIT_WSD defined. check-in: 5e3b9ecc user: dan tags: trunk
00:49
Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. Leaf check-in: a2c347fa user: drh tags: branch-3.8.2
2014-01-27
16:35
Fix a couple of problems with new test scripts causing the permutations test to fail. check-in: 48d736c0 user: dan tags: trunk
15:02
Update some requirements marks to conform with improvements in the documentation. check-in: be1acb61 user: drh tags: trunk
14:19
Fix a problem in pagerfault.test causing an assert() to fail. check-in: ba8d2d50 user: dan tags: trunk
13:58
Fix (harmless) duplicate variable declaration. check-in: 94ed9bc4 user: drh tags: trunk
08:48
Fix some problems in test scripts. No code changes. check-in: 08acfc65 user: dan tags: trunk
2014-01-25
12:16
Fix a problem causing SQLITE_OMIT_COMPOUND_SELECT builds to fail. check-in: b30db0ac user: dan tags: trunk
2014-01-24
22:58
Fixes for various clang warnings. check-in: 87bf6063 user: drh tags: trunk
20:37
Select collation sequences for ORDER BY expressions attached to recursive CTEs in the same way as they are selected for other compound SELECT statements. check-in: 9554519c user: dan tags: trunk
17:03
Fix harmless compiler warnings in the Tcl interface. check-in: 35bc81f5 user: mistachkin tags: trunk
16:57
Add test cases for LIMIT and ORDER BY on recursive CTEs. check-in: 67d6c42d user: dan tags: trunk
16:36
Use an unsigned integer to accumulate the string hash. Avoids compiler warnings. check-in: b1824344 user: drh tags: trunk
15:42
Add a few more CTE test cases to closure.test. check-in: 1b6405d9 user: drh tags: trunk
14:37
Add test cases that compare the performance of the transitive_closure virtual table again common table expressions for walking a tree. check-in: 9a23f020 user: drh tags: trunk
14:05
Bring in all the latest trunk changes, including the Common Table Expressions implementation. check-in: 9b43e559 user: drh tags: sessions
11:16
Add test cases showing the use of ORDER BY on a recursive query to control depth-first versus breath-first search of a tree. check-in: 83b0b291 user: drh tags: trunk
2014-01-23
14:44
Modifications to test files to omit any tests that intentionally access out-of-bounds locations in clang -fsanitize=address builds. check-in: f4a701d5 user: dan tags: trunk
2014-01-22
19:23
Avoid an extra seek when inserting records into the epheremal index used to ensure that rows returned by UNION recursive queries are unique. check-in: 72c4b3f0 user: dan tags: trunk
18:31
Fix harmless compiler warnings. check-in: dea2ca6a user: drh tags: trunk
18:16
Change the WITH RECURSIVE implementation to use a queue instead of a pair of tables. Add support for ORDER BY, LIMIT, and OFFSET on recursive queries. check-in: b6cea420 user: drh tags: trunk
18:07
Add support for LIMIT and OFFSET in a recursive query. Closed-Leaf check-in: 1945484e user: drh tags: cte-via-queue
17:43
Update the spellfix virtual table to optimize queries of the form "SELECT ... FROM tbl WHERE rowid=?". check-in: a0ba55ff user: dan tags: trunk
17:28
Get ORDER BY working for recursive queries. check-in: 37b343b0 user: drh tags: cte-via-queue
13:35
Add new SelectDest codes, SRT_Queue and SRT_DistQueue in anticipation of adding ORDER BY support on recursive queries. Factor out the recursive query code generator into a separate procedure. check-in: 3eb5f9f8 user: drh tags: cte-via-queue
10:22
Fix a typo in a comment. No changes to code or tests. check-in: cceacc0e user: dan tags: cte-via-queue
00:23
Remove an unnecessary parameter from selectInnerLoop(). Clean up comments. check-in: 5e6c4a55 user: drh tags: cte-via-queue
2014-01-21
22:25
Change the recursive common table expression algorithm to use a queue instead of a pair of tables. Runs about 25% faster on the sudoku solver query. The OP_SwapCursors opcode is no longer required. The current implementation uses just a fifo, but the plan is to change it into a queue that will support ORDER BY and LIMIT in a recursive query. check-in: b2671e11 user: drh tags: cte-via-queue
15:04
Remove the undocumented requirement for applications that use an SQLITE_ENABLE_SQLLOG build to define a sqlite3_init_sqllog() function. check-in: 5e43bf01 user: dan tags: trunk
01:13
Fix a couple comment typos and one overly long line. No functional changes. Closed-Leaf check-in: c57deced user: mistachkin tags: level-pseudocolumn
00:19
Add support for the LEVEL pseudo-column in the recursive part of a common table expression. LEVEL has the value of 1 on the first iteration and successively larger integer values of subsequent iterations. It cannot have a table qualifier. Actual columns named "level" can still be accessed by including the table name qualifier. check-in: cc1cb321 user: drh tags: level-pseudocolumn
2014-01-20
19:55
In where.c, do not allocate space in sqlite3_index_info structures for the internal WHERE clause "terms" generated to record column equivalencies. Fix for ticket [1a1a194d1e5f8]. check-in: 7d9e2218 user: dan tags: trunk
18:25
Handle a few obscure problems that could manifest if a database corrupted in a certain way was written by a connection in the middle of a SELECT statement on the same db. check-in: eba8a564 user: dan tags: trunk
14:58
Remove an unused #define and add an assert(), both associated with WITH logic. check-in: a06235e0 user: drh tags: trunk
14:17
Do not run the tests in with2.test with SQLITE_OMIT_CTE builds. check-in: 8a973912 user: dan tags: trunk
2014-01-18
18:33
Add a sudoku solver to the recursive query tests in with1.test. check-in: 679eff87 user: drh tags: trunk
15:59
Add extra test cases. No changes to code. check-in: d38d485e user: dan tags: trunk
15:22
Add asserts() for a couple of unreachable conditions. Add the Mandelbrot Set query as a test case. check-in: 2ad4583c user: drh tags: trunk
08:27
Avoid spurious "no such table" errors in statements of the form "INSERT INTO tbl WITH xxx AS (...) SELECT * FROM xxx". check-in: cccff8a0 user: dan tags: trunk
2014-01-17
20:36
Add extra tests to with2.test. check-in: eecc325a user: dan tags: trunk
18:34
Minor simplification of error message text for a couple of errors associated with WITH clause processing. check-in: 2031004d user: drh tags: trunk
17:40
Resolve table names within CTEs in the context in which the CTE is declared, not the context in which it is used. check-in: a7323838 user: dan tags: trunk
16:19
Add tests that verify that keywords WITH, WITHOUT, and RECURSIVE can still be used as table and column names. check-in: 9ca18a01 user: drh tags: trunk
15:27
Fix a compiler warning in selectPopWith(). check-in: c8eb1163 user: drh tags: trunk
15:15
Add support for common table expressions (WITH clauses). check-in: 0171e3bb user: dan tags: trunk
14:59
Fix some problems to do with WITH clauses and name resolution. Closed-Leaf check-in: 6a549187 user: dan tags: common-table-expr
11:48
Remove some code from resolve.c that was only required for recursive cte references in sub-queries. Also a stray "finish_test" command in pagerfault.test. check-in: f68c6c4d user: dan tags: common-table-expr
2014-01-16
22:40
Add the ability for the authorizer callback to disallow recursive queries. check-in: 9efc120a user: drh tags: common-table-expr
21:59
Tweaks to error message text. check-in: 090a77d9 user: drh tags: common-table-expr
21:02
Improve the error messages used to report illegal recursive cte references. check-in: 54eee9fe user: dan tags: common-table-expr
18:34
Allow only a single recursive reference in a recursive CTE. Also require that this reference is not part of a sub-query. check-in: a296b733 user: dan tags: common-table-expr
15:31
Always use available indices to optimize LIKE operators even if the pattern of the LIKE operator has a COLLATE modifier. This fixes an ineffiency that was introduced into 3.7.15 by check-in [8542e6180d4] on 2012-12-08. check-in: 16bd5478 user: drh tags: trunk
10:58
Disable the flattening optimization if the parent query is the recursive part of a recursive CTE and the sub-query is a compound query. check-in: 6bfa387e user: dan tags: common-table-expr
04:37
Merge trunk changes. Fix a possible NULL-pointer deference in WITH clause name resolution. check-in: 7f953b56 user: drh tags: common-table-expr
2014-01-15
20:10
Remove an ALWAYS() that is no longer always true. check-in: c95823cd user: drh tags: common-table-expr
19:42
Fixes so that SQLITE_OMIT_CTE builds work. check-in: 3908e2ea user: dan tags: common-table-expr
18:35
Further comments on WITH-clause processing routines in select.c. check-in: c948384d user: drh tags: common-table-expr
18:23
Add a header comment to the searchWith() routine. check-in: d9ae0f5d user: drh tags: common-table-expr
18:21
Disable automatic indices on recursive CTE references. check-in: 28aa6db8 user: dan tags: common-table-expr
18:12
When resolving names, consider a reference to a recursive CTE column as equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such. check-in: 61be2da0 user: dan tags: common-table-expr
15:27
Return an error if a CTE specifies a different number of columns than its SELECT statement returns. check-in: 9a514b50 user: dan tags: common-table-expr
14:40
Don't try to verify the schema of transient table (such as generated inside a WITH clause) when generating code for "IN table" operators. check-in: 860aa936 user: drh tags: common-table-expr
14:17
Disable the flattening optimization if the sub-query is a recursive CTE. check-in: 9472f6d8 user: dan tags: common-table-expr
02:40
Use the user-supplied table name in WITH RECURSIVE tables as the internal name of the table and the name of the table in VDBE comments. check-in: a2933023 user: drh tags: common-table-expr
00:24
Merge recent fixes from trunk. Cherrypick of [c43b59dac1], [a221aa82bb], [e1eba1fb09], and [1e131094b5]. check-in: c697d2f8 user: mistachkin tags: branch-3.8.2
2014-01-14
20:14
Add code to handle recursive CTEs. check-in: a5c2a54a user: dan tags: common-table-expr
10:17
Fix harmless compiler warning in LEMON. check-in: f61a7058 user: mistachkin tags: trunk
10:17
For the Win32 VFS, defining winShmMutexHeld should be controlled by NDEBUG, not SQLITE_DEBUG. check-in: 1e131094 user: mistachkin tags: trunk
2014-01-13
20:38
In the command-line shell, defend against a NULL-pointer dereference in the case where sqlite3_column_name() returns NULL (as might happen following an OOM error). check-in: ac15455a user: drh tags: trunk
20:32
For statements of just an unadorned VALUES clause, assign column names as "columnN" for increasing whole numbers N. check-in: 260587d2 user: drh tags: trunk
16:36
Fix some memory leaks and crashes that could follow an OOM condition during WITH clause parsing. check-in: 8839850c user: dan tags: common-table-expr
15:12
Add code to handle non-recursive CTEs in the same way as SQL views. check-in: a26f399b user: dan tags: common-table-expr
2014-01-11
19:19
Update the parser so that sub-queries and CTEs may have WITH clauses. check-in: 704d3931 user: dan tags: common-table-expr
13:22
Parse common table expressions. But do not do anything with them (yet). check-in: da98b720 user: drh tags: common-table-expr
12:52
In LEMON, limit the size of the grammar file to 100MB. This ensures that the program will never experience integer overflow. To be doubly sure, use calloc() instead of malloc() when allocating arrays. check-in: 29ba458d user: drh tags: trunk
03:54
Optimizations to the SQL language grammar that result in a small size reduction and speed increase. check-in: cb5d1f83 user: drh tags: trunk
03:27
Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. (Aside: It is this change to avoid harmless compiler warnings that was the cause of the reason spat of bugs.) check-in: 8eb48c04 user: drh tags: trunk
03:13
Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. Closed-Leaf check-in: 4e4483b2 user: drh tags: buggy-lemon
03:06
In LEMON, fix a bug in the text formatter introduced by the previous commit. Also add the new "%token_class" directive for defining symbolic names that stand any one of a collection of tokens. Closed-Leaf check-in: da7890ca user: drh tags: lemon-updates
2014-01-10
23:21
Do not use sprintf(), strcpy() or strcat() in the implementation of the lemon parser generator tool, to avoid compiler warnings in OpenBSD. check-in: e43c522d user: drh tags: lemon-updates
20:51
Remove unused structure definition from parse.y. check-in: 7f1e7ae3 user: drh tags: trunk
20:46
Allow a VALUES clause to be used any place that a SELECT statement can be used. check-in: c9ea7d19 user: drh tags: trunk
20:38
Fix CREATE TABLE ... AS so that it works with column names that are empty strings. check-in: 632045f2 user: drh tags: trunk
16:40
Fix another harmless compiler warning in unixUnfetch(). check-in: 0484549b user: dan tags: trunk
2014-01-09
13:39
Fix harmless compiler warning in unixUnfetch(). check-in: 618f248f user: drh tags: trunk
2014-01-06
18:32
Start a new experimental branch for support of Oracle-style CONNECT BY syntax. Closed-Leaf check-in: 4365ddd6 user: drh tags: connect-by
2014-01-04
20:00
Fix an typo that breaks the build when SQLITE_ENABLE_TREE_EXPLAIN is defined. check-in: f461e2b3 user: drh tags: trunk
19:58
Add the usual "fts3" prefix to new static method setEstimatedRows() in fts3.c. This fixes a problem when compiling the amalgamation, as the r-tree module also contains a static method named setEstimatedRows. check-in: d6fcfc88 user: dan tags: trunk
19:27
Avoid redundant register loads during index key generation when doing a DELETE or INTEGRITY_CHECK on a table with multiple indices. check-in: 8f6e6149 user: drh tags: trunk
16:49
Omit OP_Close operations that occur immediately prior to OP_Halt and which cannot be jumped over. check-in: 874b7e99 user: drh tags: trunk
15:17
Improvements to the column-cache for nested AND/OR operators. check-in: 4e725f53 user: drh tags: trunk
14:46
Have FTS assign extremely high costs to plans that feature unusable MATCH constraints. This discourages the planner from choosing such plans, which lead to "unable to use function MATCH in the requested context" errors. check-in: fa8be488 user: dan tags: trunk
14:42
Instead of having the planner ignore plans with unusable MATCH constraints, have FTS assign extremely high costs to such plans in order to discourage the planner from using them. Closed-Leaf check-in: 24f84b38 user: dan tags: avoid-unusable-match
14:16
Have the planner detect cases where a MATCH constraint is applied to a virtual table, and ignore any plans that do not allow the virtual table implementation to implement the MATCH filtering. check-in: 19f3208b user: dan tags: avoid-unusable-match
2014-01-03
16:03
Avoid some unnecessary OP_SCopy operations when inserting into a table with multiple indices. check-in: 429018b1 user: drh tags: trunk
2014-01-02
21:05
Try to factor constant subcomponents of the WHERE clause out of the loop. check-in: 9d05777f user: drh tags: trunk
19:35
Avoid unnecessary affinity transformations when building indices using data from a table. check-in: 10d85135 user: drh tags: trunk
17:57
Be more aggressive in optimizing constant conditional expressions. check-in: b7e39851 user: drh tags: trunk
2014-01-01
15:18
Try to detect process ID changes due to fork() calls in os_unix.c and reset the PRNG when a process ID change is detected. check-in: e1eba1fb user: drh tags: trunk
14:00
Enhance sqlite3_randomness(N,P) such that it resets the internal PRNG if N is less than 1. Subsequent calls to sqlite3_randomness() will reinitialize the internal PRNG by calling the xRandomness() method of the default VFS. check-in: a221aa82 user: drh tags: trunk
2013-12-24
12:09
Merge the latest trunk changes into the sessions branch. check-in: cfd110bf user: drh tags: sessions
12:04
Add -I. to the main.mk makefile for building sqlite3.o and speedtest1. check-in: cc72c5ae user: drh tags: trunk
2013-12-23
19:09
Move elements of the Vdbe object that are only used during statement preparation out into the Parse object. check-in: c289a253 user: drh tags: trunk
15:35
Make sure the WhereLoop.aLTerm[] array is large enough when processing the skip-scan optimization. Fix for ticket [520070ec7fbaac]. check-in: ac5852d6 user: drh tags: branch-3.8.2
11:33
Remove a stray tab character. check-in: 25b8a1c9 user: drh tags: trunk
2013-12-22
22:45
Remove a condition that is always in the logic that handles reading default values for columns. check-in: 895af097 user: drh tags: trunk
20:44
Make sure the WhereLoop.aLTerm[] array is large enough when processing the skip-scan optimization. Fix for ticket [520070ec7fbaac]. check-in: 46d04059 user: drh tags: trunk
2013-12-21
17:14
Fix speedtest1.c so that in --explain mode it only outputs non-explain text for DDL statements. check-in: 2d2b3c49 user: drh tags: trunk
17:07
Avoid compiler warnings by only enabling sqlite3ErrName() when SQLITE_TEST is defined. check-in: 862228e5 user: drh tags: trunk
16:06
Fix harmless compiler warnings in FTS4. This involved corrupting Martin Porter's beautifully written and elegant stemmer code, making it a little less beautiful and a little less elegant. Today is a sad day. But the warnings from GCC grow increasingly verbose and irksome with each new release and so something had to be done. check-in: df056798 user: drh tags: trunk
15:46
Fix the ".echo on" dot-command of the shell so that it echos comments in addition to SQL statements and dot-commands. Add the --explain option to speedtest1 so that the output can be piped into the command-line shell to show nicely-formated VDBE code for the entire test. check-in: 96397263 user: drh tags: trunk
00:04
Add a case to speedtest1.c that demonstrates the need to factor OP_Column operators out of inner loops. check-in: 69a17336 user: drh tags: trunk
2013-12-20
18:57
Fix compiler harmless warnings in tclsqlite.c that appeared with GCC 4.8.x. check-in: d93ae683 user: drh tags: trunk
18:44
Code simplification in sqlite3GenerateIndexKey() by making use of a subroutine found over in expr.c. check-in: 0026d335 user: drh tags: trunk
15:59
Combine adjacent single-register OP_Copy instructions into a single multi-register OP_Copy, where possible. Fix the Synopsis comment for multi-register OP_Copy instructions to show the correct register ranges. check-in: 2ae22dc0 user: drh tags: trunk
14:48
Allow any arbitrary expression as the filename in an ATTACH statement, including functions and subqueries. check-in: df70a1f3 user: drh tags: trunk
13:11
Simplify the accumulator reset for aggregate query processing so that it uses a single multi-register OP_Null rather than a separate OP_Null for each register. check-in: 2c7fd9b0 user: drh tags: trunk
2013-12-19
17:04
Do not inject OOM faults into SQLITE_FCNTL_COMMIT_PHASE_TWO file-control invocations. It causes problems for test scripts. check-in: 8eb28d23 user: dan tags: trunk
16:26
Make sure errors encountered while initializing extensions such as FTS4 get reported out from sqlite3_open(). This fixes a bug introduced by check-in [9d347f547e7ba9]. Also remove lots of forgotten "breakpoint" commands left in test scripts over the years. check-in: ca3fdfd4 user: drh tags: trunk
14:34
Remove an unneeded column-cache flush in aggregate SELECT and an unreachable branch in the INSERT logic. check-in: ffa092e1 user: drh tags: trunk
02:56
Omit an unnecessary OP_Null opcode from UPDATE. check-in: 72d11133 user: drh tags: trunk
02:23
Omit one or more pointless instructions that occur in between OP_NoConflict and OP_Halt. check-in: 61e2f357 user: drh tags: trunk
2013-12-18
18:44
Remove an unnecessary column-cache flush operation. Add code to trace the column cache when compiled with SQLITE_DEBUG and using PRAGMA vdbe_addoptrace=ON. check-in: 58704ed1 user: drh tags: trunk
16:27
Remove an unnecessary column-cache flush. Add another test case to the speedtest1.c program to accentuate the benefit of not flushing the cache at that point. Closed-Leaf check-in: 97fdfc6b user: drh tags: column-cache-debug
15:11
Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set. check-in: 4c6a659c user: drh tags: column-cache-debug
2013-12-17
16:32
Add evidence marks and additional test cases for the printf() SQL function. check-in: 93121d30 user: drh tags: trunk
16:10
Add the printf() SQL function. check-in: a1bb62f9 user: drh tags: trunk
15:58
Fix the formatting of %c in the printf() SQL function. Closed-Leaf check-in: 3375571a user: drh tags: printf-sql-function
15:03
Add the printf() SQL function. check-in: 6db7052e user: drh tags: printf-sql-function
2013-12-14
18:24
Merge in all recent preformance enhancements from trunk. check-in: 32477642 user: drh tags: sessions
13:44
Allow the SQLITE_DETERMINISTIC flag to be ORed into the preferred text encoding of application-defined functions, to mark the function as deterministic. check-in: 5716fc23 user: drh tags: trunk
2013-12-13
20:45
Performance optimizations in the pager_write() routine of pager.c. check-in: bc5febef user: drh tags: trunk
19:48
Reduce the number of calls to the subjRequiresPage() routine inside of pager. check-in: e50ff39a user: drh tags: trunk
19:35
Create and use a new pager interface sqlite3PagerUnrefNotNull() that works just like sqlite3PagerUnref() but guarantees that its argument is not a NULL pointer. check-in: e00f37e2 user: drh tags: trunk
18:50
Enhance the pcache1PinPage() routine so that it called much less often and runs much faster in the cases when it is actually called. check-in: a845779c user: drh tags: trunk
16:42
Avoid unnecessary calls to sqlite3_free() from within sqlite3VXPrintf(). check-in: e2a8b280 user: drh tags: trunk
16:23
Simplication and optimization of error message handling. check-in: 9d347f54 user: drh tags: trunk
2013-12-11
15:47
Add the SQLITE_FCNTL_SYNC and SQLITE_FCNTL_COMMIT_PHASETWO file-controls and have the pager call them at appropriate times. This is needed in order to enable ZIPVFS to do multi-file atomic commits. check-in: 552f94d5 user: drh tags: trunk
14:17
Merge in the latest trunk changes. Closed-Leaf check-in: 9ff4dfe1 user: drh tags: zipvfs-multifile-commit
14:00
Fix a bug in the shell ".import" command: Do not end the field when an escaped double-quote occurs at the end of a CRNL line. check-in: 5e239ecd user: drh tags: trunk
12:02
Remove an unreachable conditional inserted by the previous check-in. check-in: 3e1d55f0 user: drh tags: trunk
11:03
Have the crash-test infrastructure code in test6.c read and write the 512-byte block containing the pending-byte lock as normal. Earlier versions did not access this part of the file in order to avoid triggering an assert in os_unix.c. But the assert() has since been removed. And not reading/writing this part of the file causes problems for multiplexor tests. check-in: fdc3f3fa user: dan tags: zipvfs-multifile-commit
11:00
Fix harmless compiler warnings. check-in: a7e5fcd6 user: drh tags: trunk
02:21
Fix harmless compiler warning. check-in: 2525296d user: mistachkin tags: trunk
00:59
Do not run the tool/vdbe-compress.tcl script that generates the vdbeExecUnion object that reduces the size of the sqlite3VdbeExec() stack frame unless the SQLITE_SMALL_STACK compile-time option is specified as on of the OPTS in the makefile. The vdbeExecUnion object gets in the way of C-compiler optimizer and results in slightly slower code. check-in: 4d078147 user: drh tags: trunk
2013-12-10
21:38
Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). check-in: 079c04a5 user: drh tags: trunk
20:53
In the OP_MakeRecord opcode, factor out affinity changes into separate loop, for a slight performance advantage. check-in: 1c6ee9b8 user: drh tags: trunk
19:49
Simplify and improve the performance of the sqlite3VdbeMemGrow() routine. check-in: 48ecf187 user: drh tags: trunk
17:34
Use SQLITE_FCNTL_SYNC instead of SQLITE_FCNTL_SYNC_OMITTED. Add documentation in for FCNTL_SYNC and FCNTL_COMMIT_PHASETWO. check-in: 46231af9 user: dan tags: zipvfs-multifile-commit
16:35
Merge changes from the trunk. check-in: 3ee736a3 user: dan tags: zipvfs-multifile-commit
16:27
Fix handling of errors returned by the SQLITE_FCNTL_OMIT_SYNCED file-control. check-in: d9a5f44f user: dan tags: zipvfs-multifile-commit
2013-12-09
23:17
Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. check-in: 7277a769 user: drh tags: trunk
21:48
Correct the VFS name as reported by the file control when explicitly using the 'win32-longpath' VFS. check-in: c43b59da user: mistachkin tags: trunk
21:06
Reduce the number of times that OP_Column calls sqlite3VdbeMemMakeWriteable(). check-in: 6b518635 user: drh tags: trunk
20:43
Simplify the sqlite3BtreeKeyFetch() and sqlite3BtreeDataFetch() interfaces to the storage engine. check-in: bf975985 user: drh tags: trunk
20:42
Modify the way some internal file-controls are invoked. In order to support multi-file transactions in the zipvfs extension. check-in: 32fb1784 user: dan tags: zipvfs-multifile-commit
19:25
Minor performance optimizations in pager.c. check-in: ba9eef5f user: drh tags: trunk
19:03
Performance optimizations for sqlite3VXPrintf(). check-in: 9227ad48 user: drh tags: trunk
12:24
Fix an incorrect test number in the output of the speedtest1.c program. No changes to the test algorithms. check-in: fbfc075a user: drh tags: trunk
03:07
Avoid unnecessary (no-op) calls to sqlite3DbFree() from sqlite3VdbeMemRelease(). check-in: 2d6dd7c2 user: drh tags: trunk
02:32
Use memmove() rather than a home-made copy loop in insertCell() too. check-in: a3d796b1 user: drh tags: trunk
01:58
Use memmove() rather than a home-made copy loop in dropCell() of btree.c, for a size reduction and performance improvement. check-in: 78e17068 user: drh tags: trunk
01:04
Avoid unnecessary no-op calls from getAndInitPage() to btreeInitPage() in the btree.c logic. check-in: 81f5ae13 user: drh tags: trunk
00:47
Use putVarint32() instead of putVarint() for a quantity that can never exceed 2GiB - 1. check-in: 6996fb34 user: drh tags: trunk
2013-12-08
23:33
Another simplification to the OP_MakeRecord opcode, making it slightly faster and very slightly smaller. check-in: f2f5a3ce user: drh tags: trunk
22:59
Avoid unnecessary calls to sqlite3VarintLen() from the OP_MakeRecord opcode. check-in: 7a234fc3 user: drh tags: trunk
19:54
Interchange two conditions in an "if" statment in sqlite3PagerAcquire() for very slight (0.06%) overall performance increase. check-in: fbcc1a3e user: drh tags: trunk
2013-12-07
23:35
Do not allow cursor hints to use expressions containing subqueries. This change fixes the problem seen in the previous check-in. check-in: bfefc575 user: drh tags: cursor-hints
20:39
If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the sqlite3BtreeCursorHint() interface to provide hints to the storage engine about rows that need not be returned. Hints can be disabled using SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor hints are not used by the built-in storage engine of SQLite but might be useful to applications that provide their own storage engine. The current code is work-in-progrss and contains bugs. check-in: 3a9bec52 user: drh tags: cursor-hints
17:01
Increase the version number to 3.8.3. check-in: 23d00f22 user: drh tags: trunk
16:56
At the start of each journaled write transaction, check to see if the database file has been moved, and if it has refuse to start the transaction, returning an SQLITE_READONLY_DBMOVED error code. Writing to a moved or renamed database is still allowed when journal_mode is OFF or MEMORY. check-in: 369a23e0 user: drh tags: trunk
16:45
Back out the new device capability. The determination of whether or not a file has moved is now done strictly using a file-control. Closed-Leaf check-in: 9c59f5af user: drh tags: detect-moved-db
12:29
Actually look at i-node numbers to determine whether or not the database file has moved. check-in: 2b1884dc user: drh tags: detect-moved-db
2013-12-06
23:25
Performance optimization to the moveToRoot() subroutine in btree.c. check-in: b5842a70 user: drh tags: trunk
22:45
Use memcmp() instead of the BINARY collating function where possible, for a performance boost. check-in: c5a3a1af user: drh tags: trunk
22:44
Remove some commented-out code from sqlite3BtreeMovetoUnpacked() to try to make it more readable. check-in: 2d62d113 user: drh tags: trunk
19:58
Add the SQLITE_READONLY_DBMOVED error code to the sqlite3ErrName() function. check-in: 7789f801 user: mistachkin tags: detect-moved-db
17:23
Only error out on a database file move when attempting to start a write transaction. Assume read transactions are still safe. And make the error SQLITE_READONLY_DBMOVED instead of SQLITE_IOERR_NODB. check-in: 28348f2a user: drh tags: detect-moved-db
15:49
Update to the 3.8.2 release. check-in: e579661a user: drh tags: sessions
15:37
Add code to detect if the database file is moved or deleted out from under SQLite and return an SQLITE_IOERR_NODB. check-in: 8759a8e4 user: drh tags: detect-moved-db
14:53
Version 3.8.2 check-in: 27392118 user: dan tags: trunk, release, version-3.8.2
2013-12-05
17:12
Fix harmless compiler warnings and improve the MSVC makefile. check-in: c6325670 user: drh tags: trunk
16:41
Fix two potential (and apparently harmless) shift overflows discovered by the -fcatch-undefined-behavior option of clang. check-in: e19eead8 user: drh tags: trunk
2013-12-03
23:33
Make use of the CC nmake macro even when cross-compiling (with MSVC). Closed-Leaf check-in: aae7b30e user: mistachkin tags: memTests
22:33
Fix harmless compiler warnings. check-in: a12d214e user: mistachkin tags: memTests
22:32
Add memory subsystem related defines to the compile-time options list. check-in: 52a44146 user: mistachkin tags: memTests
20:51
Merge in trunk changes. check-in: a2914d6b user: drh tags: sessions
19:49
Remove a branch in STAT4 logic that is no longer reachable after the previous change. check-in: eca7d3f1 user: drh tags: trunk
19:16
Fix a possible (and probably harmless) uninitialized variable in STAT3/4. check-in: 33ad4f91 user: drh tags: trunk
18:26
Fix an alignment problem in the stat3/stat4 code affecting 32-bit platforms. check-in: 14f9bc79 user: dan tags: trunk
17:09
Fix a typo in fts3varint.test preventing the valgrind permutation test from running. check-in: b654a4ec user: dan tags: trunk
10:35
Modify test file conflict2.test so that it works with the "inmemory_journal" permutation. check-in: e4164fd8 user: dan tags: trunk
10:14
Remove an unnecessary branch from the UPDATE logic - one that was also unreachable except following an OOM on x64. check-in: 72f97277 user: drh tags: trunk
09:49
Add a "database_may_be_corrupt" directive to test file fuzz3.test. Reformat an assert() statement in vdbeaux.c to make its intent clearer. check-in: 9d8a0e13 user: dan tags: trunk
02:52
Change some unreachable test conditions to NEVER(). check-in: 7d99858b user: drh tags: trunk
00:11
Fix a harmless compiler warning on MacOS. check-in: 74328de1 user: drh tags: trunk
2013-12-02
21:58
Merge all recent 3.8.2 beta changes from trunk. check-in: 67c34ccf user: drh tags: sessions
21:25
Another #if SQLITE_VERSION_NUMBER macro in speedtest1.c for compatibility with older versions of SQLite. check-in: bc8eacc7 user: drh tags: trunk
01:24
Still more #if SQLITE_VERSION_NUMBER macros in test/speedtest1.c to enable compilation against older versions of SQLite. check-in: 4b20cf42 user: drh tags: trunk
2013-12-01
18:10
Add some #if SQLITE_VERSION_NUMBER macros to test/speedtest1.c in order to make it compatible with older versions of SQLite so that it can be used for historical speed comparisons. check-in: a9e1627a user: drh tags: trunk
01:18
Fix typos in the header comment on the sqlite3Atoi64() routine. check-in: c85e0c54 user: drh tags: trunk
2013-11-30
12:49
Detect a corrupt UnpackedRecord and return SQLITE_CORRUPT prior to calling sqlite3BtreeMovetoUnpacked(). check-in: 55ec474d user: drh tags: trunk
2013-11-29
15:39
Change the name of the CORRUPTIBLE macro to CORRUPT_DB. check-in: f865be10 user: drh tags: trunk
15:06
Add a new sqlite3_test_control() that indicates that database files are always well-formed. Use this during testing to enable assert() statements that prove conditions that are always true for well-formed databases. check-in: 15e4f63d user: drh tags: trunk
2013-11-28
19:28
Update a few test cases to account for the new error message formats. check-in: 65a5bce3 user: dan tags: trunk
14:14
Remove an assert() condition that may not be true if the database file is corrupt. Update a test case in corruptC.test. check-in: 0bcf7551 user: dan tags: trunk
06:17
Fix a test case in temptrigger.test so that it works in auto-vacuum mode. check-in: c3b7a0e6 user: dan tags: trunk
2013-11-27
21:53
Merge all recent trunk changes. check-in: 3a2a1bd4 user: drh tags: sessions
21:07
Remove unnecessary local variables from sqlite3VdbeExec() in order to reduce stack-space requirements of that routine. check-in: 81891288 user: drh tags: trunk
19:17
Update documentation of sqlite3_column() for clarity. Update evidence marks on test cases. check-in: ec2d47a1 user: drh tags: trunk
18:00
Fix spelling typo in speedtest1.exe. check-in: ae90300e user: mistachkin tags: trunk
14:50
Fix some harmless compiler warnings in speedtest1.exe. check-in: c75f561f user: drh tags: trunk
13:48
Additional test cases for skip-scan. check-in: ce70803f user: drh tags: trunk
13:24
Make sure the colWidth array is correctly initialized in the ".explain" command of the shell. check-in: ceebcdca user: drh tags: trunk
04:22
Lower the threshold for using skip-scan from 50 to 18, based on experiments that show that 18 is the approximate break-even point for a variety of schemas. check-in: 83c0bb99 user: drh tags: trunk
04:00
Avoid using the GetVersionEx functions if they are considered deprecated. check-in: afdca299 user: mistachkin tags: trunk
03:01
Avoid using the GetVersionEx functions if they are considered deprecated. Closed-Leaf check-in: 0ea9e472 user: mistachkin tags: vs2013
01:23
Add additional test cases for skip-scan. check-in: 1ae4915d user: drh tags: trunk
00:45
Add additional test cases and requirements evidence marks for WITHOUT ROWID. check-in: b408d788 user: drh tags: trunk
2013-11-26
23:27
Make sure the update hook is not invoked for WITHOUT ROWID tables, as the documentation specifies. This bug was found while adding requirements marks, so a few extraneous requirements marks are included in this check-in. check-in: 0978bac6 user: drh tags: trunk
22:46
Add requirements test cases for determining when an expression is true and when it is false. check-in: 838654e5 user: drh tags: trunk
21:18
Changing the CAST behavior of REAL values actually changed a documented requirement. So we also have to change the requirement evidence text to match. check-in: d84aa44e user: drh tags: trunk
18:22
Reduce the amount of code used to implement OP_SeekGe and similar. check-in: 8b12a15a user: dan tags: trunk
18:00
Merge in performance enhancements from trunk. check-in: fc9ae839 user: drh tags: sessions
16:51
Fix a possible NULL pointer deference in the wordcount test program. check-in: 6f91dca0 user: drh tags: trunk
16:48
Change tclsqlite3.c so that it never invokes ctype macros with signed character arguments. check-in: c07caabf user: drh tags: trunk
16:20
Do not try to run the atof1.test test script on ARM hardware which lacks the "long double" type. check-in: fafca560 user: drh tags: trunk
15:45
Change the REAL-to-INTEGER casting behavior so that if the REAL value is greater than 9223372036854775807.0 then it is cast to the latest possible integer, 9223372036854775807. This is sensible and the way most platforms work in hardware. The former behavior was that oversize REALs would be cast to the smallest possible integer, -9223372036854775808, which is the way Intel hardware works. check-in: 6f53fc71 user: drh tags: trunk
01:13
Fix comment. check-in: 8364af39 user: mistachkin tags: winHdr
01:00
Further work on Windows header file reform. check-in: 540f5525 user: mistachkin tags: winHdr
00:33
Merge updates from trunk. check-in: c5ab4378 user: mistachkin tags: winHdr
00:28
Better support for UTF-8 paths on Cygwin. check-in: 9954327c user: mistachkin tags: trunk
2013-11-25
23:42
Add SQLITE_CONFIG_WIN32_HEAPSIZE option to configure the maximum isolated heap size on Windows. check-in: 914e6c9d user: mistachkin tags: trunk
22:24
Change a while-loop into a do-loop in sqlite3VdbeRecordCompare() and add an assert() to verify that the do-loop really is appropriate. This gives about a 10% performance boost in that routine, or a 0.9% boost overall. check-in: 011a6be4 user: drh tags: trunk
21:49
Clarify docs for the SQLITE_CONFIG_WIN32_HEAPSIZE option. Closed-Leaf check-in: 51e87607 user: mistachkin tags: winHeapSize
21:41
Remove a NEVER() from a branch that is now reachable during OOM faults. check-in: 18bdcb05 user: drh tags: trunk
20:50
Optimizations to the sqlite3BtreeMovetoUnpacked() routine in storage engine making it about 17.8% faster, which in turn makes SQLite over 1.2% faster overall. check-in: 032e8993 user: drh tags: trunk
20:14
Return an SQLITE_CORRUPT error if the content size field of a table record extends off the end of a page. Closed-Leaf check-in: b48c4e40 user: drh tags: btree-optimization
17:38
Uses shifts rather than division for arithmetic on the cell indices, since those indices are always non-negative. check-in: 5bf2a3fe user: drh tags: btree-optimization
16:52
Optimize the skipping of the payload size field when doing a binary search for a rowid. check-in: 55e5bfa2 user: drh tags: btree-optimization
16:23
Arrange for sqlite3BtreeMovetoUnpacked() to always leave the cursor cell parse cache invalidated. This fixes issues with previous check-ins on this branch and also runs faster. check-in: a7467560 user: drh tags: btree-optimization
15:01
More optimizations to sqlite3BtreeMovetoUnpacked(). But there are failures in TH3. Committing this intermediate state to facilitate bisecting. check-in: f80497be user: drh tags: btree-optimization
14:10
More improvements to sqlite3BtreeMovetoUnpacked() performance. check-in: 88680698 user: drh tags: btree-optimization
09:37
Correct line-endings in the new header file. check-in: 94219b9f user: mistachkin tags: winHdr
09:36
Initial work on isolating usage of the Windows header file. check-in: 0d42c6b8 user: mistachkin tags: winHdr
02:38
Performance improvements in sqlite3BtreeMovetoUnpacked(). check-in: d0fb7ace user: drh tags: btree-optimization
2013-11-24
23:18
Better support for UTF-8 paths on Cygwin. Closed-Leaf check-in: 484162b6 user: mistachkin tags: cygUtf8
01:14
Add the --scratch parameter to speedtest1. Improved error messages when misconfiguring memory parameters in speedtest1. check-in: 8f3c767a user: drh tags: trunk
00:46
The MEMSYS5 algorithm does not have to return the block with the lowest address. Any block of the appropriate size will do. Use the first block found on the freelist for the appropriate size for a performance improvement. check-in: 12e612e8 user: drh tags: trunk
2013-11-23
22:45
A much simpler fix is to simply change MEMSYS5 so that it takes any free block of the appropriate size (the first on the list of free blocks) rather than searching for the one with the smallest address. This is also faster than using the min-heap algorithm. Need to research to verify that the allocator still satisfies the Robson proof, however. Closed-Leaf check-in: 8191b512 user: drh tags: memsys5-performance
21:30
Use a heap-based primary queue rather than a linked list to store the available free blocks of each size in MEMSYS5, since this provides faster access to the first available block. Closed-Leaf check-in: 7d2cdfad user: drh tags: memsys5-performance
21:29
Add newlines at the end of some error messages in speedtest1. check-in: 6b98f0af user: drh tags: trunk
11:45
Report errors from sqlite3_exec() and sqlite3_config() in speedtest1. Fix a bug in the main testing logic that was found by these error reports. check-in: 659f1a98 user: drh tags: trunk
04:32
Fix the order of parameters to SQLITE_CONFIG_PAGECACHE in the speedtest1.exe program. check-in: dbe85ef6 user: drh tags: trunk
04:22
Adjust MSVC makefile to avoid using forward slashes in file names. check-in: facf6dea user: mistachkin tags: trunk
04:16
Add the "speedtest1.exe" test program. check-in: fb6f0c6d user: drh tags: trunk
00:27
Add experimental sqlite3_config option to control the native Win32 heap size. check-in: f09f11e9 user: mistachkin tags: winHeapSize
2013-11-22
21:32
Fix harmless compiler warning. check-in: f336c18f user: mistachkin tags: trunk
00:49
Minor correction to the batch build tool for MSVC. check-in: 22144c9d user: mistachkin tags: trunk
2013-11-21
23:37
Fix a harmless clang warning in the command-line shell. check-in: 3d47a556 user: drh tags: trunk
22:02
Slight change to the --timer output on wordcount for better display on windows: Avoid showing the full pathname of the executable. check-in: b9e047b9 user: drh tags: trunk
21:59
Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. check-in: 4e8c5d07 user: drh tags: trunk
21:40
Modify wordcount so that timer information appears on standard error instead of standard output. Rename the run-wordcount.bash script to run-wordcount.sh and simplify it so that it stands a better chance of running on non-GNU systems. check-in: 586c11ed user: drh tags: trunk
21:23
Do not reuse factored constants that might have had their encodings changed. check-in: 487f2036 user: drh tags: trunk
20:48
Fix the code generator to honor turning off constant expression factoring. check-in: 88262266 user: drh tags: trunk
19:27
Add the --timer option to the wordcount test program. check-in: a89fdf87 user: drh tags: trunk
19:05
Remove a test from sqlite3VdbeMemFromBtree() which was unnecessary, and after the recent OP_Column refactoring, unreachable. check-in: 23667f3b user: drh tags: trunk
17:24
Make sure the OP_Next and OP_NextIfOpen opcodes are numbered close together for efficiency in switch() statements. OP_Prev and OP_PrevIfOpen too. check-in: d4ccf0f5 user: drh tags: trunk
16:08
When one or more arguments to a function are constants, try to factor out just those arguments into initialization code. check-in: 50d350ab user: drh tags: trunk
14:44
Remove the obsolete TK_CONST_FUNC token type. check-in: 9b4217f0 user: drh tags: trunk
14:33
Add the ability to factor constant functions out of inner loops. But do not factor out non-constant functions, like random(). check-in: 1b0f779e user: drh tags: trunk
04:18
Another improvement to OP_Function and an improvement to OP_Move. check-in: 70b056fb user: drh tags: trunk
03:43
A simple change to the OP_Function opcode improves overall performance by about 0.5%. check-in: b890eefd user: drh tags: trunk
03:12
Performance optimization to the OP_Next and OP_Prev opcodes. check-in: ecaac28a user: drh tags: trunk
01:33
Refactor the OP_Column opcode to make it clearer and easier to maintain. Overall, performance tests show about a 1% speed increase with this change. check-in: 972881c6 user: drh tags: trunk
01:04
Reduce the size of VdbeCursor again, this time without a performance hit. Closed-Leaf check-in: 93393993 user: drh tags: OP_Column-refactor
00:10
Unpack some fields, adding some space back to the VdbeCursor object, in order to help the code to run a little faster. check-in: f8d5efcd user: drh tags: OP_Column-refactor
2013-11-20
21:51
Reduce the size of the VdbeCursor object from 144 to 120 bytes. check-in: 5f9d5068 user: drh tags: OP_Column-refactor
20:58
Improved comments on the OP_Column changes. Optimize out loading of overflow pages for content with zero length. Add test cases for the latter. check-in: 0e05679d user: drh tags: OP_Column-refactor
19:28
Further performance tweaks to OP_Column. check-in: 0e3f5df6 user: drh tags: OP_Column-refactor
17:25
Refactoring the OP_Column opcode for improved performance and maintainability. check-in: 7c914e39 user: drh tags: OP_Column-refactor
02:53
Simplifications to the VdbeCursor object. check-in: 5562cd34 user: drh tags: trunk
00:59
Performance improvement for the OP_MustBeInt opcode in the VDBE. check-in: 96a65388 user: drh tags: trunk
2013-11-19
18:17
Fix a harmless MSVC compiler warning. check-in: 6cc023bb user: drh tags: trunk
13:55
Minor performance improvement to sqlite3SerialTypeGet(). check-in: 17e8524f user: drh tags: trunk
12:33
Change Noop-comments in where.c into Module-comments, so that they are omitting without SQLITE_ENABLE_MODULE_COMMENTS. check-in: 3e577f40 user: drh tags: trunk
02:34
Avoid seeking on the main data table during the first loop of an UPDATE if an index is sufficient to check the WHERE clause. check-in: 57158d9d user: drh tags: trunk
00:31
Fix an requirement mark in a test script so that it matches the typo-corrected requirement. No changes to code. check-in: 072412d5 user: drh tags: trunk
2013-11-18
19:32
Add comments identifing where the skip-scan option is decided in the query planner, to aid in tuning that decision. No changes to code. check-in: e9df04ce user: drh tags: trunk
18:48
Fix documentation typos. No changes to code. check-in: 7caeb09c user: drh tags: trunk
11:20
Fix harmless compiler warnings from clang scan-build. check-in: 8d002740 user: drh tags: trunk
08:41
Fix a problem with the shell tool EXPLAIN indentation code and VDBE sub-programs. check-in: 9c8d6856 user: dan tags: trunk
03:11
Enable the ONEPASS optimization for DELETE, for both rowid and WITHOUT ROWID tables. check-in: 44a07afd user: drh tags: trunk
2013-11-17
02:42
Make sure one-pass DELETE for WITHOUT ROWID tables correctly positions the PRIMARY KEY cursor. Make the same fix for UPDATE. Closed-Leaf check-in: 6bd5750b user: drh tags: optimize-delete
2013-11-16
23:16
Fix a couple of minor problems with the new delete logic. check-in: a11243f8 user: drh tags: optimize-delete
23:03
Fix an OOM-recovery problem in the DELETE code generator. check-in: dc7be158 user: drh tags: optimize-delete
22:48
Combine the rowid and WITHOUT ROWID paths for DELETE into a single path. check-in: c4734b88 user: drh tags: optimize-delete
20:45
The one-pass optimization is now working for DELETE on WITHOUT ROWID tables. check-in: e4d220a3 user: drh tags: optimize-delete
20:13
Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED for rowid tables. check-in: 8f479a72 user: drh tags: optimize-delete
15:35
Fully constraint the ORDER BY on the top-10 line of the --summary output from the wordcount test program. Add the run-wordcount.bash script for running wordcount in various configurations. check-in: 7edf39eb user: drh tags: trunk
14:03
Avoid unnecessary OP_IfNull checks when doing a range query where there is a constraint on the lower bound of the range. check-in: de08a7e7 user: drh tags: trunk
13:55
Simplification and performance improvement to the logic that factors constant expressions ouf of inner loops. check-in: ee9353fd user: drh tags: trunk
12:56
Fix testcase misc7-16 so that it works with the new UNIQUE constraint error message format. check-in: c7f2ed9f user: drh tags: trunk
2013-11-15
20:06
Add ALWAYS and NEVER macros to currently unreachable but important branches in sqlite3ExprCompare(). Closed-Leaf check-in: cee835fe user: drh tags: expr-codegen-enhancement
19:00
Merge the operator comment fixes from trunk. check-in: 9f14f55c user: drh tags: expr-codegen-enhancement
18:58
Fix comments on the OP_Divide and OP_Remainder operators, especially the "Synopsis:" comment, so that they agree with the actual implementation. check-in: cc17f1f0 user: drh tags: trunk
18:15
Changes to make the new constant expression factoring logic more general and more testable. check-in: d10fb49a user: drh tags: expr-codegen-enhancement
16:48
Add test cases for INSERT INTO ... DEFAULT VALUES on tables with numeric constants in CHECK constraints. check-in: 79ec485b user: drh tags: expr-codegen-enhancement
15:52
Improvements to the Expr comparison routine to make it more general. Improvements to unary-minus code generation so that it can make use of a global constant register with a zero value. check-in: 835be656 user: drh tags: expr-codegen-enhancement
13:12
Add the --query option to the wordcount test program. check-in: 5960d11e user: drh tags: trunk
12:41
Simplify the range scan code generate while also avoiding an unnecessary OP_Affinity opcode. check-in: 372686bf user: drh tags: expr-codegen-enhancement
03:30
Merge EXPLAIN fixes from trunk. check-in: cd579727 user: drh tags: expr-codegen-enhancement
03:21
Fix a typo in the "synopsis" for the OP_Lt opcode that causes an incorrect comment to be added to EXPLAIN output. check-in: d99a30a2 user: drh tags: trunk
03:16
Another adjustment to the EXPLAIN indentation logic, in order to deal with the sorter loop on a CREATE INDEX statement. check-in: cbe85cc2 user: drh tags: trunk
01:10
Rework the logic that factors constant expressions out of inner loops, making it both simpler and faster. check-in: 8dc5c76c user: drh tags: expr-codegen-enhancement
2013-11-14
23:59
Adjust the command-line shell EXPLAIN indentation logic to handle the second loop of an UPDATE that reads out a RowSet. check-in: ea141a9b user: drh tags: trunk
19:34
Remove an unused local variable. check-in: 10d59226 user: drh tags: trunk
19:18
Merge the skip-scan optimization into the sessions branch. check-in: 7596d1bf user: drh tags: sessions
15:35
An experimental virtual tables for showing the content of internal schema objects. Leaf check-in: d1fbc6ca user: drh tags: schema2-vtab
00:09
Simplification to the progress callback check. One branch removed. check-in: 24ef1654 user: drh tags: trunk
2013-11-13
23:48
Make sure the progress callback is invoked prior to an SQLITE_ROW return if it is overdue to be called. check-in: 21f59b04 user: drh tags: trunk
20:46
Merge the skip-scan enhancement into trunk. check-in: b0bb975c user: drh tags: trunk
19:01
Import the "PRAGMA vdbe_eqp" enhancement and the enhanced EXPLAIN formatting the shell from trunk. Fix a bug in skip-scan and add a test case to prevent a regression. Closed-Leaf check-in: f668616a user: drh tags: skip-scan
18:35
In the shell tool, if an "EXPLAIN" command is executed in ".explain on" mode, attempt to automatically indent the bodies of loops in the output VDBE program. check-in: e7d34ec6 user: dan tags: trunk
17:58
Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify some of the other debugging logic. check-in: 8ce33f4c user: drh tags: trunk
17:24
Add VDBE comments to the beginning and end of skip-scan loops. check-in: 0c85d93b user: drh tags: skip-scan
16:58
Improve the way that skip-scan loops are constructued. Add test cases. Improved the scoring of skip-scan loops. check-in: 5e75ab93 user: drh tags: skip-scan
15:32
Add test cases for skip-scan. Enhance "do_test" so that if the expected result is of the form "/*..*/" or "~/*..*/" it treats the expected result as a glob pattern rather than as a regular expression. Fix a bug in ANALYZE result loading associated with WITHOUT ROWID tables. check-in: d3e6e9b2 user: drh tags: skip-scan
12:27
Add the ability to use an index even if the left-most columns of the index are unconstrainted, provided that the left-most columns have few distinct values. check-in: 27dd5993 user: drh tags: skip-scan
08:55
Avoid an unnecessary OP_IfNull while doing an indexed search. check-in: 51960009 user: drh tags: trunk
2013-11-12
21:37
Adjust the SQLITE_MALLOCSIZE defines, primarily to make sure _msize gets used with MSVC when appropriate. check-in: 4e7e805e user: mistachkin tags: trunk
21:10
Fix harmless compiler warning. check-in: ddacd101 user: mistachkin tags: trunk
20:18
Minor enhancements to the auxiliary information added to EXPLAIN output with SQLITE_EXPLAIN_ENABLE_COMMENTS. check-in: 0d1328e3 user: drh tags: trunk
18:37
Break out the structure and macro definitions of where.c into a separate header file whereInt.h for easier editing and debugging. check-in: c4446712 user: drh tags: trunk
17:46
When possible, have FTS use 32-bit operations to read varints from the database. check-in: aa7ba302 user: dan tags: trunk
15:39
Import recent bug fixes from trunk. check-in: 20eeee4c user: drh tags: sessions
15:33
A better (simpler) fix to the count(*) problem addressed in the previous check-in. check-in: 0f924c6e user: drh tags: trunk
14:55
Make sure the count(*) optimization works correctly on WITHOUT ROWID tables. check-in: 91174779 user: drh tags: trunk
12:30
Update test command [explain_i] to handle the opcodes used by virtual tables (VNext, VFilter etc.). check-in: 1b215ee3 user: dan tags: trunk
12:17
Fix for [4065ac8595]: Do not order CROSS or LEFT joins, even if the right-hand-side is a virtual table. check-in: e2684ece user: dan tags: trunk
01:11
Fix an error message in the spellfix extension so that it conforms to the style of error messages in the core. check-in: b896ae3d user: drh tags: trunk
2013-11-11
23:26
Add a comment to the sqlite3_index_info structure indicating that the new field is only available in SQLite 3.8.2 or later. check-in: 239648f8 user: drh tags: trunk
23:02
Fix two test cases (due to changes in the formatting of constraint errors) so that all tests now pass. check-in: 129e2b69 user: drh tags: sessions
22:55
Merge in the WITHOUT ROWID changes. A few tests are failing now. They will be fixed in a follow-on check-in. check-in: 5addd123 user: drh tags: sessions
19:56
Fix typos in compile and run-time tests of the sqlite library version number in rtree.c. check-in: f58d5701 user: dan tags: trunk
19:01
Add a way for virtual tables to return the expected number of rows for a scan (not just the overall cost) to SQLite. Have the rtree module make use of this. check-in: 5a3cfd74 user: dan tags: trunk
16:55
Remove unreachable code, replacing it in most cases with assert() or NEVER() macros. check-in: 924d63b2 user: drh tags: trunk
03:37
Fix issue with several memory allocation tests due to KeyInfo allocations now being shared. check-in: 569fedd6 user: mistachkin tags: trunk
03:24
Convert several ALWAYS() macros in vdbe.c into assert() statements. check-in: acc40ff6 user: drh tags: trunk
02:46
Fix several harmless compiler warnings. check-in: e6ff492f user: mistachkin tags: trunk
01:42
Modify a HeapValidate assert in the Win32 native allocator. check-in: aaed7d1d user: mistachkin tags: trunk
00:43
Fix a problem in OP_IdxDelete as used by REPLACE conflict resolution that comes up due to recent enhancements that reduce the work required for UNIQUE NOT NULL indices. check-in: 61d7d475 user: drh tags: trunk
2013-11-10
00:03
Fix typo in comment and remove superfluous blank line. No changes to code. check-in: 023233f1 user: mistachkin tags: trunk
2013-11-09
23:55
Fix compilation errors with some compilers that do not reference recent Windows SDK header files. check-in: a5805976 user: mistachkin tags: trunk
23:44
Fix memory type mismatch when compiled with MEMDEBUG. check-in: 2c32bd6d user: mistachkin tags: trunk
22:08
Add the sqlite3_win32_compact_heap() function for cleaning up memory allocations on Win32 system. Also cleanup the winGetTempname() function. Changes to the Win32 VFS only. check-in: d06d9fdb user: drh tags: trunk
21:19
Updates to documentation on sqlite3_last_insert_rowid(). No changes to code. check-in: a4c5804e user: drh tags: trunk
21:11
Use the UNICODE_STRING_MAX_CHARS constant from WinNT.h. Closed-Leaf check-in: 3fefe4dd user: mistachkin tags: win32heap
21:10
Furhter cleanup of the winGetTempname function. check-in: 674de36b user: mistachkin tags: win32heap
19:47
Updates to requirements marks. No changes to code. check-in: 8a036628 user: drh tags: trunk
18:15
Throw an error if AUTOINCREMENT appears in a WITHOUT ROWID table. Updates to API documentation to discuss WITHOUT ROWID. check-in: b1abb2b0 user: drh tags: trunk
2013-11-08
20:10
Add more assert() statements and fix compilation issues when the Win32 native heap is not enabled. check-in: fbf8c382 user: mistachkin tags: win32heap
19:51
Disable use of HeapCompact on Windows CE as it is not available on all versions. check-in: e9694b87 user: mistachkin tags: win32heap
18:52
Adjust the winMemInit return code handling used when resetting the Win32 native heap. check-in: 37853665 user: mistachkin tags: win32heap
18:37
Minor corrections to logging for sqlite3_win32_compact_heap(). check-in: 71347d02 user: mistachkin tags: win32heap
18:13
Enhancements to the Win32 native heap integration. check-in: c54dc967 user: mistachkin tags: win32heap
17:13
Fix harmless compiler warnings. check-in: 0077c077 user: drh tags: trunk
17:03
Merge the Cygwin directory separator fix. Also fix a C++-ism in the multiplexor code so that it will compile on MSVC. check-in: 830629d3 user: drh tags: trunk
16:54
Performance improvement: Avoid unnecessary seeks on REPLACE INTO for a WITHOUT ROWID table. check-in: fd11afa5 user: drh tags: trunk
15:19
Performance improvements: Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID table. check-in: 6f187a0f user: drh tags: trunk
12:14
Merge change to drop the mutex on the multiplexor before entering the xRead VFS call, in order to enhance parallelizability. check-in: 3c566e41 user: drh tags: trunk
01:09
Optimize out a NotExists/NotFound opcode that occurs in UPDATE processing after constraint checks if there is no possiblity that the constraint checking code might have moved the cursor. check-in: 74e3ee2e user: drh tags: trunk
00:16
On the --summary output of wordcount, add the a PRAGMA integrity_check and a 64-bit checksum of the entire table. check-in: 1d1d13b8 user: drh tags: trunk
2013-11-07
23:23
Add many new options to the wordcount test program: --delete, --pagesize, --cachesize, --commit, --nosync, and --journal. check-in: e938112d user: drh tags: trunk
22:11
Fix temporary directory separator handling for Cygwin. Closed-Leaf check-in: 9d870d5f user: mistachkin tags: cygDirSep
21:32
Fix a compiler warning introduced by the previous check-in. check-in: 404bd98f user: drh tags: trunk
21:25
Enable the WHERE_ONEPASS_DESIRED optimization for UPDATE operations on WITHOUT ROWID tables. check-in: 21530798 user: drh tags: trunk
19:43
Add the --stats and --summary options to the wordcount.c test program. check-in: 8aa21e67 user: drh tags: trunk
18:40
Increase the version number to 3.8.2. check-in: 9ad5b74c user: drh tags: trunk
18:37
Add the "wordcount.c" test program. check-in: f02ee546 user: drh tags: trunk
16:08
Add support for WITHOUT ROWID tables. This change also includes (1) standardization of the error message returned from run-time constraint errors, (2) improved EXPLAIN comments, (3) the SQLITE_ENABLE_EXPLAIN_COMMENTS option, (4) the SQLITE_ENABLE_MODULE_COMMENTS option, and (5) a bug fix (see [573cc27427]) in the handling of REPLACE on the rowid when secondary indices use FAIL or IGNORE. check-in: c80e229d user: drh tags: trunk
14:09
Make sure cached KeyInfo objects are only valid for a single database connection. Clear all cached KeyInfo objects on any collating sequence change. Closed-Leaf check-in: 55eea178 user: drh tags: omit-rowid
2013-11-06
19:59
Reference count the KeyInfo object. Cache a copy of an appropriate KeyInfo for each index in the Index object, and reuse that one copy as much as possible. check-in: defd5205 user: drh tags: omit-rowid
16:28
Have the OP_NoConflict opcode set the VdbeCursor.seekResult variable. This speeds up subsequent OP_Insert and OP_IdxInsert opcodes. check-in: 47455500 user: dan tags: omit-rowid
14:52
Use ansi escape codes to use different colored text for opcode names in the output of [explain_i]: Red for opcodes that insert or delete b-tree elements, blue for opcodes that move cursors and green for the ResultRow opcode. check-in: 4be2b64b user: dan tags: omit-rowid
14:36
Allocate extra stack space for UnpackedRecord objects, reducing the need to malloc for them as often, and thereby get a performance improvement. check-in: a725a75f user: drh tags: omit-rowid
14:05
Minor optimization to the OP_Halt opcode. check-in: d70c7881 user: drh tags: omit-rowid
12:56
Improved ORDER BY optimization for WITHOUT ROWID tables. check-in: 8f1709ff user: drh tags: omit-rowid
12:05
Disable the OR optimization for WITHOUT ROWID tables, since it relies on the use of rowids. check-in: 6055dad2 user: drh tags: omit-rowid
11:46
Remove an incorrect test case from conflict2.test. check-in: 427612ef user: drh tags: omit-rowid
02:36
Remove an unused variable. check-in: e9c1e419 user: drh tags: omit-rowid
2013-11-05
22:39
Make sure the query planner knows that the PRIMARY KEY index of a WITHOUT ROWID table is always a covering index. check-in: 03e7019e user: drh tags: omit-rowid
19:41
Fix conflict handling for the case when the rowid uses REPLACE but other unique constraints use FAIL or IGNORE. check-in: 573cc274 user: drh tags: omit-rowid
17:30
Fix a bug in secondary index initialization when the secondary index is a superset of the PRIMARY KEY for a WITHOUT ROWID table. check-in: 52a3d885 user: drh tags: omit-rowid
16:56
Remove an "explain" command from test script without_rowid1.test that was accidentally committed. check-in: 4b41d989 user: dan tags: omit-rowid
16:39
Unless the destination table is completely empty, disable the xfer optimization for WITHOUT ROWID tables. check-in: 3877c9f5 user: dan tags: omit-rowid
15:02
Updates to the backcompat.test test script so that it works with really old (3.6.*) versions. check-in: ace7e7b6 user: dan tags: omit-rowid
14:19
Add tests for updates of without-rowid tables that use non-BINARY collation sequences for the primary key columns. And a minor bugfix to the same. check-in: 99b1fa4b user: dan tags: omit-rowid
13:33
Standardize the error messages generated by constraint failures to a format of "$TYPE constraint failed: $DETAIL". This involves many changes to the expected output of test cases. check-in: 54b22192 user: drh tags: omit-rowid
01:59
Add the conflict2.test script. Fix issues discovered by this script. check-in: 294ed337 user: drh tags: omit-rowid
2013-11-04
22:04
Add the index7.test script for testing partial indices with WITHOUT ROWID tables. Fix bugs in ANALYZE located by that script. check-in: 79befe3a user: drh tags: omit-rowid
21:44
Bug fixes in the INSERT constraint checker. Refactor the Rowid handling logic for ANALYZE with STAT3/4. check-in: 1ea43c0f user: drh tags: omit-rowid
18:34
Add another test case file for WITHOUT ROWID and fix the bugs that the new test file uncovered. check-in: bc2a06eb user: drh tags: omit-rowid
17:00
Fix a problem with processing INTEGER PRIMARY KEY on a WITHOUT ROWID table. check-in: 89098e6d user: drh tags: omit-rowid
15:23
Correctly handle changing counting when inserting and deleting on WITHOUT ROWID tables. Add more FOREIGN KEY test cases. check-in: d072bcd0 user: drh tags: omit-rowid
13:56
Correctly handle self-referential foreign keys on WITHOUT ROWID tables. check-in: af128862 user: drh tags: omit-rowid
08:56
Fix a bug preventing FTS from correctly processing bracket tokens that are immediately preceded by characters that are neither whitespace or token characters. check-in: 49be646c user: dan tags: trunk
2013-11-03
02:27
Improved comments on foreign key logic. check-in: 1315d910 user: drh tags: omit-rowid
2013-11-02
22:29
Improved Synopsis on register comparison operators. Fix a bug on the constraint check generator. check-in: a7a18b65 user: drh tags: omit-rowid
22:09
Many new test cases added, that mostly work. Currently 18 errors in without_rowid3.test. Also there is a hack marked by a /*FIXME*/ comment on at fkey.c:547 that needs fixing. check-in: 39e32187 user: drh tags: omit-rowid
19:34
Change the "idx" name of the primary key index for WITHOUT ROWID tables in sqlite_statN statistics tables to be the name of the table rather than the fabricated index name (ex: sqlite_autoindex_xyz_1). This makes it consistent with sqlite_master table. check-in: 4ee4d310 user: drh tags: omit-rowid
18:46
Update the ANALYZE logic so that it works with WITHOUT ROWID tables. check-in: 9075770e user: drh tags: omit-rowid
14:37
Store the root page of the PRIMARY KEY index for a WITHOUT ROWID table in the sqlite_master entry for the main table and omit the sqlite_master entry for the PRIMARY KEY. check-in: b7544bb2 user: drh tags: omit-rowid
11:43
Import the sqlite3_analyzer fixes from trunk. check-in: ac711459 user: drh tags: omit-rowid
11:34
A pair of sqlite3_analyzer bug fixes: (1) quote strings in the SQL at the end of the output. (2) Fix test_stat.c so that it no longer misses some overflow pages on internal index pages. check-in: 42a11e74 user: drh tags: trunk
2013-11-01
22:02
Size KeyInfo objects so that IdxInserts always compare the correct number of fields. check-in: 302a8139 user: drh tags: omit-rowid
20:30
Fix sqlite3_analyzer so that it works with WITHOUT ROWID tables. Fix index generation for secondary indices that include fields from the PRIMARY KEY. check-in: f9769d70 user: drh tags: omit-rowid
18:14
Additional UPDATE test cases for WITHOUT ROWID. check-in: 65384ae0 user: drh tags: omit-rowid
17:59
Fix an invalid cast operation in the WITHOUT ROWID parsing logic. check-in: 845153be user: drh tags: omit-rowid
17:21
Merge all changes from trunk, and disable a pair of corruption tests that are no longer valid since sqlite_master.rootpage can now be NULL for tables. check-in: dd5d57b9 user: drh tags: omit-rowid
17:08
Change the interface to sqlite3GenerateConstraintChecks() for improved lucidity and to fix issues in dealing with UPDATEs for WITHOUT ROWID tables. Make sure iDataCur and iIdxCur are initialized when processing DELETEs of a VIEW. UPDATE processing distinguishes between changes to ROWID and PRIMARY KEY. check-in: c525ac56 user: drh tags: omit-rowid
14:03
Improved VDBE comments on the constraint checker. Fix a missing write lock in the UPDATE logic. check-in: 3bed599e user: drh tags: omit-rowid
12:42
Some UPDATE statements now working in WITHOUT ROWID tables. check-in: 5c0eaea6 user: drh tags: omit-rowid
01:45
A couple of bug fixes. check-in: cdf00248 user: drh tags: omit-rowid
2013-10-31
20:34
Fix the Synopsis on OP_Concat. Added test_addop_breakpoint() during SQLITE_DEBUG. Enhanced sqlite3VdbeChangeToNoop() to omit the instruction if it is the most recent added. Continue to fix problems with UPDATE and WITHOUT ROWID. check-in: 9b6d9e10 user: drh tags: omit-rowid
18:49
Fix a problem in os_unix.c causing compilation failure if SQLITE_DEBUG and SQLITE_MAX_MMAP_SIZE=0 are both defined. check-in: 090db8c8 user: dan tags: trunk
17:38
Fix issues with quering from an auxiliary index that must refer back to the PRIMARY KEY index of a WITHOUT ROWID table. check-in: cff1f55c user: drh tags: omit-rowid
15:37
Improved comments and variable names in infrastructure routines of UPDATE, DELETE, and INSERT. check-in: ad90e762 user: drh tags: omit-rowid
12:13
Moving UPDATE towards the iDataCur/iIdxCur representation. Still not working for WITHOUT ROWID, though. check-in: deacbd21 user: drh tags: omit-rowid
11:15
Refactor the INSERT, DELETE, and UPDATE code generators to distinguish between the "data cursor" and the "first index cursor", which are no longer consecutive in the case of a WITHOUT ROWID table. check-in: 1adfca60 user: drh tags: omit-rowid
06:39
Update comments in the MSVC batch build tool. check-in: 0414bb73 user: mistachkin tags: trunk
06:13
Enable some more tests on Windows. check-in: 72389c29 user: mistachkin tags: trunk
06:11
Fix harmless compiler warnings. check-in: 1a0a8865 user: mistachkin tags: trunk
2013-10-30
20:22
Continue working to get UPDATE operational for WITHOUT ROWID tables. Fix PRAGMA integrity_check so that it works on WITHOUT ROWID tables. check-in: 0d4fea74 user: drh tags: omit-rowid
15:52
Make sure KeyInfo objects on multi-column indices of WITHOUT ROWID tables have the correct nField and nXField values. Also, add the SQLITE_ENABLE_MODULE_COMMENT compile-time option and the VdbeModuleComment() macro and use it to label entry and exit points of some key routines. check-in: 6d9af606 user: drh tags: omit-rowid
13:46
In the P4 column of the EXPLAIN listing, abbreviate "keyinfo" as just "k" and "BINARY" as just "B". check-in: 72d45eb7 user: drh tags: omit-rowid
12:43
Enhance the timer in the shell to show wall-clock time in addition to user and kernel CPU time. check-in: 908e2c21 user: drh tags: trunk
12:30
Have the shell ".timer on" command cause the shell to report wall-clock time for each query (as well as user and system CPU time). Leaf check-in: 5530cdc4 user: dan tags: shell-wall-clock
03:25
Add the "Esri Spatially-Enabled Database" file format to the magic.txt file. check-in: 8530a18f user: drh tags: trunk
02:37
Merge EXPLAIN enhancements from trunk. check-in: 2fcac056 user: drh tags: omit-rowid
02:28
Add the SQLITE_ENABLE_EXPLAIN_COMMENTS compile-time option to enable extra commentary in the EXPLAIN output. Formerly, this was only available with SQLITE_DEBUG. check-in: e1a89b56 user: drh tags: trunk
00:25
Enhanced display of register ranges in the auxiliary comments added to EXPLAIN. check-in: d6b0c392 user: drh tags: trunk
2013-10-29
20:47
Import the automatic comment generating changes from trunk. check-in: 8bb51da1 user: drh tags: omit-rowid
20:40
Automatically generated comments on many VDBE opcodes when in SQLITE_DEBUG mode. Comments derive from the "Synopsis:" field added to each opcode definition in vdbe.c. check-in: 5f310c6a user: drh tags: trunk
16:14
Improved comments on the constraint checking logic. check-in: 141a38a7 user: drh tags: omit-rowid
2013-10-28
22:47
Merge all trunk changes since 3.8.1 into the sessions branch. check-in: aa72ea8a user: drh tags: sessions
22:39
Merge recent fixes from trunk. check-in: 9f8191d1 user: drh tags: omit-rowid
22:33
Formatting improvements to the WHERE-clause constraint display in the wheretrace debugging logic. check-in: 3a9e3ed9 user: drh tags: trunk
20:38
Add regression tests for ticket [c620261b5b5]. check-in: 05a35b09 user: drh tags: trunk
20:15
Do not use transitive WHERE-clause constraints on LEFT JOINs. Fix for ticket [c620261b5b5dc]. check-in: 9aac4e58 user: drh tags: trunk
19:59
More wheretrace debugging support: Show a listing of all WHERE clause terms (on wheretrace bit 0x100) and include important flags such as TERM_VIRTUAL, WO_EQUIV, and EP_FromJoin. check-in: 92ccd705 user: drh tags: trunk
19:03
Bug fix and enhancements to the improved wheretrace logic that shows the constraint expressions. check-in: 10f125f5 user: drh tags: trunk
14:34
Improved "wheretrace" capabilities: Show the constraint expression if the wheretrace flag has the 0x100 bit set and if compiled with SQLITE_ENABLE_TREE_EXPLAIN. check-in: 710a18ac user: drh tags: trunk
2013-10-26
15:40
Work on the UPDATE and INSERT logic. This is an incremental check-in so that can switch over to trunk to work on an unrelated issue there. check-in: 086ec2a1 user: drh tags: omit-rowid
13:36
Replace the OP_IsUnique opcode with OP_NoConflict. This code simplification might be useful to move onto trunk even if this branch is never merged. check-in: e6650e16 user: drh tags: omit-rowid
00:58
Minor refactoring of variable names and fixes to comments in insert.c. check-in: ae61a343 user: drh tags: omit-rowid
2013-10-25
19:17
Progress toward getting UPDATE to work in WITHOUT ROWID tables. check-in: e557b7d8 user: drh tags: omit-rowid
14:46
Basic DELETE operations now working on WITHOUT ROWID tables. check-in: 9eafafa3 user: drh tags: omit-rowid
2013-10-24
19:48
Update the interface to the sqlite3GenerateRowDelete() utility so that it is able to handle WITHOUT ROWID tables. The implementation still needs to be completed. check-in: 85daf517 user: drh tags: omit-rowid
15:20
Add the ".open" command to the command-line shell. check-in: 21eccb91 user: drh tags: trunk
14:16
Delete PRIMARY KEY index entries last. Only construct the unique prefix of an index key when deleting entries from an index. check-in: 0e56ba69 user: drh tags: omit-rowid
11:55
Remove an obsolete comment from the VDBE. No code changes. check-in: 53bb070c user: drh tags: omit-rowid
00:18
Correctly handle queries that use secondary indices of WITHOUT ROWID tables. check-in: d8bc8595 user: drh tags: omit-rowid
2013-10-23
23:37
Change the sqlite3OpenTable() utility to open the PRIMARY KEY index when reading a WITHOUT ROWID table. check-in: 247f3899 user: drh tags: omit-rowid
22:23
Construct secondary indices on WITHOUT ROWID tables. check-in: 2c028ddc user: drh tags: omit-rowid
17:39
Report an error when trying to resolve column name "rowid" in a WITHOUT ROWID table. check-in: 36bcc9cb user: drh tags: omit-rowid
16:03
Get VACUUM and the xfer optimization working with WITHOUT ROWID. check-in: 579815ff user: drh tags: omit-rowid
13:30
Some inserts and queries working for multi-column primary keys and WITHOUT ROWID. check-in: b21d831b user: drh tags: omit-rowid
01:57
Some simple inserts and queries working on WITHOUT ROWID tables. check-in: 3f8016de user: drh tags: omit-rowid
00:32
Build internal data structures appropriately for WITHOUT ROWID tables. check-in: 35a36060 user: drh tags: omit-rowid
2013-10-22
18:01
The Index object now has nKeyCol and nColumn. nColumn is the total number of columns and nKeyCol is the number of key columns. Currently these always differ by one. Refactor aiColumn[] to be of type i16 instead of int. check-in: a106ce86 user: drh tags: omit-rowid
14:28
Add a procedure to handle the messy details of allocating an Index object from the heap. check-in: 45efc94f user: drh tags: omit-rowid
10:23
Extra backwards-compatibility tests verify that UNIQUE and PRIMARY KEY indices are created in the correct order. Other backwards-compatibility tests already cover this, but it does not hurt to double up. check-in: 5ca0ea2e user: drh tags: omit-rowid
01:18
Previous refactor is not going to be helpful because implied indices must be created in the same order that they appear in the CREATE TABLE statement for backwards compatibility. This is a much smaller change to clean up a few loose ends. check-in: 824b549f user: drh tags: omit-rowid
2013-10-21
23:55
Minor refactoring of the PRIMARY KEY parsing logic to facilitate enhancements. Closed-Leaf check-in: 4e69dd5f user: drh tags: omit-rowid
23:17
Improve support for the SQLITE_OMIT_FLAG_PRAGMAS compile-time option. check-in: f1d8c3b0 user: mistachkin tags: trunk
13:15
Drop the mutex on the multiplexor before entering the xRead VFS call. Closed-Leaf check-in: a00d2ed4 user: drh tags: multiplex-parallel-read
02:14
Simplification of the syntax: Merely append "WITHOUT rowid" to the end of the table definition. check-in: 131cc6e1 user: drh tags: omit-rowid
2013-10-19
23:31
Experimental changes toward "index only" tables. Add the ability to specify options on CREATE TABLE statements using the WITH clause modeled after PostgreSQL and SQL Server. Only the "omit_rowid" option is currently recognized and that option is currently a no-op. check-in: 0248ec5e user: drh tags: omit-rowid
16:51
Improved header comment with better instructions on the vfslog.c extension. check-in: 4bd592c8 user: drh tags: trunk
15:07
Fix a bug causing an "malformed database schema error" error if a temp table with the same name as an existing table that has at least one temp trigger attached to it is created. check-in: 56dca4a6 user: dan tags: trunk
2013-10-18
20:03
Add the SQLITE_FCNTL_TRACE file control and generate it for OP_Trace when compiled with SQLITE_USE_FCNTL_TRACE. Update vfslog.c to make use of the new file control. Also update vfslog.c to log UNLOCK events before the fact, rather than afterwards. check-in: e801f35a user: drh tags: trunk
17:42
Further enhance the vfslog extension to record the number of freelist pages and the first freelist page in CHNGCTR-READ and CHNGCTR-WRITE records. check-in: 08157524 user: drh tags: trunk
14:37
In the vfslog extension for FILECONTROL records, show the pragma name for SQLITE_FCNTL_PRAGMAs and the requested size for SQLITE_FCNTL_SIZE_HINT. check-in: f0629695 user: drh tags: trunk
2013-10-17
12:57
Version 3.8.1 check-in: c78be6d7 user: drh tags: trunk, release, version-3.8.1
2013-10-16
23:58
Fix a typo in a requirements mark comment. No changes to code. check-in: e5a439cf user: drh tags: trunk
14:32
Merge the latest trunk changes. check-in: 58065468 user: drh tags: sessions
11:39
Clear a valgrind error by zeroing the first 4 bytes of the temp-space allocation used by the b-tree module. check-in: 8651aba1 user: dan tags: trunk
11:31
Fix memory and resource leaks for WinCE and Cygwin, and a compiler warning on windows with SQLITE_THREADSAFE=0. check-in: 9905cea9 user: drh tags: trunk
09:49
Fix memory/resource leaks for WinCE and Cygwin. Closed-Leaf check-in: 2470d1bb user: mistachkin tags: wince-fixes
2013-10-15
19:06
Add the "languageid" hidden column to fts4aux. check-in: 891df358 user: dan tags: trunk
15:35
Changes to test code to make sure no server threads are left running after server1.test finishes. check-in: 1086e00b user: dan tags: trunk
14:29
Fix an 8-byte alignment problem on the "crash test" harness (test code, not in the core) that causes problems on Sparc. check-in: bcbc6503 user: drh tags: trunk
14:10
Merge the latest trunk changes into the sessions branch. This merge should fix the build for WinRT. check-in: e111e4ed user: drh tags: sessions
11:58
Fix harmless macro redefinition warnings in the totype extension. check-in: c9c1f8d6 user: drh tags: trunk
10:43
Fix harmless macro redefinition warnings in the totype extension. Closed-Leaf check-in: a38adeb7 user: mistachkin tags: noWarnings
2013-10-14
22:35
Fix harmless compiler warning in the totype extension. Include all standard whitespace characters in totypeIsspace. Minor adjustments to style and comments. check-in: 73238f65 user: mistachkin tags: trunk
21:14
Move the tointeger() and toreal() functions out of core and make them into a run-time loadable extension. check-in: 9f66dd7e user: drh tags: trunk
20:30
Fix a crash in FTS incremental phrase processing that can occur if the second or subsequent token is much more common in the dataset than the first. check-in: 0bf438fc user: dan tags: trunk
19:35
Add implementations for the toInteger() and toReal() SQL functions. check-in: a0f7cbc0 user: drh tags: trunk
15:41
Fix for building with SQLITE_OMIT_FOREIGN_KEY. check-in: b8b5f6c8 user: dan tags: trunk
14:30
Update the foreign_key_check pragma so that when a parent table is undefined it is treated as an empty table. check-in: 208b259a user: drh tags: trunk
14:21
Corrects to comments on the STAT4 implementation. check-in: e06f74d3 user: drh tags: trunk
13:21
Make subroutines sampleCopy() and valueFromExpr() have file scope. check-in: 1660efbe user: drh tags: trunk
10:46
Add a new application_id for GeoPackage version 1.0. check-in: 98ddfe45 user: drh tags: trunk
2013-10-12
23:39
Merge updates from trunk. Closed-Leaf check-in: a88b5be0 user: mistachkin tags: toTypeFuncs
20:22
Restore the index_list pragma back to its former operation. Create a new PRAGMA stats used to access the table and index widths and heights. check-in: f0cf8c85 user: drh tags: trunk
19:06
In "PRAGMA foreign_key_check", treat missing parent tables as empty (instead of as errors). Closed-Leaf check-in: 8c13a7fd user: dan tags: fkc-missing-parent-tables
15:12
Fix handling of "DROP TABLE" commands when "PRAGMA defer_foreign_keys=1" is set. check-in: 27001356 user: dan tags: trunk
13:16
Add tests that demonstrate that PRAGMA defer_foreign_keys will reset to off at the conclusion of the next transaction. check-in: 67e28a11 user: drh tags: trunk
09:32
Changes to the new initial row of PRAGMA index_list results. Closed-Leaf check-in: 0c4dd9ff user: mistachkin tags: indexList
02:33
Fix harmless compiler warning. check-in: 4b130f88 user: mistachkin tags: trunk
02:31
Permit the creation of VSIX packages for Win32. check-in: 035d03e9 user: mistachkin tags: trunk
00:56
Fix Unicode character encoding issues on Windows in the fts4unicode test file. check-in: c9310c9a user: mistachkin tags: trunk
2013-10-11
23:37
Identify requirements text in the SQLITE_CONFIG_ documentation. Fix a typo (a duplicated word) in part of that documentation. Add some requirements marks for DETACH to the test scripts. No code changes. check-in: 1be0a3ad user: drh tags: trunk
23:02
The split amalgamation option should be disabled by default. check-in: 7c24d22f user: mistachkin tags: trunk
23:01
Enhance debugging support for the split amalgamation files when compiling with MSVC. check-in: 8ff17c55 user: mistachkin tags: trunk
23:01
Fix a harmless compiler warning in lemon.c. check-in: 62959c0c user: drh tags: trunk
22:19
Add -no-undefined option when linking the shared libraries. check-in: 977d2b12 user: mistachkin tags: trunk
22:17
Fix test numbering. check-in: cef39f69 user: mistachkin tags: trunk
20:14
Add requirements marks. No code changes. check-in: 5e0d43ab user: drh tags: trunk
16:35
Additional test cases and requirements marks for the unlikely(), likelihood() and instr() functions. check-in: 5f01cd36 user: drh tags: trunk
15:05
Fix various harmless compiler warnings. Change the "warnings.sh" script to work with STAT4 instead of STAT3. check-in: 7df06684 user: drh tags: trunk
13:27
Make sure the sqlite3.h file occurs at the very top of the sqlite3.c amalgamation. check-in: 03593817 user: drh tags: trunk
05:51
Fix compilation issue for WinRT. check-in: 7a2006ca user: mistachkin tags: trunk
2013-10-10
20:13
Synchronize with the trunk. check-in: 136445ba user: drh tags: sessions
17:33
Add a rule to the main.mk makefile for building showdb. check-in: fc5552da user: drh tags: trunk
15:04
Enhancements to the vfslog.c module to show all change-counter changes and to show the hostname and pid of the process that creates each log file. check-in: af7abebe user: drh tags: trunk
13:41
Another fix to the hash signature algorithm in vfslog.c. check-in: 34212aa8 user: drh tags: trunk
13:38
Fix the hash signature algorithm in vfslog.c. Add a utility program to show the hash signatures for every page of a database file. check-in: eaf4de13 user: drh tags: trunk
13:04
Add ext/misc/vfslog.c, a VFS shim for unix that keeps a log of method calls made by SQLite. check-in: 24a827b8 user: dan tags: trunk
12:38
Estimate row sizes for tables and indices and use those estimates during query planning. Enhance the index_info pragma to show the estimated row sizes and to show the estimated row size for the main table as well. Allow an alternative row size estimate to be specified in the sqlite_stat1 table. check-in: d27b88b8 user: drh tags: trunk
2013-10-09
19:07
Make sure the correct printf format is used for type tRowcnt regardless of whether 32-bit or 64-bit row counts are specified at compile-time. Closed-Leaf check-in: e97d7d30 user: drh tags: row-size-est
2013-10-08
23:16
Move a conditional inside of an #ifdef in order to make all branches reachable regardless of compile-time options used. check-in: f7cc30d4 user: drh tags: row-size-est
22:25
Fix test cases for the new information in PRAGMA index_list. check-in: dd03be10 user: drh tags: row-size-est
20:42
Rollback some of the previous changes in the branch such that the estimated row sizes are now only used as a tie-breaker for index scans. check-in: 65553ff3 user: drh tags: row-size-est
20:01
Use #ifdefs to omit unused code in the columnType() routine depending on compile-time options. check-in: 3fd5e332 user: drh tags: row-size-est
18:40
Further refinement of the idea of multiplying run-time cost estimates by the estimated row size. check-in: 18bd6ba9 user: drh tags: row-size-est
2013-10-07
21:49
Fix compilation issue with MSVC. check-in: 36d64dc3 user: mistachkin tags: trunk
17:32
Multiply all cursor step cost estimates by the estimated size of the row in bytes, in order to get the query planner ot make use of estimated row sizes. This check-in uses magic numbers in a few places (for example, estimates of the size of output rows) and needs lots of refinement. Consider this a proof-of-concept only. check-in: cb34cfe5 user: drh tags: row-size-est
16:53
Try to remember statistics from ANALYZE using LogEst instead of u64. Leaf check-in: 8e78557a user: drh tags: log-stats
10:48
Merge bug fixes from trunk. check-in: 1d7b2dc0 user: drh tags: row-size-est
00:36
Restore the hexrekey pragma which was accidently deleted during the pragma refactoring. Make sure the hexkey and hexrekey pragmas do not overflow buffers with a over-length key. check-in: 0aca31e1 user: drh tags: trunk
2013-10-06
22:52
Remove an incorrect debugging assert() that was accidently added during the STAT4 enhancement. check-in: 2bb7f74b user: drh tags: trunk
22:12
Accept the sz=N parameter on table-only lines of sqlite_stat1. check-in: e9e932aa user: drh tags: row-size-est
2013-10-05
20:18
Fix an issue in the test8.c test module that arises because of the change to PRAGMA index_list(). Remove an unused local variable. check-in: 029430c5 user: drh tags: row-size-est
19:18
Completely remove the iScanRatio field. The PRAGMA index_list(TABLE) command shows the estimated row size in the forth column. It also generates a row for the table with an index name of NULL. The query planner still does not take row size estimates into account - that is the next step. check-in: 8b4aa0c7 user: drh tags: row-size-est
18:32
Improvements to the LogEst command-line tool used to convert between ordinary numbers and the LogEst representation. check-in: 5252aeb6 user: drh tags: row-size-est
18:16
Begin an experimental refactoring to estimate the average number of bytes in table and index rows and to use that information in query planner. Begin by renaming WhereCost to LogEst and making that type and its conversion routines available outside of where.c. check-in: 66c4a251 user: drh tags: row-size-est
02:56
In the index_list pragma, make sure the "r" column is the same on output as it was on input in the sqlite_stat1 table. Closed-Leaf check-in: de78250a user: drh tags: index-scan-rate
2013-10-04
20:39
Merge trunk changes. check-in: c6ac80ed user: drh tags: index-scan-rate
18:29
Further refinements of the index scanning speed logic. check-in: e5d9371d user: drh tags: index-scan-rate
18:17
If an "INSERT INTO ... SELECT" can use the xfer optimization, pass the OPFLAG_BULKCSR hint to btree cursors used to update indices. This results in a tighter key packing. check-in: 087af29e user: dan tags: trunk
15:58
Fix test cases so that they work when the query planner uses index size estimates to determine whether or not to try an covering index scan. check-in: 2f394de8 user: drh tags: index-scan-rate
15:30
Improved estimates of the relative speed of index scans based on declared datatypes of columns in the table. Add "r" column to PRAGMA index_info, showing the estimated relative scan rate. check-in: 07462bb6 user: drh tags: index-scan-rate
02:36
Progress toward using the iScanRatio information on indices. Many tests are still failing. check-in: 6c352edb user: drh tags: index-scan-rate
00:00
Make sure the count(*) optimization works correctly even when partial indices are present. Ticket [a5c8ed66cae]. check-in: 9f2f4c0a user: drh tags: trunk
2013-10-03
20:41
Have FTS take advantage of "docid<?" constraints when they are present. Extend the FTS "incremental doclist" optimization so that it is used for tokens within multi-token phrases. check-in: baf8ce59 user: dan tags: trunk
20:28
Merge latest trunk changes. Closed-Leaf check-in: 24aa20da user: dan tags: fts4-docid-range-constraints
19:27
Allow FTS4 multi-token phrases to use a combination of in-memory and incrementally loaded doclists. This allows phrases to (partially) benefit from incremental doclists without disabling the deferred token optimization. check-in: f6819c5f user: dan tags: fts4-docid-range-constraints
19:21
Experimental branch allowing different postulated scan rates for each index. check-in: d59d97b0 user: drh tags: index-scan-rate
15:39
The sqlite3FixInit() routine cannot fail. So change the return type from "int" to "void". check-in: 500c5932 user: drh tags: trunk
14:08
Rework the PRAGMA implementation to only call sqlite3ReadSchema() from a single place, based on a flag in the pragma table, rather than separately from each case which needs the schema. check-in: 8338232a user: drh tags: trunk
12:29
Return an error if an attempt is made to create a trigger with an SQL variable embedded within it. If such a variable reference is found within a trigger definition loaded from the sqlite_master table, silently replace it with a NULL. check-in: f35f6ae3 user: dan tags: trunk
11:27
Remove unnecessary memset() calls from test code. check-in: eec3187b user: drh tags: trunk
2013-10-02
20:46
In the lemon parser generator, change all hashes to unsigned to avoid potential problems with signed integer overflow. check-in: 8d399a03 user: drh tags: trunk
08:04
Add a test to check that the new multi-token phrase optimization is actually helping. check-in: bc3a2ed5 user: dan tags: fts4-docid-range-constraints
2013-10-01
20:29
Bring some file format comments in btreeInt.h up to date. check-in: 012d54d0 user: drh tags: trunk
20:10
Merge trunk changes with this branch. check-in: 65d9c6fa user: dan tags: fts4-docid-range-constraints
20:02
Allow multi-token phrases to load doclists from the database incrementally. This allows queries that feature such phrases to benefit from the "docid<?" optimization. check-in: ea543f08 user: dan tags: fts4-docid-range-constraints
19:36
Fix comments in the fast_vacuum.c demonstration program. check-in: e0db7b38 user: drh tags: trunk
19:02
Add the "fast_vacuum.c" demonstration program to the tool/ subdirectgory. check-in: 2b60320d user: drh tags: trunk
15:30
Change the ".dump" command in the command-line shell so that it COMMITs if there are database corruption errors but invokes ROLLBACK on any other kind of error. check-in: 47323463 user: drh tags: trunk
2013-09-30
19:33
Fix a minor typo in a comment in where.c. check-in: 9c9fa151 user: drh tags: trunk
19:05
Add some timing tests to the amatch test script. check-in: ad71c72b user: drh tags: trunk
18:16
Merge trunk changes with this branch. check-in: e294a9c7 user: dan tags: fts4-docid-range-constraints
18:14
Fix a performance problem in the FTS4 auxiliary functions triggered by an OR clause in the full-text query. check-in: fa0f2f0e user: dan tags: trunk
17:37
Fix memory leaks in the amatch extension. Add a few simple test cases. check-in: 60413473 user: drh tags: trunk
11:42
Have fts4 full-text queries consider "docid<?" and similar constraints. check-in: 6622424a user: dan tags: fts4-docid-range-constraints
11:01
Update and modernize an obsolete comment associated with VACUUM. No changes to code. check-in: 94c914e3 user: drh tags: trunk
2013-09-29
04:56
Fix typo in comment. No changes to code. check-in: 0b7bd468 user: mistachkin tags: trunk
2013-09-28
16:43
Add new test file fts3defer3.test. check-in: a6cd14ef user: dan tags: trunk
13:28
In the nextchar.c extension, allow the second argument to the next_char() function to be a subquery. check-in: 59b9fa22 user: drh tags: trunk
12:40
Updates to the sqlite3_analyzer utility: Change the names of some labels, especially change "Fragmentation" to "Non-sequential pages". Revise the computation of non-sequential pages so that it ignores itercalated non-leaf pages (overflow and index pages). check-in: 3e5c7771 user: drh tags: trunk
2013-09-26
15:21
Obtain the required shared-cache write-lock when executing "DELETE FROM tbl" statements. Fix for [1e1321ee98]. check-in: 1f8f4fdf user: dan tags: trunk
11:04
Fix a faulty assert() in sqlite3BtreeBeginTrans() that may fail in shared-cache mode. check-in: 1e1321ee user: dan tags: trunk
2013-09-24
19:07
Merge updates from trunk. check-in: 435ce3b3 user: mistachkin tags: toTypeFuncs
2013-09-18
11:16
Test that the unicode61 tokenchars= and separators= options work with the fts3tokenize virtual table. check-in: ed240514 user: dan tags: trunk
2013-09-17
23:36
Clear the current time value on prepared statements when the prepared statement is reset. check-in: cebd6fc5 user: drh tags: trunk
2013-09-16
20:46
Readability improvements to the Win32 RC file. check-in: e6459062 user: mistachkin tags: trunk
19:27
Minor consistency fixes to the Win32 RC file. check-in: 619c5211 user: mistachkin tags: trunk
12:57
The date and time functions use the exact same notion of "now" for every invocation within the same call to sqlite3_step(). check-in: daf6ba41 user: drh tags: trunk
2013-09-13
23:27
Fix Windows SDK compiler warning. check-in: d5fc3f1d user: mistachkin tags: trunk
23:26
Fix test issues for Windows portability. check-in: 650b3282 user: mistachkin tags: trunk
22:38
VSIX tooling changes to support Visual Studio 2013. check-in: d56fac40 user: mistachkin tags: trunk
21:03
Fix the "const" qualifiers on the pragma name table. check-in: b74e6be8 user: drh tags: trunk
21:01
Add the soft_heap_limit pragma. check-in: c326356f user: drh tags: trunk
19:08
VSIX tooling changes to support Visual Studio 2013. Leaf check-in: e8ac4a12 user: mistachkin tags: branch-3.8.0
19:00
Tweak the new PRAGMA name parser to achieve full branch test coverage. check-in: c82e05c4 user: drh tags: trunk
18:15
Remove one unreachable branch and add asserts() to dupedExprStructSize(). New asserts verify that removed branch is unused and that constants that are ORed together in the output do not overlap. check-in: 86ad358b user: drh tags: trunk
17:47
Adjust the query planner to take into account WHERE clause terms that do not drive indices. Add the unlikely() and likelihood() functions used to give hints to the query planner about the selectivity of WHERE clause terms. check-in: bc446449 user: drh tags: trunk
16:56
Enhance the pragma lookup table generator script to output a comment that gives the number of pragmas. check-in: ca052050 user: drh tags: trunk
16:36
Change the PRAGMA parser to use a binary search for the pragma name. Also: Minor performance enhancement to sqlite3DbFree() and to the token dequoter. check-in: 870c030b user: drh tags: trunk
12:10
Add tests for the fts4 unicode61 tokenchars and separators options. check-in: 9ce6f40d user: dan tags: trunk
2013-09-12
23:42
Refactor the ExprSetIrreducible() macro into ExprSetVVAProperty(*,EP_NoReduce). This is a naming change only. The logic is the same. Closed-Leaf check-in: 695aee46 user: drh tags: unlikely-func
23:12
Fix typo in a macro name: "GlogUpperToLower" should be "GlobUpperToLower" check-in: 73634ca4 user: drh tags: trunk
17:29
Merge in the Expr.flags expansion to 32-bits. Use an extra bit to help optimize the sqlite3ExprSkipCollate() routine. check-in: 4c84d1b4 user: drh tags: unlikely-func
16:50
Increase the number of bits available in Expr.flags. Other tweaks aimed at making expression processing more robust. Closed-Leaf check-in: 579a5125 user: drh tags: expr-tuning
02:09
For error log messages generated by the Win32 native allocator, make sure the correct format specifier is used for the value returned by GetLastError(). check-in: 75a8a8c1 user: mistachkin tags: trunk
01:47
Fix a couple more harmless compiler warnings. check-in: 59708674 user: mistachkin tags: trunk
01:33
Remove two obsolete fields from the sqlite3 object. check-in: 117fa5fb user: drh tags: trunk
00:54
Fix harmless compiler warning. check-in: 2b510614 user: mistachkin tags: trunk
00:40
Merge updates from trunk. Closed-Leaf check-in: fca799f0 user: mistachkin tags: vsix2013
2013-09-11
17:39
Improvements to likelihood processing so that commuting an unindexed term in the WHERE clause does not change the query plan. check-in: 6e6bded0 user: drh tags: unlikely-func
14:57
Add test cases to cover TPC-H Q8. check-in: eb5cef83 user: drh tags: trunk
14:34
Additional unlikely() test cases. Logic tweaks to support test coverage. check-in: 5d00cce7 user: drh tags: unlikely-func
11:38
Change the name of the two-argument unlikely() function to likelihood(). Add test cases. check-in: 29a359b8 user: drh tags: unlikely-func
03:53
Tweaks to the index selection logic. check-in: 52d52688 user: drh tags: unlikely-func
2013-09-10
01:53
Merge trunk fixes into the unlikely-func branch. check-in: a51d7515 user: drh tags: unlikely-func
01:41
Deterministically initialize the PRNG used as a tie-breaker in the ANALYZE command, so that the analysis is always the same given the same database. This simplifies testing. check-in: 48ed8b56 user: drh tags: trunk
2013-09-09
19:37
Make sure that the transitive constraint optimization does not cause WHERE clause terms to be disabled prematurely. We are unable to find a test case that fails because of this, but it seems prudent to make this preventative change nevertheless. check-in: d6e361d7 user: drh tags: trunk
2013-09-07
00:29
Continuing refinements of the logic to take WHERE clause terms not used for indexing into account when computing the number of output rows from each table. check-in: b65dc534 user: drh tags: unlikely-func
2013-09-06
22:27
Merge updates from trunk. check-in: 8922be1a user: mistachkin tags: toTypeFuncs
21:41
Add the ability to generate assembly listing files using the MSVC makefile. check-in: 6caa2cd1 user: mistachkin tags: toTypeFuncs
20:30
When converting from a BLOB value in the tointeger() and toreal() SQL functions, make sure that endianness of the machine does not matter. check-in: 94c4cdc5 user: mistachkin tags: toTypeFuncs
17:45
Enhance the plan solver to take into account the number of output rows when computing the set of paths to retain for the next cycle. check-in: 1a46a724 user: drh tags: unlikely-func
15:23
Initial implementation of the unlikely() SQL function used as a hint to the query planner. check-in: 036fc37a user: drh tags: unlikely-func
13:10
Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a single new FuncDef.funcFlags field. check-in: 97b10e66 user: drh tags: trunk
00:40
Make sure the destination WhereLoop is left in a sane state when an OOM fault occurs inside of whereLoopXfer(). check-in: a99a53b8 user: drh tags: trunk
2013-09-05
18:40
When preparing an UPDATE statement, avoid generating VDBE code for those foreign key related actions and constraint checks that may be seen to be unnecessary by considering the subset of table columns potentially modified by the UPDATE. check-in: e940b5de user: dan tags: trunk
2013-09-04
18:14
Rearrange the order of conditions in an "if" statement to facilitate testing. check-in: 8462fb43 user: drh tags: trunk
16:38
Add tests to improve coverage when SQLITE_ENABLE_STAT3 is defined. check-in: f929e9b4 user: dan tags: trunk
16:08
Fix a bug in the command-line shell for ".mode insert" on UTF16 databases with BLOB values. check-in: d8fdc782 user: drh tags: trunk
15:15
The sqlite3Stat4ProbeSetValue() routine should always return results using the database encoding. check-in: eb216632 user: drh tags: trunk
04:04
Fix out-of-order variable declaration. Fix harmless compiler warning. check-in: 8df95bb0 user: mistachkin tags: trunk
02:07
Conditionally exclude code from analyze.c that is not used by STAT3. check-in: a48948a1 user: drh tags: trunk
00:58
Additional test cases for the tointeger() and toreal() SQL functions when converting from a BLOB. check-in: e1814452 user: mistachkin tags: toTypeFuncs
2013-09-03
19:26
Harden the STAT4 logic in where.c against OOM faults. check-in: 91d2cfbc user: drh tags: trunk
17:11
Version 3.8.0.2 check-in: 7dd4968f user: drh tags: release, version-3.8.0.2, branch-3.8.0
14:49
Merge in all the latest trunk changes, including the win32-longpath VFS and the fix for the segfault in the omit-left-join optimization. check-in: cdd3838b user: drh tags: sessions
14:43
Fix another problem in stat4 sample selection. check-in: d59f5809 user: dan tags: trunk
14:33
Make sure the omit-noop-left-join optimization is not applied if columns of the LEFT JOIN are used in the ORDER BY clause. Ticket [be84e357c035]. Increase version number to 3.8.0.2. check-in: cce54186 user: drh tags: branch-3.8.0
14:03
Make sure the omit-noop-left-join optimization is not applied if columns of the LEFT JOIN are used in the ORDER BY clause. Ticket [be84e357c035] check-in: 0303d6bc user: drh tags: trunk
2013-09-02
23:40
Add the experimental SQLITE_DEFAULT_INDEX_SHAPE=1 compile-time option that makes a much more pessimistic guess at the effectiveness of unanalyzed indices. Leaf check-in: d8daaba7 user: drh tags: index-shape-1
20:22
Simplify branch coverage testing by interchanging the order of two tests in the whereLoopInsert() function. check-in: f7079b53 user: drh tags: trunk
18:58
Further stat4 related tests. check-in: 0a702c4b user: dan tags: trunk
11:52
Add tests to check if ANALYZE is choosing common non-periodic samples for the stat4 table. check-in: 17584299 user: dan tags: trunk
07:16
Fix a problem with using stat4 data to estimate the number of rows scanned by a range constraint on the second or subsequent column of any index where an affinity transformation must be applied to the constraint argument. check-in: c21f58d8 user: dan tags: trunk
2013-09-01
23:36
Merge updates from trunk. check-in: 2982725e user: mistachkin tags: toTypeFuncs
2013-08-31
21:41
Handle BLOBs specially, treating them as binary, in the tointeger() and toreal() SQL functions. check-in: c4c53acb user: mistachkin tags: toTypeFuncs
18:36
Cleanup of the windows VFS, including added support for Cygwin, fixes for compiler warnings under unusual configurations, and improved diagnostic error messages. check-in: c94933f1 user: drh tags: trunk
18:06
Revise the amalgamation tool to allow 'duplicate' include files to be retained manually while still preserving the existing line numbers. Closed-Leaf check-in: aa482846 user: mistachkin tags: cygwinTempPath
17:21
Fix a problem causing SQLite not to use stat4 or stat3 data to analyze constraints of the form "column = expr COLLATE collation" (those with an explicit COLLATE on the non-column side of the comparison operator). check-in: 1e86d81d user: dan tags: trunk
17:01
Enhancements to the Win32 API definition macros. check-in: b1811baa user: mistachkin tags: cygwinTempPath
14:56
Reenable a test accidentally disabled when the stat4 branch was merged. check-in: d9fadc8f user: dan tags: trunk
05:46
Avoid commenting out #include statements when building the amalgamation source code file. check-in: 2fca6d78 user: mistachkin tags: cygwinTempPath
05:13
Fix harmless MSVC compiler warning with MEMDEBUG defined. check-in: b48cfd2d user: mistachkin tags: cygwinTempPath
02:48
Improve the consistency of the diagnostic messages on Windows. check-in: c6f174a0 user: mistachkin tags: cygwinTempPath
2013-08-30
21:52
Add support for Cygwin when handling temporary file names. Improve error codes and diagnostic messages for temporary file name handling on Windows. Rename winConvertUtf8Filename to winConvertFromUtf8Filename. Improve placement and comments for forward function declarations. check-in: a411df72 user: mistachkin tags: cygwinTempPath
20:19
Fix compiler warnings in analyze.c. check-in: 5bbd2ccb user: dan tags: trunk
19:59
Fix comment typo in analyze.c. No changes to code. check-in: dbc31750 user: mistachkin tags: trunk
17:50
Fix comment typos in the where.c module. No code changes. check-in: 1e0b77cf user: drh tags: trunk
17:35
If the cost of two whereLoop objects is the same in every way except that one has fewer expected output rows than the other, then choose the one with fewer output rows. check-in: 79e458ef user: drh tags: trunk
14:24
Add the SQLITE_MINIMUM_FILE_DESCRIPTOR compile-time option, for control over exactly which low-numbered file descriptors SQLite will use. check-in: ba519053 user: drh tags: trunk
13:29
Add a test for fts4 unicode61 option remove_diacritics=0. check-in: 6bf7ae6f user: dan tags: trunk
06:20
Improvements to the robust_open() logic in the unix VFS so that if an attempt is made to open a repository on file descriptors 0, 1, or 2, and blocking that file descriptor by opening it on /dev/null fails, then the open will fail. check-in: d9c018f8 user: drh tags: trunk
2013-08-29
23:36
Make the unix VFS defensive against the error of having a database file open on file descriptors 1 or 2, as an error message might easily be written onto those file descriptors and thus overwrite and corrupt the database. check-in: 30d38cc4 user: drh tags: trunk
23:34
Change the unix VFS so that it refuses to open a database file using a file descriptor less than 3. Closed-Leaf check-in: 66dddda0 user: drh tags: overwrite-avoidance
21:26
Never leave an open file descriptor pointing into the middle of the database file if the file descriptor number is 2 or less. check-in: 3426673e user: drh tags: overwrite-avoidance
17:35
Version 3.8.0.1 check-in: 352362bc user: drh tags: release, version-3.8.0.1, branch-3.8.0
15:08
Merge from trunk: (1) Recent bug fixes (2) STAT4 support (3) win32-longpath support. check-in: e7ebc8f7 user: drh tags: sessions
14:56
Restore fix [f15591f802], which was accidentally clobbered by the stat4 merge. check-in: d4b6ad33 user: dan tags: trunk
13:47
Update sqlite3.pc.in to use @PACKAGE_VERSION@ instead of @RELEASE@. Cherrypick of [2460dfd8825d25]. check-in: c5857808 user: drh tags: branch-3.8.0
13:27
Increase the version number to 3.8.0.1. check-in: 125b04de user: drh tags: branch-3.8.0
13:23
Fix an off-by-one error that causes a quoted empty string at the end of a CRNL-terminated line of CSV input to be misread by the shell. Cherrypick of [b5617e4fdadc4c]. check-in: 43aa7d23 user: drh tags: branch-3.8.0
13:21
In the query optimizer, when converting BETWEEN and LIKE/GLOB expressions into simpler forms for processing, be sure to transfer the LEFT JOIN markings. Fix for ticket [bc878246eafe0f52c]. Cherrypick of [caab361ebe]. check-in: cb667449 user: drh tags: branch-3.8.0
13:15
Cherrypick of [c1152bdcbb] and fix for [9f2eb3abac]: Have the whereShortCut() planner ignore indexes with more than four columns. check-in: c3f75941 user: drh tags: branch-3.8.0
10:46
Candidate fix for [9f2eb3abac]: Have the whereShortCut() planner ignore indexes with more than four columns. check-in: c1152bdc user: dan tags: trunk
02:27
Disable several toreal() tests that require high floating point precision when it is unavailable. check-in: b724219b user: mistachkin tags: toTypeFuncs
01:17
Prevent the implementation of the toreal() SQL function from being 'optimized' by MSVC. check-in: 047bd1c2 user: mistachkin tags: toTypeFuncs
01:11
Merge updates from trunk. check-in: 375dfe28 user: mistachkin tags: toTypeFuncs
01:09
Small enhancements to unit testing infrastructure. check-in: 9229aeb3 user: mistachkin tags: trunk
01:03
Enable finer control of optimizations when compiling with the MSVC makefile. Also, several modularity enhancements to the MSVC makefile. check-in: 6c709338 user: mistachkin tags: trunk
01:01
Fix boundary case for the toreal() SQL function. check-in: abe82c63 user: mistachkin tags: toTypeFuncs
2013-08-28
19:01
Re-enable test file wild001.test. check-in: 4f182ddc user: dan tags: trunk
18:56
Merge updates from trunk. check-in: ffc6e682 user: mistachkin tags: toTypeFuncs
18:18
Add the win32-longpath VFS allowing windows filenames up to 32K characters in length. Remove unused code when -DSQLITE_MAX_MMAP_SIZE=0. Fix some compiler warnings on windows. check-in: 12d0a885 user: drh tags: trunk
18:06
Update list of supported Tcl shells to include 8.6. Remove stray OS2 references. Closed-Leaf check-in: ecd52ccf user: mistachkin tags: mmapDisabled
17:59
Fix a couple comments. check-in: 945cb89e user: mistachkin tags: mmapDisabled
16:27
In the query optimizer, when converting BETWEEN and LIKE/GLOB expressions into simpler forms for processing, be sure to transfer the LEFT JOIN markings. Fix for ticket [bc878246eafe0f52c]. check-in: caab361e user: drh tags: trunk
13:46
Increase the version number to 3.8.1 due to the addition of STAT4 support. check-in: 41c089e2 user: drh tags: trunk
13:33
Fix an off-by-one error that causes a quoted empty string at the end of a CRNL-terminated line of CSV input to be misread by the shell. check-in: b5617e4f user: drh tags: trunk
11:57
Add a test case for empty quoted field in CSV import in the shell. check-in: 3df56e84 user: drh tags: trunk
11:43
Label a certain branch as NEVER() only for non-STAT3/4 builds. check-in: b5ccf6e9 user: drh tags: trunk
07:42
In the win32longpath test, move the journal mode change down where it was intended to be. check-in: 5cead293 user: mistachkin tags: mmapDisabled
05:49
Support database file names longer than 260 characters using the new 'win32-longpath' VFS variant. check-in: 37e85e44 user: mistachkin tags: mmapDisabled
02:37
Make names of private functions in the Win32 VFS consistent. Fix comment typo in Win32 mutex implementation. check-in: c3b82c5b user: mistachkin tags: mmapDisabled
02:26
Remove hard-coding of the directory separator in the Win32 VFS. Fixes to OSTRACE macros. check-in: fc98092f user: mistachkin tags: mmapDisabled
01:54
Fix several harmless compiler warnings. Fix a couple compiler issues with the shell. check-in: 8917e9f9 user: mistachkin tags: mmapDisabled
2013-08-27
23:15
Adjust ANALYZE for improved test coverage. Use the SQLITE_ENABLE_STAT3_OR_STAT4 macro (created in sqliteInt.h) to conditionally include code, instead of a boolean specifying both macros separately. check-in: 67a9a392 user: drh tags: trunk
20:16
Reduce the amount of code run and memory used for ANALYZE in the common case where neither STAT3 and STAT4 are enabled. check-in: 9d1424c9 user: drh tags: trunk
15:41
Update sqlite3.pc.in to use @PACKAGE_VERSION@ instead of @RELEASE@. check-in: 2460dfd8 user: dan tags: trunk
14:14
In the ANALYZE command implementation make statInit() a 2-value function since the 3rd parameter was always the same constant. check-in: 959bb5ac user: drh tags: trunk
2013-08-26
23:18
Preparation for further Windows path name handling changes. check-in: ec99224b user: mistachkin tags: mmapDisabled
23:18
Merge the STAT4 capability into trunk. check-in: a32af0ab user: drh tags: trunk
20:45
Change MAX_PATH related defines to use character lengths where WCHARs are used. check-in: 0a497083 user: mistachkin tags: mmapDisabled
19:36
Merge updates from trunk. check-in: 9d686009 user: mistachkin tags: mmapDisabled
14:30
Fix for builds with both SQLITE_OMIT_WAL and SQLITE_MAX_MMAP_SIZE=0 defined. check-in: edd5dbdc user: dan tags: trunk
04:50
Version 3.8.0 check-in: f64cd21e user: drh tags: trunk, release, version-3.8.0
2013-08-24
23:55
Several modifications to the use of the MAX_PATH macro on Windows to improve consistency. check-in: bda4c47d user: mistachkin tags: mmapDisabled
01:12
Fix a couple compilation issues on Unix. check-in: 25b029d8 user: mistachkin tags: mmapDisabled
00:59
Unify the result of PRAGMA mmap_size when mmap support is disabled. check-in: 032c3159 user: mistachkin tags: mmapDisabled
2013-08-23
17:54
Merge recent trunk changes. check-in: 6cc54de8 user: dan tags: sessions
17:43
Add the sqlite3session_table_filter API to the sessions extension. check-in: b7e4dd88 user: dan tags: sessions
17:33
Adjust #ifdefs to get SQLITE_OMIT_AUTOMATIC_INDEX and SQLITE_OMIT_PAGER_PRAGMAS to build. check-in: ed310201 user: drh tags: trunk
16:47
Fix a requirements comment in a test case. No changes to the testcase itself nor to any code. check-in: 3ad1f998 user: drh tags: trunk
12:04
Modify script mkautoconfamal.sh to use the download.html naming convention for the tar.gz it creates. check-in: 375b4e3d user: dan tags: trunk
2013-08-22
15:07
Merge in minor bug fixes and performance tweaks from trunk leading up to the version 3.8.0 release. check-in: 831492dc user: drh tags: sessions
02:56
Defer the creation of automatic indices until the index is actually used. check-in: 0775501a user: drh tags: trunk
2013-08-21
23:42
Simplify the btreeGetPage() routine so that it uses a single flag parameter in place of two boolean parameters. check-in: 617e23ec user: drh tags: trunk
22:54
Minor performance tweaks to the pager. check-in: 9ae1f9ce user: drh tags: trunk
22:09
Refactor the sqlite3_randomness() implementation for improved performance. check-in: 4144dffb user: drh tags: trunk
21:12
Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. check-in: 700dbbea user: drh tags: trunk
20:04
Minor fixes for test cases. No code changes. check-in: ef2a6a37 user: dan tags: trunk
19:59
Fix typo in test. check-in: f9859fe9 user: mistachkin tags: trunk
19:13
Update sqlite3MemCompare() to try common cases first, for a modest speed improvement. check-in: b25bac79 user: drh tags: trunk
17:35
If a virtual table xSync() returns an error message, copy it into a buffer allocated by sqlite3DbMalloc() before transfering it to Vdbe.zErrMsg. check-in: 854ba304 user: dan tags: trunk
15:52
Performance enhancement in btreeParseCellPtr(). check-in: a17190a2 user: drh tags: trunk
15:45
Fix an FTS4 problem introduced by [361084e1eb]. check-in: 5f35c8cb user: dan tags: trunk
12:04
Candidate fix for [d666d600a6]. check-in: 781592f3 user: dan tags: trunk
07:25
Fix a minor problem in progress.test. No code changes. check-in: a95ae93b user: dan tags: trunk
2013-08-20
20:25
Fix a couple of test scripts to work with DEFAULT_AUTOVACUUM and OMIT_VIRTUALTABLE. check-in: 356c6c59 user: dan tags: trunk
17:14
Fix an invalid assert() in where.c. Also a crash that can occur in the EXPLAIN QUERY PLAN code under obscure circumstances. check-in: ef192abb user: dan tags: trunk
17:00
Ignore IS NOT NULL and NOT NULL constraints on NOT NULL columns. check-in: e476408e user: drh tags: trunk
16:08
Test script changes to support testing sqlite3_interrupt(). check-in: 0cede9f8 user: dan tags: trunk
13:02
Merge performance enhancements and compiler warning fixes from trunk. check-in: 3e403328 user: drh tags: sessions
09:26
Add test cases for tointeger() and toreal() functions. Fixes for several tests. check-in: 5e1e9fd5 user: mistachkin tags: toTypeFuncs
03:13
Performance optimizations in the VDBE and especially to the OP_Next and related opcodes and in the sqlite3BtreeNext() and sqlite3BtreePrevious() routines. This is a cherrypick of [6f99b54aedeb], [d2efea1682a7], and [d78c5d89de4b]. check-in: 7f72fc4f user: drh tags: trunk
02:07
Fix compiler warnings and boundary cases for the tointeger() and toreal() functions. check-in: 4438b986 user: drh tags: toTypeFuncs
00:42
Performance optimizations in the VDBE and especially to the OP_Next and related opcodes. check-in: d78c5d89 user: drh tags: toTypeFuncs
2013-08-19
23:18
Performance improvement to SQL function calls in the VDBE. check-in: d2efea16 user: drh tags: toTypeFuncs
22:22
Additional performance improvements in sqlite3BtreeNext() and sqlite3BtreePrevious(). check-in: 6f99b54a user: drh tags: toTypeFuncs
21:15
Add tointeger() and toreal() SQL functions. check-in: af497072 user: mistachkin tags: toTypeFuncs
20:04
Performance improvement in sqlite3BtreeNext() and sqlite3BtreePrevious() for the common case of a valid cursor. check-in: dc65ad8c user: drh tags: trunk
19:29
Initialize a variable in fts3_write.c on the grounds that the argument required to show that it does not require initialization with is complicated. Add an assert() to where.c to silence a clang scan-build warning. check-in: d6c4d48a user: dan tags: trunk
18:37
Fix test script pragma2.test so that it works with ENABLE_MEMORY_MANAGEMENT. check-in: 6acf7281 user: dan tags: trunk
18:17
Add some extra assert() statements to silence a few clang warnings. check-in: 1c63e951 user: dan tags: trunk
14:23
Remove unused variables from the command-line shell sources. check-in: 753a402e user: drh tags: trunk
14:19
Fix a potential reference off the end of an array in the query planner. check-in: f15591f8 user: drh tags: trunk
12:49
Merge in all the latest updates and enhancements from trunk. check-in: 67587a33 user: drh tags: sessions
11:15
Fixes for harmless compiler warnings. check-in: a0d9ca4f user: drh tags: trunk
2013-08-17
18:57
Adjustments to #ifdefs in analyze.c to all a clean compile with no extra code with both ENABLE_STAT3 and ENABLE_STAT4 and with neither. Closed-Leaf check-in: f86b75b6 user: drh tags: sqlite_stat4
16:37
Add the cache_spill pragma. Change the fullfsync and checkpoint_fullfsync pragmas to apply to all attached databases. check-in: 65a85a15 user: drh tags: trunk
15:42
The fullfsync, checkpoint_fullfsync, and cache_spill pragmas apply to all files of a database connection, including those opened by future ATTACH statements. Closed-Leaf check-in: d07c4331 user: drh tags: cache_spill
00:25
Test cases for the cache_spill pragma. check-in: b85c9ec5 user: drh tags: cache_spill
2013-08-16
20:42
Add the cache_spill pragma. check-in: cdb181c0 user: drh tags: cache_spill
17:46
Add a test for the problem fixed by [91733bc485]. check-in: 5c591104 user: dan tags: sqlite_stat4
17:18
In sqlite3Stat4ProbeSetValue() change a local variable name iVar to iBindVar to avoid confusion with iVal, and fix a place where the name was actually confused. check-in: 91733bc4 user: drh tags: sqlite_stat4
14:51
Merge the fork that resulted from a check-in race. check-in: b7fe4f36 user: drh tags: sqlite_stat4
14:49
Fix valueFromExpr() so that it returns SQLITE_NOMEM following an OOM when changing text encodings. Also fix some asserts to accommodate OOM errors. check-in: dc1ccd09 user: drh tags: sqlite_stat4
14:48
Fixes for test code that was not working with utf16 databases. Run the analyze*.test scripts as part of the 'utf16' permutation test. check-in: fe99494d user: dan tags: sqlite_stat4
14:23
Add extra tests. No code changes. check-in: 949127d5 user: dan tags: sqlite_stat4
14:09
Avoid buffer overreads and false OOM error reports that could be caused by corrupted sample records in the sqlite_stat4 table. check-in: 9f85b6a5 user: dan tags: sqlite_stat4
13:34
Fix a potential segfault following an OOM while running ANALYZE. check-in: 01187978 user: drh tags: sqlite_stat4
12:26
Merge recent trunk changes into the STAT4 branch. check-in: c69b512a user: drh tags: sqlite_stat4
2013-08-15
22:40
Make sure that GROUP BY terms select input column names in preference to output column names, in compliance with the SQL standard. Ticket [1c69be2dafc28]. check-in: f2d175f9 user: drh tags: trunk
20:24
Bare identifiers in ORDER BY clauses bind more tightly to output column name, but identifiers in expressions bind more tightly to input column names. This is a compromise between SQL92 and SQL99 behavior and is what PostgreSQL and MS-SQL do. Ticket [f617ea3125e9c]. check-in: c78b357c user: drh tags: trunk
20:05
Make it easy to attach a debugger the test fixture process prior to any tests being run. check-in: 53cd9ebf user: mistachkin tags: trunk
19:56
Fix a crash that can occur if the sqlite_stat3 or sqlite_stat4 table is corrupt. check-in: d51df8a8 user: dan tags: sqlite_stat4
18:43
Fix a crash that can occur following an OOM fault. check-in: 9f80b268 user: dan tags: sqlite_stat4
16:18
Change some assert() statements in vdbe.c to ensure that a memory cell used to store a VdbeCursor object is not also used for some other purpose. check-in: 71070c9f user: dan tags: sqlite_stat4
16:15
Make sure the ANALYZE command allocates enough VDBE registers. check-in: 46fec9b1 user: drh tags: sqlite_stat4
14:39
Add tests for sqlite_stat4 sample selection. And a fix for the same. check-in: 1fb4d9d6 user: dan tags: sqlite_stat4
14:27
Clarification and typo fixes in comments related to name resolution. No changes to code. check-in: f30abdf9 user: drh tags: trunk
08:06
Make it easy to attach a debugger the test fixture process prior to any tests being run. Closed-Leaf check-in: c23acba1 user: mistachkin tags: dbgTestFixture
2013-08-14
19:54
Change the way ANALYZE works to use a single cursor when scanning indices. check-in: bdce612b user: dan tags: sqlite_stat4
00:20
Fix a few more minor comment typos. No changes to code. check-in: 9e999081 user: mistachkin tags: trunk
2013-08-13
22:33
Fix an outdated comment and a comment typo. No changes to code. check-in: ac336959 user: mistachkin tags: trunk
2013-08-12
20:14
If ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate the sqlite_stat3 table instead of sqlite_stat4. check-in: cca8bf43 user: dan tags: sqlite_stat4
17:31
If there is data in both the sqlite_stat4 and sqlite_stat3 tables for a single index, ignore the sqlite_stat3 records. check-in: 2a417367 user: dan tags: sqlite_stat4
17:00
Handle a NULL input to decodeIntArray() that can result from a prior OOM. check-in: fa1588ad user: drh tags: sqlite_stat4
16:34
Re-enable reading from the sqlite_stat3 table (as well as sqlite_stat4). check-in: 6d45078e user: dan tags: sqlite_stat4
11:21
Fix a bug in calculating the average number of entries for keys not present in the sqlite_stat4 table. check-in: ec3ffb17 user: dan tags: sqlite_stat4
09:29
Fix minor problems caused by adding the rowid to the records in stat4. check-in: 088d1ff9 user: dan tags: sqlite_stat4
2013-08-10
19:08
Add the rowid field to the end of sample records stored in the sqlite_stat4 table. check-in: 3a5e8ab7 user: dan tags: sqlite_stat4
2013-08-09
19:04
Fix a couple of typos in a comment in analyze.c. No code changes. check-in: 5bcccb93 user: dan tags: sqlite_stat4
14:07
Update the header comment on analyze.c to describe the sqlite_stat4 table format. check-in: 4d97809d user: drh tags: sqlite_stat4
2013-08-08
19:38
Fix problems in estimating the number of rows visited by a range query using sqlite_stat4 data when the column subject to the range query is not the leftmost of the index. check-in: 9228aaf5 user: dan tags: sqlite_stat4
16:17
Use a binary search instead of a linear scan when comparing a sample key against data from the sqlite_stat4 table. check-in: e50dc305 user: dan tags: sqlite_stat4
14:38
If the SQLITE_EXTRA_INIT function is defined, make sure it is called only once by the effective sqlite3_initialize() call. check-in: e2b597ca user: drh tags: trunk
12:21
Fix a segfault in "ALTER TABLE t1 ADD COLUMN b DEFAULT (-+1)". Also an assert() failure that could occur if SQLITE_ENABLE_STAT4 were not defined. check-in: 9fec3e38 user: dan tags: sqlite_stat4
11:48
Fix a bug in using stat4 data to estimate the number of rows selected by a range constraint. check-in: f783938e user: dan tags: sqlite_stat4
2013-08-07
23:15
If the SQLITE_ALLOW_URI_AUTHORITY compile-time option is set, then allow non-localhost authorities on URI filenames and pass them through as a UNC to the underlying VFS. check-in: 3adb6c1b user: drh tags: trunk
19:46
Replace variable Index.avgEq (average number of rows in keys for which there is no sample in sqlite_stat4) with vector Index.aAvgEq. check-in: 7b70b419 user: dan tags: sqlite_stat4
18:42
Merge latest trunk changes with this branch. check-in: 08f74c45 user: dan tags: sqlite_stat4
18:07
Merge in the latest changes from trunk. Closed-Leaf check-in: c78b0d30 user: drh tags: uri-enhancement
16:38
Fix typos in a comment in analyze.c. No code changes. check-in: 812ed0c5 user: dan tags: sqlite_stat4
16:15
Change the way samples for the sqlite_stat4 table are collected. check-in: 13ed5ac1 user: dan tags: sqlite_stat4
16:04
Fix the ".dump" command on the command-line shell so that it works for "sqlite_stat4" in addition to "sqlite_stat1". check-in: 1e80c4b1 user: drh tags: sqlite_stat4
15:57
Remove the unused sqlite3Utf8to16() utility function. check-in: 9159b43e user: drh tags: sqlite_stat4
15:52
When estimating the number of rows scanned using data from the sqlite_stat4 table, avoid allocating UnpackedRecord and KeyInfo structures until they are definitely required. check-in: 353950a5 user: dan tags: sqlite_stat4
14:18
Add a guard #ifndef to test_intarray.h to prevent harm if it is #included more than once. Add a comment on the closing #endif of the guards on sqlite3.h and test_multiplex.h. check-in: 0ad83ceb user: drh tags: trunk
01:18
Fix typos and add clarification to comments in where.c. No code changes. check-in: f8d8790e user: drh tags: trunk
2013-08-06
20:15
Fixes for builds without SQLITE_ENABLE_STAT4. check-in: 84999e27 user: dan tags: sqlite_stat4
20:01
When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan. check-in: 2973f5ca user: dan tags: sqlite_stat4
19:18
Fix a test case related to partial indices so that it works even if STAT3 is disabled. check-in: 153c6450 user: drh tags: trunk
18:35
Adjust #ifdefs in test_autoext.c so that it compiles with SQLITE_OMIT_LOAD_EXTENSION. Fix compiler warnings in two other test modules. No changes to the core. check-in: 89930ea3 user: drh tags: trunk
18:21
Update the configure script to use the latest version number (3.8.0). check-in: 52e8ec5e user: drh tags: trunk
17:24
Add a testcase() macro to verify OOM coverage. check-in: d43dcbc4 user: drh tags: trunk
16:56
Remove unreachable branches in expr.c, replacing them with assert() and testcase() statements. check-in: 9103c27c user: drh tags: trunk
14:52
Merge in the latest changes from trunk. check-in: 69d5bed0 user: drh tags: sessions
14:36
For the ".import" command of the command-line shell, start a transaction if there is not one active already. check-in: 5dcc2d91 user: drh tags: trunk
14:01
Clean up the input reader in the command-line shell for improved legibility and performance. check-in: 2b1743d6 user: drh tags: trunk
07:45
More than double the speed of the resolveP2Values() routine in vdbeaux.c by moving from an extended if-else on every opcode to a switch. Opcodes are reordered in mkopcodesh.awk to put the switched opcodes close together, for additional performance and to reduce code footprint. check-in: 924f7e4d user: drh tags: trunk
2013-08-05
22:05
Performance optimization: Avoid calling convertCompoundSelecctToSubquery() on queries that do not use the UNION, EXCEPT, or INTERSECT operators. check-in: c589b2fe user: drh tags: trunk
21:54
For the vtshim module, always zero out the xChildDestroy function pointer after calling it. check-in: 240f7252 user: mistachkin tags: trunk
19:11
Factor all KeyInfo object allocations into a single function: sqlite3KeyInfoAlloc(). Always allocate enough space so that sqlite3VdbeRecordCompare() can avoid checking boundaries and hence run faster. check-in: 7301bedd user: drh tags: trunk
19:04
Modify the vdbe code generated by ANALYZE to use fewer memory cells and cursor slots. check-in: 4a51cf28 user: dan tags: sqlite_stat4
18:00
Use N separate cursors when scanning an index with N columns to collect sqlite_stat4 data. This fixes a problem with collecting incorrect nEq values from multi-column indexes. check-in: 3a71afe6 user: dan tags: sqlite_stat4
15:32
Improve performance of sqlite3VdbeRecordCompare() by using an approximation that might give false negatives and only running the more expensive exact subexpression if the approximation fails. check-in: 28979dcd user: drh tags: trunk
12:31
Add a missing '#include "tcl.h"' to test_rtree.c. check-in: 4b8b426f user: drh tags: trunk
05:34
Fix a couple of problems in code related to sqlite_stat4. check-in: badd24d9 user: dan tags: sqlite_stat4
2013-08-03
20:24
Begin adding experimental sqlite_stat4 table. This commit is buggy. check-in: 2beea303 user: dan tags: sqlite_stat4
2013-08-02
23:40
Updates to requirements marks. No code changes. check-in: 21302076 user: drh tags: trunk
20:44
Merge in the latest trunk changes, including partial indexes, the MAX_PATH fix in os_win.c, and the sqlite3_cancel_auto_extension() API. check-in: 7e1acb39 user: drh tags: sessions
20:11
Add NEVER() and ALWAYS() macros on some unreachable yet prudent branches. check-in: c5c0a8ab user: drh tags: trunk
16:41
Add support for partial indices. check-in: 478113f1 user: drh tags: trunk
14:18
Silently ignore database name qualifiers in CHECK constraints and in partial index WHERE clauses. Closed-Leaf check-in: 2e8c845e user: drh tags: partial-indices
13:31
Fix typos in documentation for SQLITE_DBSTATUS_DEFERRED_FKS . No changes to code. check-in: f3efbfcd user: drh tags: trunk
2013-08-01
22:27
Fix the CREATE INDEX statement so that trying to create a TEMP index on a non-TEMP table throws an error rather than segfaulting. check-in: e3c8935f user: drh tags: trunk
22:26
Fix an incorrect expected result in a test case in corruptG.test. check-in: 6913831a user: drh tags: trunk
20:26
Fix a potential buffer overread in sqlite3VdbeRecordCompare() when a serial_type specifies a field that starts in bounds but is much too large for the allocated buffer. Mostly harmless. The overread is unlikely to go more than one or two bytes past the end of the buffer. check-in: e436b2f4 user: drh tags: trunk
19:17
Make sure signed integer overflow does not cause a segfault while attempting to read a corrupt database where the header size varint on a record is larger than the maximum 32-bit signed integer. check-in: c3baca99 user: drh tags: trunk
17:43
Add test case for the problem fixed by [127a5b776d]. check-in: 65816718 user: dan tags: trunk
17:21
An improved method for avoiding the use of the STAT3 samples to compute the estimated number of outputs when the left-most index is equality constrained. This check-in undoes the previous fix and applies a new one. check-in: 127a5b77 user: drh tags: trunk
16:52
Avoid using left-most column STAT3 samples if the left-most column has an equality constrain and there are inequality constraints on the second column. check-in: 31b4e63b user: drh tags: trunk
16:02
Fix bug in the logic that determines the end of a CREATE INDEX statement. Added a VACUUM test case that exposed the bug. check-in: 2e3df0bc user: drh tags: partial-indices
15:09
More test cases and corresponding bug fixes. check-in: 0c8cfdfa user: drh tags: partial-indices
13:04
Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. check-in: 8e07aa2a user: drh tags: partial-indices
12:21
Refactor internal function name sqlite3VdbeGetValue() to sqlite3VdbeGetBoundValue(). check-in: 81834c30 user: drh tags: partial-indices
04:39
Fix the ANALYZE command to work with partial indices. check-in: 60353124 user: drh tags: partial-indices
03:36
Test cases and bug fixes for the partial index logic. check-in: 6b73ae7c user: drh tags: partial-indices
01:14
Add the logic to keep partial indices up to date through DML statements and when new partial indices are created. This new logic is untested except to verify that it does not interfere with full indices. check-in: fb9044d1 user: drh tags: partial-indices
2013-07-31
23:28
Limit the number of memset() calls used when determining a temporary file name on Windows. Also, fix a harmless compiler warning. check-in: 136fc293 user: mistachkin tags: trunk
23:22
Add logic to the query planner to only use partial indices if the WHERE clause constrains the search to rows covered by the partial index. This is just infrastructure. The key routine, sqlite3ExprImpliesExpr(), is currently a no-op so that partial indices will never be used. check-in: 8ca3eac1 user: drh tags: partial-indices
22:39
Slight modifications to path name translation handling for Cygwin. check-in: 33ba1f4c user: mistachkin tags: trunk
22:27
Use a new error code to represent a failure to get the configured temporary directory on Windows. check-in: c93d891b user: mistachkin tags: trunk
19:55
The MAX_PATH constant in windows is measured in characters, so multiple by 3 to get the number of bytes assuming worst-case UTF8 pathnames. check-in: bb06e157 user: drh tags: trunk
19:05
Resolve names in CREATE INDEX WHERE clauses and detect errors. Disallow expressions that contain variables, subqueries, or functions. The expression is still not used for anything, however. still unused. check-in: f2aa7842 user: drh tags: partial-indices
18:12
Here begins an experimental branch for exploring the idea of a partial index. This check-in is able to parse a WHERE clause on a CREATE INDEX statement, but does not actually do anythingn with that WHERE clause yet. check-in: 6794b2dc user: drh tags: partial-indices
2013-07-30
15:10
Reduce the size of the stack required by the codeOneLoopStart() function in where.c. check-in: eb6d4278 user: drh tags: trunk
2013-07-29
19:03
For the MSVC makefile, recompile vdbe.lo and parse.lo first. check-in: 9e819f0f user: mistachkin tags: trunk
15:54
Comment and preprocessor macro cleanup. check-in: c0809b5e user: drh tags: trunk
13:51
In main.mk, always recompile vdbe.o and parse.o first, since changes to either parse.y or vdbe.c will cause all files to be recompiled and if there are syntax errors in vdbe.c or parse.y we want to hit them early in the compile process. check-in: a94a66d1 user: drh tags: trunk
2013-07-25
17:07
In the command-line shell, work around the fact that popen() and pclose() are not defined in stdio.h. in C89 and later. check-in: 8bcbb33f user: drh tags: trunk
16:41
Fix a typo in main.c: SQLITE_DEAULT_AUTOMATIC_INDEX -> SQLITE_DEFAULT_AUTOMATIC_INDEX check-in: cc78e21c user: dan tags: trunk
16:27
Enhance the progress handler so that it keeps track of the number of VDBE cycles across sqlite3_step() calls and issues callbacks when the cumulative instruction count reaches threshold. check-in: 4698a82e user: drh tags: trunk
2013-07-24
14:54
Another attempt at generalizing the URI parsing so that it works with a wider variety of file URIs and yet remains backwards compatible. check-in: de05eb75 user: drh tags: uri-enhancement
2013-07-23
22:28
Get the new URI logic working for Windows. Closed-Leaf check-in: 0165789f user: drh tags: uri-enhancement
20:54
Update the URI filename parser to allow (and ignore) authority names in unix and to pass the authority through to the OS on windows, as this appears to be what web-browsers are doing. check-in: 74c12dee user: drh tags: uri-enhancement
2013-07-20
00:39
Merge updates from trunk. check-in: dd4b77c8 user: mistachkin tags: toTypeFuncs
00:34
Add 'queryplantest' target to the MSVC makefile. check-in: ad0551e0 user: mistachkin tags: trunk
2013-07-19
23:58
Fixes to test numbering. check-in: f755b4b2 user: mistachkin tags: trunk
2013-07-18
20:28
Remove unused "codec" code from the command-line shell. check-in: 37abfe0c user: drh tags: trunk
18:45
Improved documentation for sqlite3_set_auxdata(). Ticket [406d3b2ef91c]. check-in: 62465ecb user: drh tags: trunk
18:29
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. check-in: 153deac8 user: dan tags: trunk
18:28
Fix a typo in the previous commit. Closed-Leaf check-in: cd9096e6 user: dan tags: typo
17:12
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. Partial fix for [406d3b2ef9]. DRH adds: Stray text accidentally inserted into vdbe.c just prior to the commit breaks the build. check-in: 71effa59 user: dan tags: typo
14:50
Fix a 8-byte alignment problem in the query planner that might cause problems on sparc when compiled with -m32. check-in: 5dcffa67 user: drh tags: trunk
14:16
Documentation changes to warn that sqlite3_set_auxdata() might call the destructor even before it returns. Also fix the regexp extension to deal with that case. Ticket [406d3b2ef91c]. check-in: 7acc8cd3 user: drh tags: trunk
2013-07-17
21:08
Fix copy/paste errors in comments in the transitive_closure virtual table. No changes to code. check-in: b1b0de29 user: drh tags: trunk
18:12
Enhance the sqlite3_analyzer tool to give reports on the sizes of individual indices. check-in: 3b4096cc user: drh tags: trunk
11:54
Clear the error string pointer in sqlite3_vtab object after the error string is transferred to SQLite. Ticket [78588b938a11]. check-in: 64bf8148 user: drh tags: trunk
2013-07-16
23:26
Make sure the sqlite3_prepare16 and sqlite3_prepare16_v2 interfaces do not read past a zero-terminator if the nBytes parameter is too large. check-in: 20dba3a7 user: drh tags: trunk
21:31
Enhance the query planner so that it looks at multiple solutions to OR expressions in the WHERE clause. check-in: 5e19d054 user: drh tags: trunk
2013-07-15
17:02
Add the sqlite3_cancel_auto_extension(X) interface which will undo a prior call to sqlite3_auto_extension(X). check-in: cdce87eb user: drh tags: trunk
2013-07-12
21:09
Make sure the shell does not try to put a zero terminator on the end of an unallocated zero-length string when running ".import" on an empty file. check-in: 92adaee5 user: drh tags: trunk
2013-07-11
19:04
Change the description of how sqlite3_progress_handler() works so that the N parameter is "approximate". This aligns with the current implementation. This is a documentation change only. No changes to code. check-in: 7d829bde user: drh tags: trunk
15:31
Merge recent trunk changes (such as the query_only PRAGMA, the defer_foreign_keys PRAGMA, and the SQLITE_DBSTATUS_DEFERRED_FKS parameter to sqlite3_db_status()) into the sessions branch. check-in: 8dfc0b78 user: drh tags: sessions
15:22
Add the experimental "query_only" pragma. check-in: 6557c407 user: drh tags: trunk
15:03
Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS value for sqlite3_db_status(). This is a cherry-pick of a sequence of five checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70]. check-in: 527121ac user: drh tags: trunk
13:49
Remove the undocumented sqlite3_foreign_key_check() API and replace it with sqlite3_db_status(db, SQLITE_DBSTATUS_DEFERRED_FKS, ...). Add test cases for the new functionality. check-in: d39e65fe user: drh tags: sessions
12:19
Rename the SQLITE_DeferForeignKeys macro to shorter SQLITE_DeferFKs. Move the "defer_foreign_keys" pragma into the flagPragma() routine. check-in: 3a2ab74c user: drh tags: sessions
2013-07-10
18:14
Fix harmless compiler warnings in the progress callback logic. check-in: 908141d5 user: drh tags: trunk
13:33
Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn write capabilities on and off. Closed-Leaf check-in: ece960c4 user: drh tags: query_only
03:05
Run progress callback checks less frequently in the main VDBE evaluation loop. This makes up for the extra CPU cycles used to increment the cycle counter for SQLITE_STMTSTATUS_VM_STEP. check-in: 3e8b0201 user: drh tags: trunk
2013-07-09
15:56
Adjust the costs in the xBestIndex function of the spellfix1 virtual table to force the use of the MATCH term if it is available. check-in: f003bea9 user: drh tags: trunk
13:05
Pull in all the latest changes from trunk. check-in: af3ca4c6 user: drh tags: sessions
12:36
Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. check-in: 1e39f850 user: drh tags: trunk
03:04
Make sure the schema is verified prior to processing a "WHERE 0" on the first term of a compound SELECT statement. Fix for ticket [490a4b723562429] check-in: 52a49cbc user: drh tags: trunk
2013-07-08
22:33
Make sure an adequate number of digits are shown for binary-to-text rendering of very small floating point values. check-in: 776e65f9 user: drh tags: trunk
21:12
Fix an adverse interaction between the IS NOT NULL optimization (available only with SQLITE_ENABLE_STAT3) and the transitive constraint processing. Fix for ticket [d805526eae253] check-in: 3b30b75b user: drh tags: trunk
01:27
Add an optional 5th parameter to the next_char() function that is the collating sequence to use for comparison. check-in: 9415db6e user: drh tags: trunk
2013-07-06
18:07
Fixes for test cases running in the "mmap" permutation. check-in: cdb97d41 user: dan tags: trunk
17:57
Drop any existing mapping of the database file when exiting the pager "error state", as it may at this point be too large for the database file. Do not invoke file-control MMAP_SIZE if the database file handle does not support xFetch and xUnfetch (on the grounds that xUnfetch(0) calls to invalidate the mapping cannot be made). check-in: 0ae7e75b user: dan tags: trunk
2013-07-05
19:16
Fix two test script problems revealed by permutations.test. check-in: 60cf7e44 user: dan tags: trunk
16:54
Replace an erroneous SQLITE_OMIT_VIRTUAL_TABLE in vdbeaux.c with SQLITE_OMIT_WAL. Also fix some test script problems. check-in: ff8c3f78 user: dan tags: trunk
11:10
Add missing "static" qualifier to functions in where.c. check-in: 5c906e91 user: dan tags: trunk
10:46
Make a couple of implicit casts explicit to fix compiler warnings. check-in: 9676280a user: dan tags: trunk
2013-07-04
23:53
Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. Closed-Leaf check-in: f2ab8747 user: mistachkin tags: extRefactor
15:22
Fix a bug preventing some FK constraint checking from being deferred until the end of changeset application. check-in: 1452defb user: dan tags: sessions
2013-07-03
19:53
Experimental change to the handling of foreign key constraint violations when applying a changeset: all foreign keys, immediate and deferred, are deferred until the end of the transaction (or sub-transaction) opened by the sqlite3changeset_apply(). A single call to the conflict-handler (if any) is made if any FK constraint violations are still present in the database at this point. The conflict-handler may choose to rollback the changeset or to apply it, constraint violations and all. check-in: 1d44e5d3 user: dan tags: sessions
2013-07-02
20:23
Fixes for the sessions module so that it works with sqlite3_extended_error_codes() set. check-in: c2972b6a user: dan tags: sessions
15:25
Remove a surplus local variable check-in: 91bc840e user: drh tags: trunk
10:06
Fix a minor typo in a comment in where.c. check-in: 4a9d51e7 user: dan tags: trunk
00:06
Fix harmless typos in comments of two extensions. check-in: 1c3ed47b user: drh tags: trunk
2013-07-01
20:02
Add a query planner test case submitted by Elan Feingold and based on the Plex project. check-in: 3d49c593 user: drh tags: trunk
17:27
Add a missing test that prevented double LEFT JOINs with transitive constraints from working correctly. Fix for ticket [868145d012]. check-in: 72919ec3 user: drh tags: trunk
11:05
Further minor comment corrections and enhancements in where.c. check-in: 0d68d4d0 user: drh tags: trunk
10:38
Make a trivial comment fix in where.c. check-in: 0ffaab3b user: drh tags: trunk
2013-06-30
20:24
Fix an issue in the command-line shell with CSV import of rows with empty columns. check-in: 60b65e5e user: drh tags: trunk
2013-06-29
15:40
Fix the build of the command-line shell on windows. Windows uses "_pclose" rather than "pclose" as the pointer to the function that closes a popen pipe. check-in: b003b2b2 user: drh tags: trunk
2013-06-28
23:55
Issue the new SQLITE_WARNING_AUTOINDEX warning on the SQLite log whenever an automatic index is created. check-in: 338826ef user: drh tags: trunk
21:12
Add the SQLITE_DEFAULT_AUTOMATIC_INDEX compile-time option, which if set to zero turns automatic indices off by default. Increase the estimated cost of an automatic index. Additional minor refactoring of the automatic index code. check-in: 459b3179 user: drh tags: trunk
19:41
Allow read transactions to be freely opened and closed by SQL statements run from within the implementation of user-functions if the user-function is called by a SELECT statement that does not access any database tables (e.g. "SELECT user_function();"). check-in: f308c485 user: dan tags: trunk
17:29
Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS option for sqlite3_file_control() that will disable the use of SQLITE_STAT3 information in the query planner. check-in: 60c19b86 user: drh tags: trunk
13:43
Fix an issue with the OmitNoopJoin optimization and add test cases that are specifically for that optimization. check-in: 5480d124 user: drh tags: trunk
01:24
Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. check-in: 59f98c5c user: drh tags: trunk
2013-06-27
23:54
Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". check-in: 14f79696 user: drh tags: trunk
19:12
Fix an error in e_expr.test. check-in: fd4ece18 user: dan tags: trunk
17:40
Make sure that sqlite3_stmt_readonly reports false for PRAGMA journal_mode and PRAGMA wal_checkpoint. Ticket [a589ec069e3]. Also keep track of whether a prepared statement does no reading or writing. check-in: 1937fd8e user: drh tags: trunk
14:24
Add a test to ensure that if BEGIN IMMEDIATE fails with SQLITE_BUSY, it does not leave the user with an open read transaction (unless one was already open). check-in: 22bced36 user: dan tags: trunk
14:07
If the filename argument to the ".import" command in the command-line shell begins with '|' then treat it as an input pipe rather than a file. check-in: 4c02b344 user: drh tags: trunk
13:26
Improved handling of backslash escapes on double-quoted arguments to dot-commands in the command-line shell. check-in: 656a1fe5 user: drh tags: trunk
13:01
The undocumented and unsupported ".selftest" command in the command-line shell utility is now only available if compiled with SQLITE_DEBUG. Also fix a windows compiler warning in that command. check-in: e88fd5b2 user: drh tags: trunk
11:46
Add extended error code SQLITE_BUSY_SNAPSHOT - returned in WAL mode when a read-transaction cannot be upgraded to a write-transaction because it is reading from a snapshot other than the most recently committed. check-in: 361c2296 user: dan tags: trunk
2013-06-26
22:46
Update the ".import" command of the command-line shell so that it can accept field values that span multiple lines and so that it issues error messages if the input text does not strictly conform to RFC4180. check-in: 93f63215 user: drh tags: trunk
18:04
Add the "vtshim" extension, implementing a wrapper around the virtual table interface to make it Disposable for the CLR. No changes to the core. check-in: 6c3839ef user: drh tags: trunk
16:30
Update the boundary3.tcl script so that it can be run with tcl 8.5 or 8.6 to regenerate boundary3.test. check-in: ebac5afa user: dan tags: trunk
13:31
Bring the sessions branch up-to-date with all the latest trunk changes. check-in: 086a1272 user: drh tags: sessions
13:22
Add the SQLITE_STMTSTATUS_VM_STEPS option for sqlite3_stmt_status(). check-in: bd4267f1 user: drh tags: trunk
11:49
Omit tables from the FROM clause of a join if their presence makes no difference in the final output. check-in: 6505e2ab user: drh tags: trunk
11:43
Cut over the next generation query planner. Increase the version number to 3.8.0. check-in: 0fe31f60 user: drh tags: trunk
00:34
Fix an uninitialized variable detected by valgrind. Unclear whether or not this should apply to trunk. Closed-Leaf check-in: 19ab4811 user: drh tags: nextgen-query-plan-exp
2013-06-22
15:44
Add the ability to disable the omit-join-table optimization for testing purposes. Closed-Leaf check-in: d929df9b user: drh tags: omit-join-table-opt
2013-06-21
19:39
Enhance error message handling for the vtshim module. Closed-Leaf check-in: b4a0d532 user: mistachkin tags: disposable-vtable
02:15
Only eliminate inner loops of a JOIN if they are the RHS of a LEFT JOIN and if they give no more than a single result. This appears to give correct answers in all cases. check-in: d7a25cc7 user: drh tags: omit-join-table-opt
02:05
Attempt to disable inner loops of a join that do not generate output. This does not work, since the inner loops might run zero times and thus inhibit all output. Needs to be enhanced to work only for LEFT JOINs or when we know that the inner loop will always run at least once. check-in: ca839723 user: drh tags: omit-join-table-opt
00:35
Modify the query planner interface so that it always passes in the result set. This is the first step toward adding an optimization that will omit tables from a join that do not contribute to the result. check-in: 2c2577e6 user: drh tags: omit-join-table-opt
2013-06-20
17:32
Add a NEVER() macro and an explanation comment around an unreachable branch in the STAT3 logic. check-in: 604c3c5d user: drh tags: nextgen-query-plan-exp
14:17
Pull in the posix_fallocate() change from trunk. check-in: d94db3fd user: drh tags: nextgen-query-plan-exp
01:27
The vtshim xCreate and xConnect functions need to store the pAux pointer into the newly created vtable object. Style fixes. check-in: 43913c7b user: mistachkin tags: disposable-vtable
00:20
Integration adjustments for the vtshim module. check-in: bf2e28dd user: mistachkin tags: disposable-vtable
2013-06-19
23:48
Merge in trunk changes to os_unix.c that allow the code to build on unix platforms that lack posix_fallocate(). check-in: bf576406 user: drh tags: nextgen-query-plan-exp
18:01
Add in the cost of doing a table lookup on OR searches. Make test case changes to deal with difference in STAT3 behavior. check-in: d97898e8 user: drh tags: nextgen-query-plan-exp
13:59
Additional compiler warning fixes. check-in: 8d2ae8e2 user: drh tags: nextgen-query-plan-exp
13:32
Fix a harmless uninitialized variable warning. check-in: 9d3ef3bd user: drh tags: nextgen-query-plan-exp
12:34
Simplify and add invariants to the WhereLoop merging logic inside of whereLoopInsert(). check-in: 8f27f35f user: drh tags: nextgen-query-plan-exp
03:27
Fix compiler warnings. Fix a harmless off-by-one error in the solver. check-in: 10021941 user: drh tags: nextgen-query-plan-exp
2013-06-18
20:06
Adjustments to testcase() macros for improved testability. check-in: 4fbb0c4d user: drh tags: nextgen-query-plan-exp
01:52
Remove some redundant and unreachable code. check-in: 4c6d58d7 user: drh tags: nextgen-query-plan-exp
2013-06-17
21:37
Add more testcase() macros. Fix a memory leak following OOM in the virtual table analysis logic. check-in: b61402af user: drh tags: nextgen-query-plan-exp
18:20
Simplifications to the NGQP. Add the queryplantest makefile target. Add testcase() macros in the NGQP. check-in: eaf1f1b4 user: drh tags: nextgen-query-plan-exp
14:18
Use automatic indices on subqueries of the FROM clause when appropriate. check-in: e8f12428 user: drh tags: nextgen-query-plan-exp
2013-06-15
15:11
Fix compiler warnings. check-in: 3e8ac469 user: drh tags: nextgen-query-plan-exp
2013-06-14
13:27
Comment tweaks in where.c. No changes to code. check-in: cecc5fdd user: drh tags: nextgen-query-plan-exp
02:51
Add a new ORDER BY optimization that bypasses ORDER BY terms that are constrained by == and IS NULL terms of the WHERE clause. check-in: b920bb70 user: drh tags: nextgen-query-plan-exp
2013-06-13
17:58
An index might be useful for ORDER BY if any indexed column is in the ORDER BY clause, not just the first indexed column. check-in: ade473b5 user: drh tags: nextgen-query-plan-exp
17:28
Make sure that disabling the covering index scan optimization does not prevent a covering index from being used to satisfy an ORDER BY clause. check-in: e8b7ea82 user: drh tags: nextgen-query-plan-exp
15:50
Restore the ability to do a BETWEEN query on the rowid. Also fix a nearby comment. check-in: 459a7b90 user: drh tags: nextgen-query-plan-exp
15:16
Make the MIN() and MAX() macros available in sqliteInt.h. Add TUNING comments to the NGQP and adjust costs slightly. check-in: 3a72af2a user: drh tags: nextgen-query-plan-exp
14:51
Fix an off-by-one error in the WhereCost to integer conversion. check-in: b5ca80d9 user: drh tags: nextgen-query-plan-exp
00:32
Add a prototype for an extension that sits in between the SQLite native code virtual table interface and a CLR IDisposable object. check-in: 10bba8d0 user: drh tags: disposable-vtable
2013-06-12
20:18
Activate the one-pass optimization. Update comments, especially the descriptions of the various objects. check-in: e120c558 user: drh tags: nextgen-query-plan-exp
17:55
Bug fixes in the handling of virtual tables. check-in: 25c0f729 user: drh tags: nextgen-query-plan-exp
17:17
Merge all changes from trunk. check-in: f2e15b19 user: drh tags: nextgen-query-plan-exp
17:08
"make test" now passing. check-in: addd7f46 user: drh tags: nextgen-query-plan-exp
14:52
Add the "queryplanner" test permutation. Continuing refinements to NGQP. check-in: 25e2cde1 user: drh tags: nextgen-query-plan-exp
03:48
Continue refining the NGQP check-in: 40567fdd user: drh tags: nextgen-query-plan-exp
2013-06-11
18:59
Improved processing of DISTINCT. check-in: ba897100 user: drh tags: nextgen-query-plan-exp
13:30
Fix the Parse.nQueryLoop state variable to work with NGQP. check-in: f1cac24f user: drh tags: nextgen-query-plan-exp
02:36
Use a logarithmic rather than linear cost and row-count measures. Do not report row count estimates in EQP output. check-in: b777b109 user: drh tags: nextgen-query-plan-exp
02:32
Fixes to EXPLAIN QUERY PLAN output. Change weights back to something closer to what they are in legacy. More test case fixes. Closed-Leaf check-in: 36373b85 user: drh tags: nextgen-query-plan-logcost
01:50
Handle virtual tables correctly when using logarithmic costs. Fixes to test cases. check-in: e612664a user: drh tags: nextgen-query-plan-logcost
2013-06-10
23:30
Fix test cases for the new EXPLAIN QUERY PLAN format. Add the wherecosttest tool. Other fixes to logarithm cost. check-in: aa580e36 user: drh tags: nextgen-query-plan-logcost