Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
831 check-ins using file tool/logest.c version 7ad625cac3
2015-08-13
| ||
21:43 | Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. (Leaf check-in: 12640cb222 user: drh tags: cursor-hints-displayP4) | |
2014-07-15
| ||
11:59 | Add simple tests for new sqlite3BtreeCursorHint() functionality. (check-in: 1efa6ed584 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: f9dddd008c 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: 2d9de154f8 user: drh tags: branch-3.8.3) | |
2014-04-03
| ||
16:53 | Version 3.8.4.3 (Leaf check-in: a611fa96c4 user: drh tags: release, version-3.8.4.3, branch-3.8.4) | |
16:18 | Increase the version number to 3.8.4.3 (check-in: f05a49b6e0 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: ec6a06246e user: drh tags: branch-3.8.4) | |
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: 81987c8ceb user: dan tags: orderby-planning) | |
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: f4ac1bf28c user: dan tags: orderby-planning) | |
00:09 | Merge the latest trunk changes and the fix for the crash on a corrupt database. (check-in: 0b35346c32 user: drh tags: orderby-planning) | |
2014-03-26
| ||
19:45 | Merge from trunk the fix for the crash on a corrupt database. (check-in: 8cb2b02baa user: drh tags: threads) | |
19:43 | Merge in fixes (including the corrupt-database crash fix) and performance enhancements from trunk. (check-in: fc8ca1a87e user: drh tags: sessions) | |
18:51 | Version 3.8.4.2 (check-in: 02ea166372 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: 59978a2e42 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: db2935473e user: drh tags: branch-3.8.4) | |
15:14 | Add an extra test case for the potential buffer overread patched by [28ddecff04]. (check-in: f585f5d7a0 user: dan tags: trunk) | |
15:05 | Add a test case to verify that the previous change avoids excess buffer overread in sqlite3VdbeRecordCompare(). (check-in: 2b28e8d582 user: drh tags: trunk) | |
14:51 | Earlier detection of corruption in sqlite3VdbeRecordCompare() in order to avoid a potential buffer overread. (check-in: 28ddecff04 user: drh tags: trunk) | |
12:02 | Add an assert() and a comment to clarify the operation of the vdbeRecordCompareInt() routine. (check-in: 851abdb8fd 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: 7922809ee0 user: drh tags: trunk) | |
18:29 | Merge enhancements and fixes from trunk. (check-in: e005f2d6dd 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: 9ab7ffd592 user: drh tags: trunk) | |
17:07 | Fix a problem in the code added by [707ea170b3] causing vdbesort.c to sort unstably. (check-in: d3e640afe6 user: dan tags: orderby-planning) | |
15:04 | Remove the sequence values from sorter records used by ORDER BY as well. (check-in: c3ae369783 user: dan tags: orderby-planning) | |
14:54 | Add an ORDER BY test case to speedtest1.c (check-in: 588122641e user: drh tags: trunk) | |
14:12 | Enable four sorting threads by default in the command-line shell. (check-in: 1cab83577c user: drh tags: threads) | |
13:17 | Merge all fixes and enhancements from trunk. (check-in: b415dfb6cb 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: e6798871ce 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: 3f90abddc3 user: dan tags: orderby-planning) | |
18:08 | Avoid unnecessary moving of content between registers during an ORDER BY. (check-in: 4f472accf0 user: drh tags: orderby-planning) | |
16:30 | Remove unused variables Parse.nColCache and Parse.iColCache. (check-in: 4d7551ce46 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: 221f8f9447 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: 0b95b7a874 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: db7d62c8d5 user: dan tags: trunk) | |
09:34 | Remove an unnecessary temporary register allocation. (check-in: 5d506743f5 user: dan tags: orderby-planning) | |
02:20 | Remove a pointless OP_Once operation in ORDER BY clauses with LIMIT. (check-in: e6c59d2331 user: drh tags: orderby-planning) | |
01:43 | Further enhancements to generated VDBE code for ORDER BY. (check-in: e7188fad87 user: drh tags: orderby-planning) | |
2014-03-23
| ||
18:47 | merge fixes from trunk (check-in: faf7f9caf5 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: d696cdedac user: drh tags: orderby-planning) | |
16:29 | Avoid a possible use of an uninitialized variable following an I/O or OOM error. (check-in: 641408a139 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: 9b2838f23e user: drh tags: trunk) | |
01:52 | Increase the version number to 3.8.5. (check-in: 9760879d08 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: c36f74611c 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: fa06a6fed9 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: 45d8cc678d 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: 1f413aca00 user: dan tags: trunk) | |
18:45 | Merge the OFFSET-on-query-without-FROM fix from trunk. (check-in: 71e9ae72c2 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: 179ef81648 user: drh tags: trunk) | |
15:24 | New test case for block-sorting. (check-in: e70cfa28aa user: drh tags: orderby-planning) | |
2014-03-20
| ||
20:56 | Merge trunk fixes for "x IN (?)" handling. (check-in: eca35871c3 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: d5a1530bdc 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: d8e1f75ddf 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: 01944c53f5 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: 2ea4a9f75f user: drh tags: trunk) | |
15:14 | Fix harmless compiler warnings. (check-in: b1435f26b0 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: 2ff3b25f40 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: e68b427afb 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: eae6dfbe55 user: drh tags: tkt-e39d0325) | |
12:17 | Fix an unnecessarily obtuse use of a bitmask flag. (check-in: ca31408131 user: drh tags: trunk) | |
09:42 | Add a test to ensure os_unix.c works with 64KiB OS pages. (Closed-Leaf check-in: e3d2be3ba4 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: 6f3a5c24d2 user: dan tags: shm-mapping-fix) | |
2014-03-19
| ||
23:42 | Merge the vdbesort.c optimization from trunk. (check-in: e4bfffb988 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: 01afbf97c0 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: 707ea170b3 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: 7ce2daafd3 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: 62f3a22050 user: drh tags: orderby-planning) | |
15:17 | Avoid reusing temporary registers in co-routines when doing block-sorting. (check-in: 463d921b51 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: b186d8d15a 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: 59742dd4c5 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: e258df236b 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: 59d49b7fc4 user: drh tags: orderby-planning) | |
15:30 | Experiments with the optimization of ORDER BY and GROUP BY clauses. (check-in: b150902579 user: drh tags: orderby-planning) | |
2014-03-17
| ||
15:43 | Add an experimental multi-threaded capability to vdbesorter.c. (check-in: ff0b5c851b user: dan tags: threads) | |
15:06 | Clean up some obsolete "register" declarations in printf.c. (check-in: ecd9d3f945 user: drh tags: trunk) | |
14:24 | Performance enhancements and size reduction for sqlite3VXPrintf() (check-in: eb071eb58c 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: 1277932b7e user: drh tags: trunk) | |
2014-03-13
| ||
15:41 | Merge latest trunk changes into this branch. (check-in: d17231b63d 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: 6504aa47a8 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: c67a52c356 user: dan tags: trunk) | |
12:44 | Prevent the rtree module from reading sqlite_stat1 data from the wrong database. (check-in: 7ce03c1b55 user: dan tags: trunk) | |
10:03 | Bump the version number to 3.8.4.1., to conform with trunk. (check-in: 42c9d8fc5f user: drh tags: sessions) | |
2014-03-11
| ||
23:44 | Remove a stray C99-style comment. (check-in: f500e87d6e 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: 968fec44d7 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: da59198505 user: dan tags: overflow-pgno-cache) | |
15:27 | Version 3.8.4.1 (check-in: 018d317b12 user: drh tags: trunk, release, version-3.8.4.1) | |
15:25 | Update version number to 3.8.4.1 (check-in: 33f5694fa4 user: drh tags: trunk) | |
14:44 | Forgot to change the VERSION file. (Closed-Leaf check-in: 04caffcef3 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: 5527e23636 user: dan tags: trunk) | |
01:48 | Version 3.8.4 for sessions (plus two minor fixes). (check-in: 917c410808 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: 0769eebd02 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: 0a5318bc27 user: drh tags: trunk) | |
12:20 | Version 3.8.4 (check-in: 530a1ee7dc 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: ba39df9d4f 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: e5b17a9d07 user: drh tags: trunk) | |
14:36 | Merge the fix for the journal_mode=PERSIST error recovery delay bug. (check-in: bb6a75f4bb 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: 1c318ef3b7 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: fdc651e2ec user: mistachkin tags: trunk) | |
2014-03-06
| ||
18:16 | Do not run corruptH.test in mmap mode. (check-in: c0d54b4e41 user: dan tags: trunk) | |
15:01 | Fix a harmless compiler warning in the sessions test harness. (check-in: d389e20ab0 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: bc0e661033 user: drh tags: sessions) | |
13:48 | Merge the latest 3.8.4 tweaks from trunk. (check-in: 1ed463d918 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: 0a4200f95c user: drh tags: trunk) | |
12:36 | Remove a branch that is never taken from where.c. (check-in: 4a4997221f user: dan tags: trunk) | |
02:15 | Cosmetic change to the shell in-memory database warning to skip coloring the trailing period. (check-in: c87d8e07ec 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: b83cfe899d user: drh tags: trunk) | |
00:30 | Better loadable extension handling in the Win32 VFS when compiled for Cygwin. (check-in: 29b0a4f158 user: mistachkin tags: trunk) | |
00:28 | Better support for MinGW 4.x. (check-in: 170e058520 user: mistachkin tags: trunk) | |
2014-03-05
| ||
23:12 | Merge compiler-warning fixes from trunk. (check-in: a1f2b04285 user: drh tags: sessions) | |
19:36 | Always include the ctype.h header in the spellfix.c extension. (check-in: bfd75f471a user: drh tags: trunk) | |
19:13 | Avoid running a couple of test cases that use realloc() extensively if SQLITE_MEMDEBUG is defined. (check-in: e406d4bb78 user: dan tags: trunk) | |
19:04 | Fix a harmless compiler warning on MSVC. (check-in: 0723effc9c 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: f33f2b3f92 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: ef1a998625 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: eee2a13f2c user: drh tags: trunk) | |
15:04 | Add a test case for the problem fixed by [1d134ba2ed]. (check-in: d4fbc05df9 user: dan tags: trunk) | |
14:49 | Merge in various obscure bug fixes and the removal of Mem.memType from trunk. (check-in: 0828975d58 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: 1d134ba2ed 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: 12cbebb997 user: drh tags: trunk) | |
11:48 | Remove the redundant memType field from struct Mem. (check-in: 9e85285789 user: dan tags: trunk) | |
11:22 | Do not run corruptI.test with the mmap permutation. (check-in: 378b290da8 user: dan tags: trunk) | |
01:29 | Experimental simplification of memory flags/type handling. (Closed-Leaf check-in: bac2820e13 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: 554501f158 user: drh tags: trunk) | |
21:00 | Fix a problem with "DEFAULT (-(-9223372036854775808))" clauses in ALTER TABLE ... ADD COLUMN commands. (check-in: e072cb3ee2 user: dan tags: trunk) | |
18:06 | Fix a potential memory use-after-free problem following an OOM error. (check-in: 767ccb1fa1 user: drh tags: trunk) | |
16:21 | Fix an assert() so that it takes OOM errors into account. (check-in: 53f6ec792f user: drh tags: trunk) | |
16:05 | Ensure that BtreeMovetoUnpacked() does not try to invoke xRecordCompare when it is set to NULL. (check-in: 2879234b7c user: dan tags: trunk) | |
14:34 | Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. (check-in: 7f51ad97f0 user: drh tags: sessions) | |
13:18 | Improve clarity of presentation in the sqlite3VdbeMemFromBtree() routine. (check-in: 9830c343bc user: drh tags: trunk) | |
12:07 | Fix comment in test. (check-in: 1e57f67b20 user: mistachkin tags: trunk) | |
11:54 | Fix minor typos in the new test file. (check-in: 3cbb9b1b4f user: mistachkin tags: trunk) | |
11:35 | Add tests to verify the fix for bug [4ef7e3cfca]. (check-in: 62410bb8a7 user: dan tags: trunk) | |
11:29 | Fix name resolution problem in sub-selects within triggers, ticket [4ef7e3cfca]. (check-in: 5bcd0b1ca5 user: mistachkin tags: trunk) | |
11:16 | Fix harmless compiler warning. (check-in: 8d18a803bd 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: 3325ad5bdc 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: f10130ede4 user: drh tags: broken-on-arm) | |
00:15 | Do not assume that 'char' is signed. Make it explicit. (check-in: 979da752e6 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: aec5473a75 user: drh tags: broken-on-arm) | |
21:46 | Fix a couple of harmless compiler warnings. (Closed-Leaf check-in: fcf480cc63 user: drh tags: experimental) | |
20:48 | Avoid a buffer overread in vdbeCompareRecordInt() that might occur if the database is corrupt. (check-in: 7c0b4381f0 user: dan tags: experimental) | |
19:29 | Fix a typo in a comment. No changes to code. (check-in: 1f4991ab16 user: drh tags: experimental) | |
18:25 | Fix compiler warnings. (check-in: ba8993727e user: drh tags: experimental) | |
17:48 | Merge latest trunk changes. (check-in: 1d60356462 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: c0fa0c0e2d 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: 559835e54e user: dan tags: trunk) | |
15:13 | Fix a harmless compiler warning. (check-in: d7f6837e69 user: drh tags: experimental) | |
14:45 | Merge latest trunk changes. (check-in: e00ed717fb user: dan tags: experimental) | |
14:20 | Fix a segfault that can occur following an OOM error. (check-in: 7fdd378d54 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: e3f6c61e03 user: drh tags: trunk) | |
2014-03-01
| ||
19:45 | Merge trunk changes. (check-in: 9c1747b5de user: dan tags: experimental) | |
19:44 | Remove the vdbeRecordCompareLargeHeader function. Fix some other details. (check-in: 3861e85310 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: 44e1c33767 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: 354699d50e user: drh tags: enhanced-mem-check) | |
14:45 | Add extra assert() statements trying to catch a Mem object in an inconsistent state. (check-in: 4aeb3ae435 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: e6ecf73376 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: 0a3579d9b9 user: drh tags: trunk) | |
18:39 | Update some test cases that deal with corrupt databases. (check-in: 3a09f5605a user: dan tags: experimental) | |
09:48 | Minor tweak to vdbeRecordCompareInt(). (check-in: 284bde0ee2 user: dan tags: experimental) | |
2014-02-27
| ||
20:52 | Merge in latest trunk changes. (check-in: 8f30b09518 user: dan tags: experimental) | |
20:44 | Further changes to sqlite3VdbeRecordCompare(). (check-in: 5708937400 user: dan tags: experimental) | |
15:11 | A better way of handling the USE_SYSTEM_SQLITE #define in shell.c. (check-in: 51ce713c6e 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: a669040023 user: drh tags: trunk) | |
05:47 | Merge updates from trunk. (check-in: ed0bfcfadc user: mistachkin tags: winIoRetry) | |
2014-02-26
| ||
21:35 | More efficient removal of duplicates in recursive queries using the UNION compound operator. (check-in: 06c2db875e 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: 3ad687b7aa 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: 9c2e7612cd 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: dca1945aeb 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: 97a8c9733c user: drh tags: trunk) | |
21:01 | Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. (check-in: 85206e0bba 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: cc5eda5422 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: 23001a85cd user: drh tags: trunk) | |
14:52 | QNX requires that _FILE_OFFSET_BITS be set prior to any system #include. (check-in: 953cdd6ada user: drh tags: trunk) | |
2014-02-24
| ||
21:42 | Fix several small style/consistency issues with the previous check-in. (check-in: 2477b3a294 user: mistachkin tags: trunk) | |
21:23 | Merge updates from trunk. (Closed-Leaf check-in: 854d410ad3 user: mistachkin tags: cygDlOpen) | |
21:20 | Enhance testing support for the Win32 VFS dynamic extension loading facilities. (check-in: 53081e7202 user: mistachkin tags: trunk) | |
19:49 | Close some stray connections in walro.test. (check-in: d6746cabaa 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: ba5f0a5599 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: 4df0ac9023 user: drh tags: trunk) | |
2014-02-21
| ||
10:48 | Merge updates from trunk. (check-in: 09cf240a7f user: mistachkin tags: winHdr) | |
05:44 | Better loadable extension handling in the Win32 VFS when compiled for Cygwin. (check-in: 6676475c47 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: b46d4e8923 user: drh tags: trunk) | |
19:32 | Fix a harmless shadowed-variable warning. (check-in: 824029090d 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: d5d973fedc 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: c1e94169dd 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: d2c047f304 user: drh tags: trunk) | |
01:31 | Make sure a multi-row VALUES clause works correctly in a compound SELECT. (check-in: 85b355cfb4 user: drh tags: trunk) | |
00:53 | Tweaks in support of VDBE branch test coverage. (check-in: b978256469 user: drh tags: trunk) | |
2014-02-18
| ||
11:31 | Fix VDBE branch accounting on comparison operators. (check-in: b287520c92 user: drh tags: trunk) | |
05:18 | Enhance the Win32 VFS I/O retry logic. (check-in: adba783c70 user: mistachkin tags: winIoRetry) | |
03:07 | Add VdbeCoverage() and VdbeCoverageIf() macros for improved VDBE coverage testing. (check-in: b92d31a97d 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: 915f6f1c7a 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: a72687699b user: drh tags: trunk) | |
22:40 | Add logic to do test coverage measurements on the VDBE code. (Closed-Leaf check-in: ce184c7bb1 user: drh tags: insert-optimization) | |
15:40 | Add a test case for OP_SoftNull. (check-in: f29d194e03 user: drh tags: insert-optimization) | |
15:36 | Merge the VDBE_PROFILE fixes from trunk. (check-in: 2914e41911 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: 35b4d6e938 user: drh tags: insert-optimization) | |
01:13 | Fix the VDBE_PROFILE logic. Add a script to process the output file. (check-in: 7adb3da235 user: drh tags: trunk) | |
2014-02-16
| ||
19:20 | Use the modern MinGW major version macro, not the deprecated one. (Closed-Leaf check-in: 057c16ee97 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: aa2d8b0e81 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: e07a32f308 user: drh tags: trunk) | |
23:35 | Better support for MinGW 4.x. (check-in: e147230767 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: 3c1ae447de 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: b6bea903ac user: drh tags: trunk) | |
00:25 | Revise how the Tcl system encoding is handled by the test suite. (check-in: 9e573198e1 user: mistachkin tags: trunk) | |
2014-02-13
| ||
21:57 | Improvements to the makefile and README for MSVC. (check-in: b22b614068 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: 48c821fd97 user: dan tags: trunk) | |
19:10 | Change README to README.md and expand it. Remove unrelated and obsolete files. (check-in: 18d4e258c4 user: drh tags: trunk) | |
18:46 | Avoid passing a flags argument with the internal WAL_SYNC_TRANSACTIONS bit set when calling sqlite3OsSync(). (check-in: e3b79e920c user: dan tags: trunk) | |
13:42 | Update the tclconfig files to the latest from http://core.tcl.tk/tclconfig. (check-in: b81ba7a4bc user: drh tags: trunk) | |
2014-02-12
| ||
23:52 | Minor simplifications to the "zeroPage()" routine in btree.c. (check-in: cc8f10bcb2 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: 56bc5ce895 user: drh tags: trunk) | |
15:05 | Various fixes and test case updates so that veryquick.test passes again. (Leaf check-in: f352ef57e3 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: 5d01426ddf user: drh tags: trunk) | |
14:43 | Merge latest trunk changes. (check-in: 4d7057c494 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: 8ef97420b2 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: 2cd35ff651 user: drh tags: sessions) | |
16:24 | Increase the version number to 3.8.4 (check-in: 0a8bcbbd4e 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: f5ad1e1bf2 user: drh tags: trunk) | |
14:52 | Version 3.8.3.1 (check-in: ea3317a480 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: 7989ce5f10 user: drh tags: trunk) | |
05:26 | Merge latest trunk changes. (check-in: 1f2e1b0c64 user: dan tags: deferred-open) | |
04:30 | Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix. (check-in: b006792695 user: drh tags: sessions) | |
03:55 | Increase the version number to 3.8.3.1. (check-in: 3111df71b2 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: de635e0960 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: c950d6c411 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: 95d0c58d27 user: dan tags: deferred-open) | |
21:07 | Fix a pointless conditional. Add a test case. (check-in: 9367632dd7 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: fe284afe73 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: 538f7b25e4 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: c9eba2f7be 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: 0fbc0fcec1 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: 572d4be4db user: drh tags: trunk) | |
16:13 | Modify the command-line shell to print a warning when using an in-memory database. (check-in: 90e9deae4a user: drh tags: memdb-warning) | |
15:56 | Improvements to a "Synopsis:" comment in the VDBE engine. (check-in: 0dfa7ee915 user: drh tags: trunk) | |
12:59 | Faster implementation for sqlite3MulInt64(). (check-in: 010c48f671 user: drh tags: trunk) | |
03:21 | Faster and smaller implementation of sqlite3_value_type(). (check-in: 5708bc24b8 user: drh tags: trunk) | |
2014-02-09
| ||
23:59 | Add a compound-query test to the speedtest1 test program. (check-in: 5329957591 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: 67bfd59d90 user: drh tags: trunk) | |
00:52 | Add the Mandelbrot Set testcase to the "cte" testset of speedtest1. (check-in: 56febbeb57 user: drh tags: trunk) | |
00:18 | Add a new "testset" to the speedtest1 program: The sudoku solver. (check-in: 4677ef2f8a 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: 1e64dd782a 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: e2303d1b0c user: drh tags: trunk) | |
13:24 | Fix a harmless compiler warning in VS2013. (check-in: 83116ee3e0 user: drh tags: trunk) | |
13:22 | Fix a harmless compiler warning in VS2013. (check-in: 35f2793db5 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: 129217ee91 user: drh tags: trunk) | |
04:24 | Enable constant expression factoring even if no tables are read and no transaction is started. (check-in: a45b87713c 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: 192dea9731 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: 5a88b6a7ae user: drh tags: trunk) | |
19:33 | Fix redundant definitions of _LARGE_FILE and _LARGEFILE_SOURCE. (check-in: 4043d87979 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: ea4d23d1c0 user: drh tags: trunk) | |
19:18 | Change the OP_InitCoroutine instruction to jump over the co-routine implementation. (Closed-Leaf check-in: a522f364a6 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: 1ec0e9dd4b 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: 6fb7448550 user: drh tags: coroutine-refactor) | |
03:28 | More comment updates. No changes to code. (check-in: be24fbc221 user: mistachkin tags: trunk) | |
02:29 | Update comments in vdbe.c. No changes to code. (check-in: 1122b410de 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: 2f3376ebf1 user: drh tags: trunk) | |
14:59 | Change more OP_OpenEphemeral operations to OP_OpenHash. (Leaf check-in: 881164cf6e user: drh tags: subquery-codegen-refactor) | |
13:18 | Change the spellfix1 virtual table to deterministically names its shadow tables. (check-in: 5219cdfc56 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: 715fac7749 user: drh tags: subquery-codegen-refactor) | |
02:46 | Add additional error messages and a progress spinner to the ".clone" command. (check-in: dd0db3f0ce user: drh tags: trunk) | |
01:15 | Rename the '.repair' shell command to '.clone'. (check-in: 4f9d95624a user: mistachkin tags: trunk) | |
00:49 | Add the ".repair" command to the command-line shell. (check-in: d1dfadea87 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: 61c34ba71b 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: 2997e18157 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: a332908b70 user: drh tags: subquery-codegen-refactor) | |
11:05 | In the Win32 VFS, the winSysInfo variable should be static. (check-in: 4a4dd371a7 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: f2504089df user: drh tags: trunk) | |
20:46 | Remove the SF_Materialize flag from the SELECT object as it does not accomplish anything useful. (check-in: 65d5dcddbd 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: 3e1a3f68d7 user: drh tags: trunk) | |
2014-02-03
| ||
17:04 | Performance optimizations in sqlite3PcacheFetch(). (check-in: b60cc11ef7 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: 6c643e45c2 user: drh tags: trunk) | |
13:58 | Sync with version 3.8.3. (check-in: a704b65b94 user: drh tags: sessions) | |
13:52 | Version 3.8.3 (check-in: e816dd9246 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: af3c775e5d user: drh tags: trunk) | |
2014-01-31
| ||
11:50 | Update the "sqlite3.1" unix manpage document. (check-in: 21ce9e3a53 user: drh tags: trunk) | |
06:35 | Minor change to TEA extension docs in an attempt to make links work correctly. (Closed-Leaf check-in: 492585c820 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: 1973d80e47 user: drh tags: trunk) | |
15:03 | Fix requirements marks only. No changes to code or tests. (check-in: 4a34378b9b 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: 8560091e85 user: drh tags: trunk) | |
12:45 | Enhance the MSVC makefile for better debugging symbol support. (check-in: c9bef0f29a user: mistachkin tags: trunk) | |
12:16 | Do not run test script mmapfault.test as part of the "inmemory_journal" permutation test. (check-in: b222b61a98 user: dan tags: trunk) | |
11:12 | Enhance the MSVC makefile for better debugging symbol support. (Closed-Leaf check-in: c723ec2784 user: mistachkin tags: msvcDebug) | |
2014-01-29
| ||
14:21 | Merge latest fixes from the trunk. (check-in: 6b6dcd4cc7 user: dan tags: sessions) | |
01:46 | Make sure that sqlite3SelectDup() initializes the nSelectRow of the duplicate Select object. (check-in: 5bb29b8210 user: drh tags: trunk) | |
2014-01-28
| ||
20:36 | Fix harmless compiler warnings in the showdb utility program. (check-in: 27c27daa33 user: drh tags: trunk) | |
18:53 | Fix a potential over-size and hence undefined shift operation. (check-in: 6379b07295 user: drh tags: trunk) | |
18:06 | Bring in the latest updates from trunk. (check-in: 7b5f377386 user: drh tags: sessions) | |
17:49 | Minor bugfix in main.c so that the library builds with SQLITE_OMIT_WSD defined. (check-in: 5e3b9ecc7b 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: a2c347faf9 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: 48d736c0ee user: dan tags: trunk) | |
15:02 | Update some requirements marks to conform with improvements in the documentation. (check-in: be1acb610f user: drh tags: trunk) | |
14:19 | Fix a problem in pagerfault.test causing an assert() to fail. (check-in: ba8d2d507f user: dan tags: trunk) | |
13:58 | Fix (harmless) duplicate variable declaration. (check-in: 94ed9bc420 user: drh tags: trunk) | |
08:48 | Fix some problems in test scripts. No code changes. (check-in: 08acfc6587 user: dan tags: trunk) | |
2014-01-25
| ||
12:16 | Fix a problem causing SQLITE_OMIT_COMPOUND_SELECT builds to fail. (check-in: b30db0ac30 user: dan tags: trunk) | |
2014-01-24
| ||
22:58 | Fixes for various clang warnings. (check-in: 87bf60637e 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: 9554519c12 user: dan tags: trunk) | |
17:03 | Fix harmless compiler warnings in the Tcl interface. (check-in: 35bc81f5ad user: mistachkin tags: trunk) | |
16:57 | Add test cases for LIMIT and ORDER BY on recursive CTEs. (check-in: 67d6c42d44 user: dan tags: trunk) | |
16:36 | Use an unsigned integer to accumulate the string hash. Avoids compiler warnings. (check-in: b1824344ea user: drh tags: trunk) | |
15:42 | Add a few more CTE test cases to closure.test. (check-in: 1b6405d978 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: 9a23f020e8 user: drh tags: trunk) | |
14:05 | Bring in all the latest trunk changes, including the Common Table Expressions implementation. (check-in: 9b43e55919 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: 83b0b29165 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: f4a701d55f 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: 72c4b3f07a user: dan tags: trunk) | |
18:31 | Fix harmless compiler warnings. (check-in: dea2ca6a15 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: b6cea42006 user: drh tags: trunk) | |
18:07 | Add support for LIMIT and OFFSET in a recursive query. (Closed-Leaf check-in: 1945484e6b 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: a0ba55ff05 user: dan tags: trunk) | |
17:28 | Get ORDER BY working for recursive queries. (check-in: 37b343b018 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: 3eb5f9f8d6 user: drh tags: cte-via-queue) | |
10:22 | Fix a typo in a comment. No changes to code or tests. (check-in: cceacc0e79 user: dan tags: cte-via-queue) | |
00:23 | Remove an unnecessary parameter from selectInnerLoop(). Clean up comments. (check-in: 5e6c4a55f6 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: b2671e1133 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: 5e43bf0132 user: dan tags: trunk) | |
01:13 | Fix a couple comment typos and one overly long line. No functional changes. (Closed-Leaf check-in: c57deced09 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: cc1cb32178 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: 7d9e22187d 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: eba8a564e6 user: dan tags: trunk) | |
14:58 | Remove an unused #define and add an assert(), both associated with WITH logic. (check-in: a06235e0f6 user: drh tags: trunk) | |
14:17 | Do not run the tests in with2.test with SQLITE_OMIT_CTE builds. (check-in: 8a973912e9 user: dan tags: trunk) | |
2014-01-18
| ||
18:33 | Add a sudoku solver to the recursive query tests in with1.test. (check-in: 679eff8759 user: drh tags: trunk) | |
15:59 | Add extra test cases. No changes to code. (check-in: d38d485e58 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: 2ad4583c0c 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: cccff8a0b4 user: dan tags: trunk) | |
2014-01-17
| ||
20:36 | Add extra tests to with2.test. (check-in: eecc325afd user: dan tags: trunk) | |
18:34 | Minor simplification of error message text for a couple of errors associated with WITH clause processing. (check-in: 2031004d96 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: a7323838bb 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: 9ca18a0191 user: drh tags: trunk) | |
15:27 | Fix a compiler warning in selectPopWith(). (check-in: c8eb11635a user: drh tags: trunk) | |
15:15 | Add support for common table expressions (WITH clauses). (check-in: 0171e3bb4f user: dan tags: trunk) | |
14:59 | Fix some problems to do with WITH clauses and name resolution. (Closed-Leaf check-in: 6a549187ed 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: f68c6c4d36 user: dan tags: common-table-expr) | |
2014-01-16
| ||
22:40 | Add the ability for the authorizer callback to disallow recursive queries. (check-in: 9efc120a15 user: drh tags: common-table-expr) | |
21:59 | Tweaks to error message text. (check-in: 090a77d978 user: drh tags: common-table-expr) | |
21:02 | Improve the error messages used to report illegal recursive cte references. (check-in: 54eee9fe99 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: a296b73360 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: 16bd54783a 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: 6bfa387e82 user: dan tags: common-table-expr) | |
04:37 | Merge trunk changes. Fix a possible NULL-pointer deference in WITH clause name resolution. (check-in: 7f953b568b user: drh tags: common-table-expr) | |
2014-01-15
| ||
20:10 | Remove an ALWAYS() that is no longer always true. (check-in: c95823cd45 user: drh tags: common-table-expr) | |
19:42 | Fixes so that SQLITE_OMIT_CTE builds work. (check-in: 3908e2ea2e user: dan tags: common-table-expr) | |
18:35 | Further comments on WITH-clause processing routines in select.c. (check-in: c948384dfd user: drh tags: common-table-expr) | |
18:23 | Add a header comment to the searchWith() routine. (check-in: d9ae0f5d9f user: drh tags: common-table-expr) | |
18:21 | Disable automatic indices on recursive CTE references. (check-in: 28aa6db8c8 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: 61be2da0ae 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: 9a514b50e4 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: 860aa93663 user: drh tags: common-table-expr) | |
14:17 | Disable the flattening optimization if the sub-query is a recursive CTE. (check-in: 9472f6d820 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: a29330238b user: drh tags: common-table-expr) | |
00:24 | Merge recent fixes from trunk. Cherrypick of [c43b59dac1], [a221aa82bb], [e1eba1fb09], and [1e131094b5]. (check-in: c697d2f83c user: mistachkin tags: branch-3.8.2) | |
2014-01-14
| ||
20:14 | Add code to handle recursive CTEs. (check-in: a5c2a54a07 user: dan tags: common-table-expr) | |
10:17 | Fix harmless compiler warning in LEMON. (check-in: f61a70589a user: mistachkin tags: trunk) | |
10:17 | For the Win32 VFS, defining winShmMutexHeld should be controlled by NDEBUG, not SQLITE_DEBUG. (check-in: 1e131094b5 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: ac15455abc 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: 260587d272 user: drh tags: trunk) | |
16:36 | Fix some memory leaks and crashes that could follow an OOM condition during WITH clause parsing. (check-in: 8839850c44 user: dan tags: common-table-expr) | |
15:12 | Add code to handle non-recursive CTEs in the same way as SQL views. (check-in: a26f399ba4 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: 704d3931b8 user: dan tags: common-table-expr) | |
13:22 | Parse common table expressions. But do not do anything with them (yet). (check-in: da98b7205e 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: 29ba458d84 user: drh tags: trunk) | |
03:54 | Optimizations to the SQL language grammar that result in a small size reduction and speed increase. (check-in: cb5d1f83e0 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: 8eb48c04bd 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: 4e4483b2d4 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: da7890ca6b 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: e43c522dde user: drh tags: lemon-updates) | |
20:51 | Remove unused structure definition from parse.y. (check-in: 7f1e7ae313 user: drh tags: trunk) | |
20:46 | Allow a VALUES clause to be used any place that a SELECT statement can be used. (check-in: c9ea7d199f user: drh tags: trunk) | |
20:38 | Fix CREATE TABLE ... AS so that it works with column names that are empty strings. (check-in: 632045f21c user: drh tags: trunk) | |
16:40 | Fix another harmless compiler warning in unixUnfetch(). (check-in: 0484549bb8 user: dan tags: trunk) | |
2014-01-09
| ||
13:39 | Fix harmless compiler warning in unixUnfetch(). (check-in: 618f248f4e 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: 4365ddd62d 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: f461e2b397 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: d6fcfc8890 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: 8f6e6149a1 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: 874b7e9999 user: drh tags: trunk) | |
15:17 | Improvements to the column-cache for nested AND/OR operators. (check-in: 4e725f5313 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: fa8be488a3 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: 24f84b3813 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: 19f3208b26 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: 429018b19c user: drh tags: trunk) | |
2014-01-02
| ||
21:05 | Try to factor constant subcomponents of the WHERE clause out of the loop. (check-in: 9d05777fe2 user: drh tags: trunk) | |
19:35 | Avoid unnecessary affinity transformations when building indices using data from a table. (check-in: 10d851353c user: drh tags: trunk) | |
17:57 | Be more aggressive in optimizing constant conditional expressions. (check-in: b7e39851a7 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: e1eba1fb09 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: a221aa82bb user: drh tags: trunk) | |
2013-12-24
| ||
12:09 | Merge the latest trunk changes into the sessions branch. (check-in: cfd110bf5d user: drh tags: sessions) | |
12:04 | Add -I. to the main.mk makefile for building sqlite3.o and speedtest1. (check-in: cc72c5aec7 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: c289a253c0 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: ac5852d640 user: drh tags: branch-3.8.2) | |
11:33 | Remove a stray tab character. (check-in: 25b8a1c9ba 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: 895af097e7 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: 46d040591f 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: 2d2b3c4951 user: drh tags: trunk) | |
17:07 | Avoid compiler warnings by only enabling sqlite3ErrName() when SQLITE_TEST is defined. (check-in: 862228e505 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: df05679838 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: 96397263f9 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: 69a17336fd 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: d93ae6833a user: drh tags: trunk) | |
18:44 | Code simplification in sqlite3GenerateIndexKey() by making use of a subroutine found over in expr.c. (check-in: 0026d33553 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: 2ae22dc0cb user: drh tags: trunk) | |
14:48 | Allow any arbitrary expression as the filename in an ATTACH statement, including functions and subqueries. (check-in: df70a1f303 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: 2c7fd9b043 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: 8eb28d23e3 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: ca3fdfd419 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: ffa092e13b user: drh tags: trunk) | |
02:56 | Omit an unnecessary OP_Null opcode from UPDATE. (check-in: 72d111336c user: drh tags: trunk) | |
02:23 | Omit one or more pointless instructions that occur in between OP_NoConflict and OP_Halt. (check-in: 61e2f3575c 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: 58704ed1f4 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: 97fdfc6b79 user: drh tags: column-cache-debug) | |
15:11 | Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set. (check-in: 4c6a659c43 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: 93121d3097 user: drh tags: trunk) | |
16:10 | Add the printf() SQL function. (check-in: a1bb62f91a user: drh tags: trunk) | |
15:58 | Fix the formatting of %c in the printf() SQL function. (Closed-Leaf check-in: 3375571a5e user: drh tags: printf-sql-function) | |
15:03 | Add the printf() SQL function. (check-in: 6db7052eee user: drh tags: printf-sql-function) | |
2013-12-14
| ||
18:24 | Merge in all recent preformance enhancements from trunk. (check-in: 32477642d7 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: 5716fc2341 user: drh tags: trunk) | |
2013-12-13
| ||
20:45 | Performance optimizations in the pager_write() routine of pager.c. (check-in: bc5febef92 user: drh tags: trunk) | |
19:48 | Reduce the number of calls to the subjRequiresPage() routine inside of pager. (check-in: e50ff39a93 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: e00f37e233 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: a845779cd3 user: drh tags: trunk) | |
16:42 | Avoid unnecessary calls to sqlite3_free() from within sqlite3VXPrintf(). (check-in: e2a8b280e8 user: drh tags: trunk) | |
16:23 | Simplication and optimization of error message handling. (check-in: 9d347f547e 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: 552f94d50f user: drh tags: trunk) | |
14:17 | Merge in the latest trunk changes. (Closed-Leaf check-in: 9ff4dfe1e3 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: 5e239ecda0 user: drh tags: trunk) | |
12:02 | Remove an unreachable conditional inserted by the previous check-in. (check-in: 3e1d55f0bd 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: fdc3f3fa3d user: dan tags: zipvfs-multifile-commit) | |
11:00 | Fix harmless compiler warnings. (check-in: a7e5fcd666 user: drh tags: trunk) | |
02:21 | Fix harmless compiler warning. (check-in: 2525296d91 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: 4d0781473a user: drh tags: trunk) | |
2013-12-10
| ||
21:38 | Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). (check-in: 079c04a501 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: 1c6ee9b85f user: drh tags: trunk) | |
19:49 | Simplify and improve the performance of the sqlite3VdbeMemGrow() routine. (check-in: 48ecf18774 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: 46231af985 user: dan tags: zipvfs-multifile-commit) | |
16:35 | Merge changes from the trunk. (check-in: 3ee736a39d user: dan tags: zipvfs-multifile-commit) | |
16:27 | Fix handling of errors returned by the SQLITE_FCNTL_OMIT_SYNCED file-control. (check-in: d9a5f44f4a user: dan tags: zipvfs-multifile-commit) | |
2013-12-09
| ||
23:17 | Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. (check-in: 7277a76969 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: c43b59dac1 user: mistachkin tags: trunk) | |
21:06 | Reduce the number of times that OP_Column calls sqlite3VdbeMemMakeWriteable(). (check-in: 6b51863553 user: drh tags: trunk) | |
20:43 | Simplify the sqlite3BtreeKeyFetch() and sqlite3BtreeDataFetch() interfaces to the storage engine. (check-in: bf97598592 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: 32fb1784af user: dan tags: zipvfs-multifile-commit) | |
19:25 | Minor performance optimizations in pager.c. (check-in: ba9eef5f52 user: drh tags: trunk) | |
19:03 | Performance optimizations for sqlite3VXPrintf(). (check-in: 9227ad48e1 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: fbfc075a5a user: drh tags: trunk) | |
03:07 | Avoid unnecessary (no-op) calls to sqlite3DbFree() from sqlite3VdbeMemRelease(). (check-in: 2d6dd7c2eb user: drh tags: trunk) | |
02:32 | Use memmove() rather than a home-made copy loop in insertCell() too. (check-in: a3d796b167 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: 78e1706804 user: drh tags: trunk) | |
01:04 | Avoid unnecessary no-op calls from getAndInitPage() to btreeInitPage() in the btree.c logic. (check-in: 81f5ae13b2 user: drh tags: trunk) | |
00:47 | Use putVarint32() instead of putVarint() for a quantity that can never exceed 2GiB - 1. (check-in: 6996fb3444 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: f2f5a3ce9d user: drh tags: trunk) | |
22:59 | Avoid unnecessary calls to sqlite3VarintLen() from the OP_MakeRecord opcode. (check-in: 7a234fc3c5 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: fbcc1a3ebb 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: bfefc57554 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: 3a9bec524e user: drh tags: cursor-hints) | |
17:01 | Increase the version number to 3.8.3. (check-in: 23d00f2287 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: 369a23e006 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: 9c59f5af7a 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: 2b1884dc14 user: drh tags: detect-moved-db) | |
2013-12-06
| ||
23:25 | Performance optimization to the moveToRoot() subroutine in btree.c. (check-in: b5842a70f8 user: drh tags: trunk) | |
22:45 | Use memcmp() instead of the BINARY collating function where possible, for a performance boost. (check-in: c5a3a1af3c user: drh tags: trunk) | |
22:44 | Remove some commented-out code from sqlite3BtreeMovetoUnpacked() to try to make it more readable. (check-in: 2d62d1131f user: drh tags: trunk) | |
19:58 | Add the SQLITE_READONLY_DBMOVED error code to the sqlite3ErrName() function. (check-in: 7789f801d7 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: 28348f2ada user: drh tags: detect-moved-db) | |
15:49 | Update to the 3.8.2 release. (check-in: e579661a79 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: 8759a8e4d8 user: drh tags: detect-moved-db) | |
14:53 | Version 3.8.2 (check-in: 27392118af 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: c632567063 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: e19eead8c9 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: aae7b30ebd user: mistachkin tags: memTests) | |
22:33 | Fix harmless compiler warnings. (check-in: a12d214ecc user: mistachkin tags: memTests) | |
22:32 | Add memory subsystem related defines to the compile-time options list. (check-in: 52a44146dd user: mistachkin tags: memTests) | |
20:51 | Merge in trunk changes. (check-in: a2914d6b17 user: drh tags: sessions) | |
19:49 | Remove a branch in STAT4 logic that is no longer reachable after the previous change. (check-in: eca7d3f161 user: drh tags: trunk) | |
19:16 | Fix a possible (and probably harmless) uninitialized variable in STAT3/4. (check-in: 33ad4f9147 user: drh tags: trunk) | |
18:26 | Fix an alignment problem in the stat3/stat4 code affecting 32-bit platforms. (check-in: 14f9bc7901 user: dan tags: trunk) | |
17:09 | Fix a typo in fts3varint.test preventing the valgrind permutation test from running. (check-in: b654a4ec72 user: dan tags: trunk) | |
10:35 | Modify test file conflict2.test so that it works with the "inmemory_journal" permutation. (check-in: e4164fd8f7 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: 72f9727714 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: 9d8a0e1321 user: dan tags: trunk) | |
02:52 | Change some unreachable test conditions to NEVER(). (check-in: 7d99858bec user: drh tags: trunk) | |
00:11 | Fix a harmless compiler warning on MacOS. (check-in: 74328de1d7 user: drh tags: trunk) | |
2013-12-02
| ||
21:58 | Merge all recent 3.8.2 beta changes from trunk. (check-in: 67c34ccfa9 user: drh tags: sessions) | |
21:25 | Another #if SQLITE_VERSION_NUMBER macro in speedtest1.c for compatibility with older versions of SQLite. (check-in: bc8eacc7f7 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: 4b20cf4206 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: a9e1627ae7 user: drh tags: trunk) | |
01:18 | Fix typos in the header comment on the sqlite3Atoi64() routine. (check-in: c85e0c546e user: drh tags: trunk) | |
2013-11-30
| ||
12:49 | Detect a corrupt UnpackedRecord and return SQLITE_CORRUPT prior to calling sqlite3BtreeMovetoUnpacked(). (check-in: 55ec474db8 user: drh tags: trunk) | |
2013-11-29
| ||
15:39 | Change the name of the CORRUPTIBLE macro to CORRUPT_DB. (check-in: f865be10e8 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: 15e4f63d1f user: drh tags: trunk) | |
2013-11-28
| ||
19:28 | Update a few test cases to account for the new error message formats. (check-in: 65a5bce3ff 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: 0bcf75516f user: dan tags: trunk) | |
06:17 | Fix a test case in temptrigger.test so that it works in auto-vacuum mode. (check-in: c3b7a0e61f user: dan tags: trunk) | |
2013-11-27
| ||
21:53 | Merge all recent trunk changes. (check-in: 3a2a1bd478 user: drh tags: sessions) | |
21:07 | Remove unnecessary local variables from sqlite3VdbeExec() in order to reduce stack-space requirements of that routine. (check-in: 81891288d9 user: drh tags: trunk) | |
19:17 | Update documentation of sqlite3_column() for clarity. Update evidence marks on test cases. (check-in: ec2d47a1db user: drh tags: trunk) | |
18:00 | Fix spelling typo in speedtest1.exe. (check-in: ae90300e8e user: mistachkin tags: trunk) | |
14:50 | Fix some harmless compiler warnings in speedtest1.exe. (check-in: c75f561f33 user: drh tags: trunk) | |
13:48 | Additional test cases for skip-scan. (check-in: ce70803f5e user: drh tags: trunk) | |
13:24 | Make sure the colWidth array is correctly initialized in the ".explain" command of the shell. (check-in: ceebcdcaf1 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: 83c0bb9913 user: drh tags: trunk) | |
04:00 | Avoid using the GetVersionEx functions if they are considered deprecated. (check-in: afdca29966 user: mistachkin tags: trunk) | |
03:01 | Avoid using the GetVersionEx functions if they are considered deprecated. (Closed-Leaf check-in: 0ea9e4722b user: mistachkin tags: vs2013) | |
01:23 | Add additional test cases for skip-scan. (check-in: 1ae4915d4d user: drh tags: trunk) | |
00:45 | Add additional test cases and requirements evidence marks for WITHOUT ROWID. (check-in: b408d78810 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: 0978bac6b8 user: drh tags: trunk) | |
22:46 | Add requirements test cases for determining when an expression is true and when it is false. (check-in: 838654e563 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: d84aa44e39 user: drh tags: trunk) | |
18:22 | Reduce the amount of code used to implement OP_SeekGe and similar. (check-in: 8b12a15a2a user: dan tags: trunk) | |
18:00 | Merge in performance enhancements from trunk. (check-in: fc9ae83956 user: drh tags: sessions) | |
16:51 | Fix a possible NULL pointer deference in the wordcount test program. (check-in: 6f91dca0de user: drh tags: trunk) | |
16:48 | Change tclsqlite3.c so that it never invokes ctype macros with signed character arguments. (check-in: c07caabf23 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: fafca560f2 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: 6f53fc7106 user: drh tags: trunk) | |
01:13 | Fix comment. (check-in: 8364af392d user: mistachkin tags: winHdr) | |
01:00 | Further work on Windows header file reform. (check-in: 540f552516 user: mistachkin tags: winHdr) | |
00:33 | Merge updates from trunk. (check-in: c5ab437875 user: mistachkin tags: winHdr) | |
00:28 | Better support for UTF-8 paths on Cygwin. (check-in: 9954327c0f 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: 914e6c9d88 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: 011a6be439 user: drh tags: trunk) | |
21:49 | Clarify docs for the SQLITE_CONFIG_WIN32_HEAPSIZE option. (Closed-Leaf check-in: 51e876074a user: mistachkin tags: winHeapSize) | |
21:41 | Remove a NEVER() from a branch that is now reachable during OOM faults. (check-in: 18bdcb05c2 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: 032e89934f 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: b48c4e4021 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: 5bf2a3feeb 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: 55e5bfa231 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: a74675607f 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: f80497be44 user: drh tags: btree-optimization) | |
14:10 | More improvements to sqlite3BtreeMovetoUnpacked() performance. (check-in: 8868069823 user: drh tags: btree-optimization) | |
09:37 | Correct line-endings in the new header file. (check-in: 94219b9f1f user: mistachkin tags: winHdr) | |
09:36 | Initial work on isolating usage of the Windows header file. (check-in: 0d42c6b830 user: mistachkin tags: winHdr) | |
02:38 | Performance improvements in sqlite3BtreeMovetoUnpacked(). (check-in: d0fb7acea7 user: drh tags: btree-optimization) | |
2013-11-24
| ||
23:18 | Better support for UTF-8 paths on Cygwin. (Closed-Leaf check-in: 484162b6e5 user: mistachkin tags: cygUtf8) | |
01:14 | Add the --scratch parameter to speedtest1. Improved error messages when misconfiguring memory parameters in speedtest1. (check-in: 8f3c767a30 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: 12e612e8e7 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: 8191b51212 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: 7d2cdfad0e user: drh tags: memsys5-performance) | |
21:29 | Add newlines at the end of some error messages in speedtest1. (check-in: 6b98f0af7a 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: 659f1a98ae user: drh tags: trunk) | |
04:32 | Fix the order of parameters to SQLITE_CONFIG_PAGECACHE in the speedtest1.exe program. (check-in: dbe85ef6d2 user: drh tags: trunk) | |
04:22 | Adjust MSVC makefile to avoid using forward slashes in file names. (check-in: facf6deaa6 user: mistachkin tags: trunk) | |
04:16 | Add the "speedtest1.exe" test program. (check-in: fb6f0c6d77 user: drh tags: trunk) | |
00:27 | Add experimental sqlite3_config option to control the native Win32 heap size. (check-in: f09f11e94b user: mistachkin tags: winHeapSize) | |
2013-11-22
| ||
21:32 | Fix harmless compiler warning. (check-in: f336c18fb7 user: mistachkin tags: trunk) | |
00:49 | Minor correction to the batch build tool for MSVC. (check-in: 22144c9df2 user: mistachkin tags: trunk) | |
2013-11-21
| ||
23:37 | Fix a harmless clang warning in the command-line shell. (check-in: 3d47a556f0 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: b9e047b9e3 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: 4e8c5d0795 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: 586c11ed7c user: drh tags: trunk) | |
21:23 | Do not reuse factored constants that might have had their encodings changed. (check-in: 487f20366c user: drh tags: trunk) | |
20:48 | Fix the code generator to honor turning off constant expression factoring. (check-in: 882622662d user: drh tags: trunk) | |
19:27 | Add the --timer option to the wordcount test program. (check-in: a89fdf8755 user: drh tags: trunk) | |
19:05 | Remove a test from sqlite3VdbeMemFromBtree() which was unnecessary, and after the recent OP_Column refactoring, unreachable. (check-in: 23667f3ba0 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: d4ccf0f5c6 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: 50d350abbc user: drh tags: trunk) | |
14:44 | Remove the obsolete TK_CONST_FUNC token type. (check-in: 9b4217f055 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: 1b0f779e19 user: drh tags: trunk) | |
04:18 | Another improvement to OP_Function and an improvement to OP_Move. (check-in: 70b056fb6f user: drh tags: trunk) | |
03:43 | A simple change to the OP_Function opcode improves overall performance by about 0.5%. (check-in: b890eefd57 user: drh tags: trunk) | |
03:12 | Performance optimization to the OP_Next and OP_Prev opcodes. (check-in: ecaac28a2e 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: 972881c6d3 user: drh tags: trunk) | |
01:04 | Reduce the size of VdbeCursor again, this time without a performance hit. (Closed-Leaf check-in: 933939932c 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: f8d5efcd7b 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: 5f9d506885 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: 0e05679db7 user: drh tags: OP_Column-refactor) | |
19:28 | Further performance tweaks to OP_Column. (check-in: 0e3f5df695 user: drh tags: OP_Column-refactor) | |
17:25 | Refactoring the OP_Column opcode for improved performance and maintainability. (check-in: 7c914e3997 user: drh tags: OP_Column-refactor) | |
02:53 | Simplifications to the VdbeCursor object. (check-in: 5562cd343d user: drh tags: trunk) | |
00:59 | Performance improvement for the OP_MustBeInt opcode in the VDBE. (check-in: 96a65388e7 user: drh tags: trunk) | |
2013-11-19
| ||
18:17 | Fix a harmless MSVC compiler warning. (check-in: 6cc023bb29 user: drh tags: trunk) | |
13:55 | Minor performance improvement to sqlite3SerialTypeGet(). (check-in: 17e8524fc0 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: 3e577f4018 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: 57158d9daf 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: 072412d5e3 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: e9df04cec4 user: drh tags: trunk) | |
18:48 | Fix documentation typos. No changes to code. (check-in: 7caeb09c52 user: drh tags: trunk) | |
11:20 | Fix harmless compiler warnings from clang scan-build. (check-in: 8d002740bf user: drh tags: trunk) | |
08:41 | Fix a problem with the shell tool EXPLAIN indentation code and VDBE sub-programs. (check-in: 9c8d685625 user: dan tags: trunk) | |
03:11 | Enable the ONEPASS optimization for DELETE, for both rowid and WITHOUT ROWID tables. (check-in: 44a07afdd9 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: 6bd5750b7d user: drh tags: optimize-delete) | |
2013-11-16
| ||
23:16 | Fix a couple of minor problems with the new delete logic. (check-in: a11243f840 user: drh tags: optimize-delete) | |
23:03 | Fix an OOM-recovery problem in the DELETE code generator. (check-in: dc7be158b8 user: drh tags: optimize-delete) | |
22:48 | Combine the rowid and WITHOUT ROWID paths for DELETE into a single path. (check-in: c4734b881a user: drh tags: optimize-delete) | |
20:45 | The one-pass optimization is now working for DELETE on WITHOUT ROWID tables. (check-in: e4d220a381 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: 8f479a7275 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: 7edf39eb93 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: de08a7e7ab user: drh tags: trunk) | |
13:55 | Simplification and performance improvement to the logic that factors constant expressions ouf of inner loops. (check-in: ee9353fdf3 user: drh tags: trunk) | |
12:56 | Fix testcase misc7-16 so that it works with the new UNIQUE constraint error message format. (check-in: c7f2ed9f44 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: cee835fe90 user: drh tags: expr-codegen-enhancement) | |
19:00 | Merge the operator comment fixes from trunk. (check-in: 9f14f55c8a 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: cc17f1f05f user: drh tags: trunk) | |
18:15 | Changes to make the new constant expression factoring logic more general and more testable. (check-in: d10fb49a92 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: 79ec485b54 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: 835be656bb user: drh tags: expr-codegen-enhancement) | |
13:12 | Add the --query option to the wordcount test program. (check-in: 5960d11eba user: drh tags: trunk) | |
12:41 | Simplify the range scan code generate while also avoiding an unnecessary OP_Affinity opcode. (check-in: 372686bfbb user: drh tags: expr-codegen-enhancement) | |
03:30 | Merge EXPLAIN fixes from trunk. (check-in: cd579727b1 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: d99a30a25d 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: cbe85cc2a9 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: 8dc5c76c76 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: ea141a9b87 user: drh tags: trunk) | |
19:34 | Remove an unused local variable. (check-in: 10d5922638 user: drh tags: trunk) | |
19:18 | Merge the skip-scan optimization into the sessions branch. (check-in: 7596d1bf80 user: drh tags: sessions) | |
15:35 | An experimental virtual tables for showing the content of internal schema objects. (Leaf check-in: d1fbc6ca18 user: drh tags: schema2-vtab) | |
00:09 | Simplification to the progress callback check. One branch removed. (check-in: 24ef16548e 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: 21f59b04f7 user: drh tags: trunk) | |
20:46 | Merge the skip-scan enhancement into trunk. (check-in: b0bb975c09 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: f668616a29 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: e7d34ec681 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: 8ce33f4c81 user: drh tags: trunk) | |
17:24 | Add VDBE comments to the beginning and end of skip-scan loops. (check-in: 0c85d93b52 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: 5e75ab9388 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: d3e6e9b2a7 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: 27dd5993d1 user: drh tags: skip-scan) | |
08:55 | Avoid an unnecessary OP_IfNull while doing an indexed search. (check-in: 5196000930 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: 4e7e805e11 user: mistachkin tags: trunk) | |
21:10 | Fix harmless compiler warning. (check-in: ddacd10105 user: mistachkin tags: trunk) | |
20:18 | Minor enhancements to the auxiliary information added to EXPLAIN output with SQLITE_EXPLAIN_ENABLE_COMMENTS. (check-in: 0d1328e33c 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: c444671246 user: drh tags: trunk) | |
17:46 | When possible, have FTS use 32-bit operations to read varints from the database. (check-in: aa7ba302ed user: dan tags: trunk) | |
15:39 | Import recent bug fixes from trunk. (check-in: 20eeee4cd3 user: drh tags: sessions) | |
15:33 | A better (simpler) fix to the count(*) problem addressed in the previous check-in. (check-in: 0f924c6ef6 user: drh tags: trunk) | |
14:55 | Make sure the count(*) optimization works correctly on WITHOUT ROWID tables. (check-in: 9117477978 user: drh tags: trunk) | |
12:30 | Update test command [explain_i] to handle the opcodes used by virtual tables (VNext, VFilter etc.). (check-in: 1b215ee321 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: e2684ece45 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: b896ae3d27 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: 239648f8cc 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: 129e2b6917 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: 5addd1234d 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: f58d570171 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: 5a3cfd747a user: dan tags: trunk) | |
16:55 | Remove unreachable code, replacing it in most cases with assert() or NEVER() macros. (check-in: 924d63b283 user: drh tags: trunk) | |
03:37 | Fix issue with several memory allocation tests due to KeyInfo allocations now being shared. (check-in: 569fedd6bb user: mistachkin tags: trunk) | |
03:24 | Convert several ALWAYS() macros in vdbe.c into assert() statements. (check-in: acc40ff6b4 user: drh tags: trunk) | |
02:46 | Fix several harmless compiler warnings. (check-in: e6ff492f0d user: mistachkin tags: trunk) | |
01:42 | Modify a HeapValidate assert in the Win32 native allocator. (check-in: aaed7d1d3b 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: 61d7d4753f user: drh tags: trunk) | |
2013-11-10
| ||
00:03 | Fix typo in comment and remove superfluous blank line. No changes to code. (check-in: 023233f16e 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: a5805976f0 user: mistachkin tags: trunk) | |
23:44 | Fix memory type mismatch when compiled with MEMDEBUG. (check-in: 2c32bd6d4d 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: d06d9fdb6e user: drh tags: trunk) | |
21:19 | Updates to documentation on sqlite3_last_insert_rowid(). No changes to code. (check-in: a4c5804efc user: drh tags: trunk) | |
21:11 | Use the UNICODE_STRING_MAX_CHARS constant from WinNT.h. (Closed-Leaf check-in: 3fefe4dd43 user: mistachkin tags: win32heap) | |
21:10 | Furhter cleanup of the winGetTempname function. (check-in: 674de36bca user: mistachkin tags: win32heap) | |
19:47 | Updates to requirements marks. No changes to code. (check-in: 8a0366285b 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: b1abb2b078 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: fbf8c38283 user: mistachkin tags: win32heap) | |
19:51 | Disable use of HeapCompact on Windows CE as it is not available on all versions. (check-in: e9694b8771 user: mistachkin tags: win32heap) | |
18:52 | Adjust the winMemInit return code handling used when resetting the Win32 native heap. (check-in: 37853665e7 user: mistachkin tags: win32heap) | |
18:37 | Minor corrections to logging for sqlite3_win32_compact_heap(). (check-in: 71347d021b user: mistachkin tags: win32heap) | |
18:13 | Enhancements to the Win32 native heap integration. (check-in: c54dc9672b user: mistachkin tags: win32heap) | |
17:13 | Fix harmless compiler warnings. (check-in: 0077c0772a 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: 830629d31d user: drh tags: trunk) | |
16:54 | Performance improvement: Avoid unnecessary seeks on REPLACE INTO for a WITHOUT ROWID table. (check-in: fd11afa5f5 user: drh tags: trunk) | |
15:19 | Performance improvements: Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID table. (check-in: 6f187a0fb1 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: 3c566e41e4 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: 74e3ee2ee6 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: 1d1d13b890 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: e938112d31 user: drh tags: trunk) | |
22:11 | Fix temporary directory separator handling for Cygwin. (Closed-Leaf check-in: 9d870d5f0d user: mistachkin tags: cygDirSep) | |
21:32 | Fix a compiler warning introduced by the previous check-in. (check-in: 404bd98fb4 user: drh tags: trunk) | |
21:25 | Enable the WHERE_ONEPASS_DESIRED optimization for UPDATE operations on WITHOUT ROWID tables. (check-in: 2153079855 user: drh tags: trunk) | |
19:43 | Add the --stats and --summary options to the wordcount.c test program. (check-in: 8aa21e6791 user: drh tags: trunk) | |
18:40 | Increase the version number to 3.8.2. (check-in: 9ad5b74c26 user: drh tags: trunk) | |
18:37 | Add the "wordcount.c" test program. (check-in: f02ee54630 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: c80e229dd9 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: 55eea1782a 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: defd5205a7 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: 474555002d 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: 4be2b64b3e 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: a725a75f87 user: drh tags: omit-rowid) | |
14:05 | Minor optimization to the OP_Halt opcode. (check-in: d70c78814b user: drh tags: omit-rowid) | |
12:56 | Improved ORDER BY optimization for WITHOUT ROWID tables. (check-in: 8f1709ff2d 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: 6055dad2ba user: drh tags: omit-rowid) | |
11:46 | Remove an incorrect test case from conflict2.test. (check-in: 427612efc1 user: drh tags: omit-rowid) | |
02:36 | Remove an unused variable. (check-in: e9c1e419b7 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: 03e7019e14 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: 573cc27427 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: 52a3d88519 user: drh tags: omit-rowid) | |
16:56 | Remove an "explain" command from test script without_rowid1.test that was accidentally committed. (check-in: 4b41d989e8 user: dan tags: omit-rowid) | |
16:39 | Unless the destination table is completely empty, disable the xfer optimization for WITHOUT ROWID tables. (check-in: 3877c9f505 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: ace7e7b642 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: 99b1fa4b16 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: 54b2219297 user: drh tags: omit-rowid) | |
01:59 | Add the conflict2.test script. Fix issues discovered by this script. (check-in: 294ed33756 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: 79befe3ac1 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: 1ea43c0f23 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: bc2a06eb8e user: drh tags: omit-rowid) | |
17:00 | Fix a problem with processing INTEGER PRIMARY KEY on a WITHOUT ROWID table. (check-in: 89098e6d18 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: d072bcd0a8 user: drh tags: omit-rowid) | |
13:56 | Correctly handle self-referential foreign keys on WITHOUT ROWID tables. (check-in: af128862ab 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: 49be646cd9 user: dan tags: trunk) | |
2013-11-03
| ||
02:27 | Improved comments on foreign key logic. (check-in: 1315d9109c 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: a7a18b65fa 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: 39e32187b6 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: 4ee4d31063 user: drh tags: omit-rowid) | |
18:46 | Update the ANALYZE logic so that it works with WITHOUT ROWID tables. (check-in: 9075770e40 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: b7544bb280 user: drh tags: omit-rowid) | |
11:43 | Import the sqlite3_analyzer fixes from trunk. (check-in: ac711459ff 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: 42a11e7464 user: drh tags: trunk) | |
2013-11-01
| ||
22:02 | Size KeyInfo objects so that IdxInserts always compare the correct number of fields. (check-in: 302a81390f 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: f9769d701c user: drh tags: omit-rowid) | |
18:14 | Additional UPDATE test cases for WITHOUT ROWID. (check-in: 65384ae0f0 user: drh tags: omit-rowid) | |
17:59 | Fix an invalid cast operation in the WITHOUT ROWID parsing logic. (check-in: 845153be36 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: dd5d57b9a1 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: c525ac5630 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: 3bed599e74 user: drh tags: omit-rowid) | |
12:42 | Some UPDATE statements now working in WITHOUT ROWID tables. (check-in: 5c0eaea6a2 user: drh tags: omit-rowid) | |
01:45 | A couple of bug fixes. (check-in: cdf00248cf 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: 9b6d9e106a 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: 090db8c81d 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: cff1f55c52 user: drh tags: omit-rowid) | |
15:37 | Improved comments and variable names in infrastructure routines of UPDATE, DELETE, and INSERT. (check-in: ad90e762e5 user: drh tags: omit-rowid) | |
12:13 | Moving UPDATE towards the iDataCur/iIdxCur representation. Still not working for WITHOUT ROWID, though. (check-in: deacbd21b5 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: 1adfca6019 user: drh tags: omit-rowid) | |
06:39 | Update comments in the MSVC batch build tool. (check-in: 0414bb73ef user: mistachkin tags: trunk) | |
06:13 | Enable some more tests on Windows. (check-in: 72389c295b user: mistachkin tags: trunk) | |
06:11 | Fix harmless compiler warnings. (check-in: 1a0a88657f 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: 0d4fea7462 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: 6d9af6065f 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: 72d45eb79b 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: 908e2c2124 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: 5530cdc485 user: dan tags: shell-wall-clock) | |
03:25 | Add the "Esri Spatially-Enabled Database" file format to the magic.txt file. (check-in: 8530a18f40 user: drh tags: trunk) | |
02:37 | Merge EXPLAIN enhancements from trunk. (check-in: 2fcac05607 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: e1a89b56f7 user: drh tags: trunk) | |
00:25 | Enhanced display of register ranges in the auxiliary comments added to EXPLAIN. (check-in: d6b0c39281 user: drh tags: trunk) | |
2013-10-29
| ||
20:47 | Import the automatic comment generating changes from trunk. (check-in: 8bb51da130 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: 5f310c6a22 user: drh tags: trunk) | |
16:14 | Improved comments on the constraint checking logic. (check-in: 141a38a7a6 user: drh tags: omit-rowid) | |
2013-10-28
| ||
22:47 | Merge all trunk changes since 3.8.1 into the sessions branch. (check-in: aa72ea8a00 user: drh tags: sessions) | |
22:39 | Merge recent fixes from trunk. (check-in: 9f8191d1d8 user: drh tags: omit-rowid) | |
22:33 | Formatting improvements to the WHERE-clause constraint display in the wheretrace debugging logic. (check-in: 3a9e3ed94b user: drh tags: trunk) | |
20:38 | Add regression tests for ticket [c620261b5b5]. (check-in: 05a35b09b1 user: drh tags: trunk) | |
20:15 | Do not use transitive WHERE-clause constraints on LEFT JOINs. Fix for ticket [c620261b5b5dc]. (check-in: 9aac4e588c 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: 92ccd70541 user: drh tags: trunk) | |
19:03 | Bug fix and enhancements to the improved wheretrace logic that shows the constraint expressions. (check-in: 10f125f5da 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: 710a18ac79 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: 086ec2a177 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: e6650e16dd user: drh tags: omit-rowid) | |
00:58 | Minor refactoring of variable names and fixes to comments in insert.c. (check-in: ae61a34378 user: drh tags: omit-rowid) | |
2013-10-25
| ||
19:17 | Progress toward getting UPDATE to work in WITHOUT ROWID tables. (check-in: e557b7d80f user: drh tags: omit-rowid) | |
14:46 | Basic DELETE operations now working on WITHOUT ROWID tables. (check-in: 9eafafa31c 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: 85daf51746 user: drh tags: omit-rowid) | |
15:20 | Add the ".open" command to the command-line shell. (check-in: 21eccb9194 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: 0e56ba69f0 user: drh tags: omit-rowid) | |
11:55 | Remove an obsolete comment from the VDBE. No code changes. (check-in: 53bb070c85 user: drh tags: omit-rowid) | |
00:18 | Correctly handle queries that use secondary indices of WITHOUT ROWID tables. (check-in: d8bc859530 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: 247f389930 user: drh tags: omit-rowid) | |
22:23 | Construct secondary indices on WITHOUT ROWID tables. (check-in: 2c028ddc85 user: drh tags: omit-rowid) | |
17:39 | Report an error when trying to resolve column name "rowid" in a WITHOUT ROWID table. (check-in: 36bcc9cb88 user: drh tags: omit-rowid) | |
16:03 | Get VACUUM and the xfer optimization working with WITHOUT ROWID. (check-in: 579815fff1 user: drh tags: omit-rowid) | |
13:30 | Some inserts and queries working for multi-column primary keys and WITHOUT ROWID. (check-in: b21d831b2a user: drh tags: omit-rowid) | |
01:57 | Some simple inserts and queries working on WITHOUT ROWID tables. (check-in: 3f8016dee2 user: drh tags: omit-rowid) | |
00:32 | Build internal data structures appropriately for WITHOUT ROWID tables. (check-in: 35a3606071 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: a106ce86cd 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: 45efc94f9a 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: 5ca0ea2e9b 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: 824b549f9b 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: 4e69dd5f9b user: drh tags: omit-rowid) | |
23:17 | Improve support for the SQLITE_OMIT_FLAG_PRAGMAS compile-time option. (check-in: f1d8c3b07e user: mistachkin tags: trunk) | |
13:15 | Drop the mutex on the multiplexor before entering the xRead VFS call. (Closed-Leaf check-in: a00d2ed49c 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: 131cc6e152 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: 0248ec5e6e user: drh tags: omit-rowid) | |
16:51 | Improved header comment with better instructions on the vfslog.c extension. (check-in: 4bd592c8f0 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: 56dca4a65c 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: e801f35a96 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: 08157524ca 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: f062969548 user: drh tags: trunk) | |
2013-10-17
| ||
12:57 | Version 3.8.1 (check-in: c78be6d786 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: e5a439cfa5 user: drh tags: trunk) | |
14:32 | Merge the latest trunk changes. (check-in: 5806546822 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: 8651aba186 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: 9905cea9d4 user: drh tags: trunk) | |
09:49 | Fix memory/resource leaks for WinCE and Cygwin. (Closed-Leaf check-in: 2470d1bb08 user: mistachkin tags: wince-fixes) | |
2013-10-15
| ||
19:06 | Add the "languageid" hidden column to fts4aux. (check-in: 891df358e5 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: 1086e00bca 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: bcbc65030f 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: e111e4edf9 user: drh tags: sessions) | |
11:58 | Fix harmless macro redefinition warnings in the totype extension. (check-in: c9c1f8d670 user: drh tags: trunk) | |
10:43 | Fix harmless macro redefinition warnings in the totype extension. (Closed-Leaf check-in: a38adeb7ff 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: 73238f655a 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: 9f66dd7e37 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: 0bf438fc30 user: dan tags: trunk) | |
19:35 | Add implementations for the toInteger() and toReal() SQL functions. (check-in: a0f7cbc068 user: drh tags: trunk) | |
15:41 | Fix for building with SQLITE_OMIT_FOREIGN_KEY. (check-in: b8b5f6c8f6 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: 208b259ad7 user: drh tags: trunk) | |
14:21 | Corrects to comments on the STAT4 implementation. (check-in: e06f74d32d user: drh tags: trunk) | |
13:21 | Make subroutines sampleCopy() and valueFromExpr() have file scope. (check-in: 1660efbe46 user: drh tags: trunk) | |
10:46 | Add a new application_id for GeoPackage version 1.0. (check-in: 98ddfe4571 user: drh tags: trunk) | |
2013-10-12
| ||
23:39 | Merge updates from trunk. (Closed-Leaf check-in: a88b5be01e 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: f0cf8c85dc 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: 8c13a7fd73 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: 27001356ed 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: 67e28a11de user: drh tags: trunk) | |
09:32 | Changes to the new initial row of PRAGMA index_list results. (Closed-Leaf check-in: 0c4dd9fff0 user: mistachkin tags: indexList) | |
02:33 | Fix harmless compiler warning. (check-in: 4b130f88fb user: mistachkin tags: trunk) | |
02:31 | Permit the creation of VSIX packages for Win32. (check-in: 035d03e942 user: mistachkin tags: trunk) | |
00:56 | Fix Unicode character encoding issues on Windows in the fts4unicode test file. (check-in: c9310c9a2b 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: 1be0a3adab user: drh tags: trunk) | |
23:02 | The split amalgamation option should be disabled by default. (check-in: 7c24d22ffa user: mistachkin tags: trunk) | |
23:01 | Enhance debugging support for the split amalgamation files when compiling with MSVC. (check-in: 8ff17c553d user: mistachkin tags: trunk) | |
23:01 | Fix a harmless compiler warning in lemon.c. (check-in: 62959c0ce3 user: drh tags: trunk) | |
22:19 | Add -no-undefined option when linking the shared libraries. (check-in: 977d2b12e5 user: mistachkin tags: trunk) | |
22:17 | Fix test numbering. (check-in: cef39f6933 user: mistachkin tags: trunk) | |
20:14 | Add requirements marks. No code changes. (check-in: 5e0d43ab55 user: drh tags: trunk) | |
16:35 | Additional test cases and requirements marks for the unlikely(), likelihood() and instr() functions. (check-in: 5f01cd36ee 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: 7df06684ab user: drh tags: trunk) | |
13:27 | Make sure the sqlite3.h file occurs at the very top of the sqlite3.c amalgamation. (check-in: 03593817ab user: drh tags: trunk) | |
05:51 | Fix compilation issue for WinRT. (check-in: 7a2006ca94 user: mistachkin tags: trunk) | |
2013-10-10
| ||
20:13 | Synchronize with the trunk. (check-in: 136445ba02 user: drh tags: sessions) | |
17:33 | Add a rule to the main.mk makefile for building showdb. (check-in: fc5552da0d 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: af7abebeb1 user: drh tags: trunk) | |
13:41 | Another fix to the hash signature algorithm in vfslog.c. (check-in: 34212aa8c4 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: eaf4de13a6 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: 24a827b876 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: d27b88b8c2 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: e97d7d3044 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: f7cc30d45b user: drh tags: row-size-est) | |
22:25 | Fix test cases for the new information in PRAGMA index_list. (check-in: dd03be1065 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: 65553ff34b 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: 3fd5e33217 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: 18bd6ba96d user: drh tags: row-size-est) | |
2013-10-07
| ||
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: cb34cfe57c user: drh tags: row-size-est) | |
16:53 | Try to remember statistics from ANALYZE using LogEst instead of u64. (Leaf check-in: 8e78557a40 user: drh tags: log-stats) | |
10:48 | Merge bug fixes from trunk. (check-in: 1d7b2dc0ea user: drh tags: row-size-est) | |
2013-10-06
| ||
22:12 | Accept the sz=N parameter on table-only lines of sqlite_stat1. (check-in: e9e932aa40 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: 029430c503 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: 8b4aa0c7a2 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: 5252aeb619 user: drh tags: row-size-est) | |