/ Timeline
Login

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

12111 ancestors of 5d506743f541b022

2014-03-24
09:34
Remove an unnecessary temporary register allocation. (check-in: 5d506743 user: dan tags: orderby-planning)
02:20
Remove a pointless OP_Once operation in ORDER BY clauses with LIMIT. (check-in: e6c59d23 user: drh tags: orderby-planning)
01:43
Further enhancements to generated VDBE code for ORDER BY. (check-in: e7188fad user: drh tags: orderby-planning)
2014-03-23
18:47
merge fixes from trunk (check-in: faf7f9ca user: drh tags: orderby-planning)
17:45
Use only a single OP_MakeRecord instead of two when constructing entries to go onto a sorter. (check-in: d696cded user: drh tags: orderby-planning)
16:29
Avoid a possible use of an uninitialized variable following an I/O or OOM error. (check-in: 641408a1 user: drh tags: trunk)
2014-03-22
02:19
Clear the sort-order flags on the KeyInfo object associated with the OP_Compare/OP_Jump of the block-sort logic, in order to make the OP_Jump fully testable. (check-in: 9b2838f2 user: drh tags: trunk)
01:52
Increase the version number to 3.8.5. (check-in: 9760879d user: drh tags: trunk)
00:27
Fix the ORDER BY optimization logic so that it will do a block-sort on a partial DESC ORDER BY. This enhancement uncovered a memory leak in pushUntoSorter() which is also fixed. (check-in: c36f7461 user: drh tags: trunk)
2014-03-21
20:58
Add the ability to use indices for the first few terms of an ORDER BY clause, then sort in batches to handle the later terms. (check-in: fa06a6fe user: drh tags: trunk)
19:56
Change the names of SRT_DistTable and SRT_Table used by CTE to more meaningful SRT_DistFifo and SRT_Fifo, respectively. Simplify the IgnorableOrderby() macro in the process. (check-in: 45d8cc67 user: drh tags: trunk)
19:27
Avoid leaking memory in an obscure case where the flattener adds an ORDER BY clause to the recursive part of a recursive query. (check-in: 1f413aca user: dan tags: trunk)
18:45
Merge the OFFSET-on-query-without-FROM fix from trunk. (check-in: 71e9ae72 user: drh tags: orderby-planning)
18:16
Fix the OFFSET clause so that it works correctly on queries that lack a FROM clause. Ticket [07d6a0453d4ed8]. (check-in: 179ef816 user: drh tags: trunk)
15:24
New test case for block-sorting. (check-in: e70cfa28 user: drh tags: orderby-planning)
2014-03-20
20:56
Merge trunk fixes for "x IN (?)" handling. (check-in: eca35871 user: drh tags: orderby-planning)
19:04
Remove a testcase() that is now always true due to the "x IN (?)" optimization. Add an ALWAYS() around a conditional in the parser that cannot be false. (check-in: d5a1530b user: drh tags: trunk)
18:45
Fix the EXPLAIN indenter in the command-line shell to correctly handle NextIfOpen and PrevIfOpen opcodes. (check-in: 01944c53 user: drh tags: trunk)
17:03
The "x IN (?)" optimization in check-ins [2ff3b25f40] and [e68b427afb] is incorrect, as demonstrated by the in4-5.1 test case in this check-in. The "COLLATE binary" that was being added to the RHS of IN was overriding the implicit collating sequence of the LHS. This change defines the EP_Generic expression node property that blocks all affinity or collating sequence information in the expression subtree and adds that property to the expression taken from RHS of the IN operator. (check-in: 2ea4a9f7 user: drh tags: trunk)
15:14
Fix harmless compiler warnings. (check-in: b1435f26 user: drh tags: trunk)
14:56
Previous check-in is not quite correct. "x IN (?)" is not exactly the same as "x==?" do to collation and affinity issues. The correct converstion should be to "x==(+? COLLATE binary)". The current check-in fixes this problem and provides test cases. Ticket [e39d032577df69] (check-in: 2ff3b25f user: drh tags: trunk)
13:26
Convert expressions of the form "X IN (?)" with exactly one value on the RHS of the IN into equality tests: "X=?". Add test cases to verify that statements work correctly on this corner case. Fix for ticket [e39d032577df6942]. (check-in: e68b427a user: drh tags: trunk)
12:17
Fix an unnecessarily obtuse use of a bitmask flag. (check-in: ca314081 user: drh tags: trunk)
2014-03-19
23:42
Merge the vdbesort.c optimization from trunk. (check-in: e4bfffb9 user: drh tags: orderby-planning)
23:24
Fix query planner weights associated with choosing block-sorting. Fix block sorting of tables with collating functions. Fix various test cases. All "veryquick" tests are now passing, though more tests need to be added. (check-in: 01afbf97 user: drh tags: orderby-planning)
20:01
Avoid some unnecessary calls to sqlite3VdbeRecordUnpack() that were being made when merging data from two or more temp files together in vdbesort.c (check-in: 707ea170 user: dan tags: trunk)
17:41
Make it possible for block-sort to use the OP_SorterOpen sorter in addition to a generic OP_OpenEphemeral. (check-in: 7ce2daaf user: drh tags: orderby-planning)
16:56
Fix a problem in the block-sort logic that can arise if the VDBE opcode array is resized while the block-sort logic is being coded. "make test" now runs to completion, though there are still 17 failures. (check-in: 62f3a220 user: drh tags: orderby-planning)
15:17
Avoid reusing temporary registers in co-routines when doing block-sorting. (check-in: 463d921b user: drh tags: orderby-planning)
14:30
Make sure the where.c query planner never reports that the number of ORDER BY terms that are satisfied by indices is negative. (check-in: b186d8d1 user: drh tags: orderby-planning)
14:10
First attempt at getting block-sort to work. This is an incremental check-in. There are many problems still to be worked out. (check-in: 59742dd4 user: drh tags: orderby-planning)
2014-03-18
20:33
Make the partial-ORDER-BY information in the query planner available to the SELECT code generator. Still doesn't make a difference in the generated code. (check-in: e258df23 user: drh tags: orderby-planning)
18:59
Adjust the query planner to keep track of the number of ORDER BY terms satisfied. Still doesn't do anything with this information. Some tests fail after this check-in, but all failures are believed to be benign. The failures will be addressed at a later stage. (check-in: 59d49b7f user: drh tags: orderby-planning)
15:30
Experiments with the optimization of ORDER BY and GROUP BY clauses. (check-in: b1509025 user: drh tags: orderby-planning)
2014-03-17
15:06
Clean up some obsolete "register" declarations in printf.c. (check-in: ecd9d3f9 user: drh tags: trunk)
14:24
Performance enhancements and size reduction for sqlite3VXPrintf() (check-in: eb071eb5 user: drh tags: trunk)
2014-03-14
11:46
Fix a harmless compiler warning that crops up with SQLITE_MAX_MMAP_SIZE=0. (check-in: 1277932b user: drh tags: trunk)
2014-03-12
19:38
Fix an obscure bug causing sqlite3_close() to fail if there are virtual tables on the disconnect list when it is called. (check-in: 6504aa47 user: dan tags: trunk)
19:20
Changes to FTS to ensure that it does not access the database from within the xConnect method. (check-in: c67a52c3 user: dan tags: trunk)
12:44
Prevent the rtree module from reading sqlite_stat1 data from the wrong database. (check-in: 7ce03c1b user: dan tags: trunk)
2014-03-11
15:27
Version 3.8.4.1 (check-in: 018d317b user: drh tags: trunk, release, version-3.8.4.1)
15:25
Update version number to 3.8.4.1 (check-in: 33f5694f user: drh tags: trunk)
09:19
Add a test to see what happens if an rtree constructor encounters an SQLITE_BUSY error. No changes to code. (check-in: 5527e236 user: dan tags: trunk)
2014-03-10
20:12
Adjustments to the cost computation for the skip-scan query plan, to take into account the fact that a seek has to occur on each skip. (check-in: 0769eebd user: drh tags: trunk)
18:03
Attempt to work around MSVC's treatment of __LINE__ as a non-constant value in "Edit and Continue" mode by avoiding the use of __LINE__ when SQLITE_VDBE_COVERAGE is not defined. (check-in: 0a5318bc user: drh tags: trunk)
12:20
Version 3.8.4 (check-in: 530a1ee7 user: drh tags: trunk, release, version-3.8.4)
2014-03-08
19:07
Fix a bug causing "SELECT char()" to return SQLITE_NOMEM. (check-in: ba39df9d user: dan tags: trunk)
2014-03-07
14:57
Improved comment on the pager.c PERSIST rollback journal delete logic inside of hasHotJournal(). No changes to code. (check-in: e5b17a9d user: drh tags: trunk)
03:31
Revise change from the previous check-in to clarify the situation when handling open journal files, regardless of journal mode. (check-in: 1c318ef3 user: mistachkin tags: trunk)
02:29
Avoid calling sqlite3OsDelete() on a file that is open, since this causes Windows to run *very* slowly. Comes up on error recovery in journal_mode=PERSIST. (check-in: fdc651e2 user: mistachkin tags: trunk)
2014-03-06
18:16
Do not run corruptH.test in mmap mode. (check-in: c0d54b4e user: dan tags: trunk)
13:38
Improved EXPLAIN indentation of a loop in the ANALYZE logic for STAT4. Mark the not-found jump of a seek operation in that loop as never taken. (check-in: 0a4200f9 user: drh tags: trunk)
12:36
Remove a branch that is never taken from where.c. (check-in: 4a499722 user: dan tags: trunk)
02:15
Cosmetic change to the shell in-memory database warning to skip coloring the trailing period. (check-in: c87d8e07 user: mistachkin tags: trunk)
01:56
Fix some incorrect comments and typos in comments. Add testcase() macros to some of the new record comparison code. (check-in: b83cfe89 user: drh tags: trunk)
00:30
Better loadable extension handling in the Win32 VFS when compiled for Cygwin. (check-in: 29b0a4f1 user: mistachkin tags: trunk)
00:28
Better support for MinGW 4.x. (check-in: 170e0585 user: mistachkin tags: trunk)
2014-03-05
19:36
Always include the ctype.h header in the spellfix.c extension. (check-in: bfd75f47 user: drh tags: trunk)
19:13
Avoid running a couple of test cases that use realloc() extensively if SQLITE_MEMDEBUG is defined. (check-in: e406d4bb user: dan tags: trunk)
19:04
Fix a harmless compiler warning on MSVC. (check-in: 0723effc user: drh tags: trunk)
17:29
Add SQLITE_OMIT_CTE to the list of compile options that might be returned by "PRAGMA compile_options". (check-in: f33f2b3f user: dan tags: trunk)
16:15
Add tests to join.test to verify that it is not possible to use more than 64 tables in a join. (check-in: ef1a9986 user: dan tags: trunk)
15:52
Count the number of elements in a SrcList object using an "int" rather than a "u8", to avoid overflows and to work around an issue in the C compiler on AIX. (check-in: eee2a13f user: drh tags: trunk)
15:04
Add a test case for the problem fixed by [1d134ba2ed]. (check-in: d4fbc05d user: dan tags: trunk)
14:40
When converting a result type from TEXT to BLOB using the sqlite3_value_blob() interface, continue to report SQLITE_TEXT as the true type from sqlite3_value_text() as long as that text is still valid. The maintains legacy behavior from before the noMemType change. (check-in: 1d134ba2 user: drh tags: trunk)
12:47
Separate the column NULL value constant into a separate routine for greater commonality with the sessions branch. (check-in: 12cbebb9 user: drh tags: trunk)
11:48
Remove the redundant memType field from struct Mem. (check-in: 9e852857 user: dan tags: trunk)
11:22
Do not run corruptI.test with the mmap permutation. (check-in: 378b290d user: dan tags: trunk)
01:29
Experimental simplification of memory flags/type handling. (Closed-Leaf check-in: bac2820e user: mistachkin tags: noMemType)
2014-03-04
21:19
Avoid indexing off the front end of an array when creating a view with two or more blank column names in the SELECT statement that defines the view. (check-in: 554501f1 user: drh tags: trunk)
21:00
Fix a problem with "DEFAULT (-(-9223372036854775808))" clauses in ALTER TABLE ... ADD COLUMN commands. (check-in: e072cb3e user: dan tags: trunk)
18:06
Fix a potential memory use-after-free problem following an OOM error. (check-in: 767ccb1f user: drh tags: trunk)
16:21
Fix an assert() so that it takes OOM errors into account. (check-in: 53f6ec79 user: drh tags: trunk)
16:05
Ensure that BtreeMovetoUnpacked() does not try to invoke xRecordCompare when it is set to NULL. (check-in: 2879234b user: dan tags: trunk)
13:18
Improve clarity of presentation in the sqlite3VdbeMemFromBtree() routine. (check-in: 9830c343 user: drh tags: trunk)
12:07
Fix comment in test. (check-in: 1e57f67b user: mistachkin tags: trunk)
11:54
Fix minor typos in the new test file. (check-in: 3cbb9b1b user: mistachkin tags: trunk)
11:35
Add tests to verify the fix for bug [4ef7e3cfca]. (check-in: 62410bb8 user: dan tags: trunk)
11:29
Fix name resolution problem in sub-selects within triggers, ticket [4ef7e3cfca]. (check-in: 5bcd0b1c user: mistachkin tags: trunk)
11:16
Fix harmless compiler warning. (check-in: 8d18a803 user: mistachkin tags: trunk)
04:12
Refactor the sqlite3VdbeRecordCompare() routine used to compare btree records. Create fast-track special case routines to handle the common cases more quickly. This gives a significant performance boost. (check-in: 3325ad5b user: drh tags: trunk)
04:04
Fix more instances of assuming 'char' is signed. And, make sure to never shift a signed integer. (Closed-Leaf check-in: f10130ed user: drh tags: broken-on-arm)
00:15
Do not assume that 'char' is signed. Make it explicit. (check-in: 979da752 user: drh tags: broken-on-arm)
2014-03-03
21:59
Refactor the sqlite3VdbeRecordCompare() routine used to compare btree records. Create a couple of fast-track routines to handle the common cases of a string with BINARY collation or integer values as the left-most column. This gives a significant performance boost in common use. Oops: This build does not work on the Beaglebone where "char" defaults to unsigned. (check-in: aec5473a user: drh tags: broken-on-arm)
21:46
Fix a couple of harmless compiler warnings. (Closed-Leaf check-in: fcf480cc user: drh tags: experimental)
20:48
Avoid a buffer overread in vdbeCompareRecordInt() that might occur if the database is corrupt. (check-in: 7c0b4381 user: dan tags: experimental)
19:29
Fix a typo in a comment. No changes to code. (check-in: 1f4991ab user: drh tags: experimental)
18:25
Fix compiler warnings. (check-in: ba899372 user: drh tags: experimental)
17:48
Merge latest trunk changes. (check-in: 1d603564 user: dan tags: experimental)
17:36
Change an OP_SCopy into an OP_Copy in a case where the destination might be used after the source has changed. (check-in: c0fa0c0e user: drh tags: trunk)
16:48
Change the "explain_i" tcl test command so that xterm color codes are only added if the output is actually a terminal. (check-in: 559835e5 user: dan tags: trunk)
15:13
Fix a harmless compiler warning. (check-in: d7f6837e user: drh tags: experimental)
14:45
Merge latest trunk changes. (check-in: e00ed717 user: dan tags: experimental)
14:20
Fix a segfault that can occur following an OOM error. (check-in: 7fdd378d user: dan tags: trunk)
00:12
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. (check-in: e3f6c61e user: drh tags: trunk)
2014-03-01
19:45
Merge trunk changes. (check-in: 9c1747b5 user: dan tags: experimental)
19:44
Remove the vdbeRecordCompareLargeHeader function. Fix some other details. (check-in: 3861e853 user: dan tags: experimental)
18:13
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. (Closed-Leaf check-in: 44e1c337 user: drh tags: enhanced-mem-check)
16:24
Factor the Mem invariant checker into a separate procedure (rather than a macro) so that it can be more easily extended. (check-in: 354699d5 user: drh tags: enhanced-mem-check)
14:45
Add extra assert() statements trying to catch a Mem object in an inconsistent state. (check-in: 4aeb3ae4 user: drh tags: enhanced-mem-check)
2014-02-28
20:47
In the command-line shell add the (undocumented and unsupported) ".eqp" command and -eqp command-line option, to cause EXPLAIN QUERY PLAN to be run on each SQL statement as it is evaluated. Intended use is for analysis of the query planner. (check-in: e6ecf733 user: drh tags: trunk)
19:37
Provide an #ifdef in shell.c to work around issues when cross-compiling from Ubuntu to windows. (check-in: 0a3579d9 user: drh tags: trunk)
18:39
Update some test cases that deal with corrupt databases. (check-in: 3a09f560 user: dan tags: experimental)
09:48
Minor tweak to vdbeRecordCompareInt(). (check-in: 284bde0e user: dan tags: experimental)
2014-02-27
20:52
Merge in latest trunk changes. (check-in: 8f30b095 user: dan tags: experimental)
20:44
Further changes to sqlite3VdbeRecordCompare(). (check-in: 57089374 user: dan tags: experimental)
15:11
A better way of handling the USE_SYSTEM_SQLITE #define in shell.c. (check-in: 51ce713c user: drh tags: trunk)
15:04
Add #defines to the command-line shell source code (shell.c) so that it can be imported directly into other projects (ex: Fossil) and used without editing. (check-in: a6690400 user: drh tags: trunk)
2014-02-26
21:35
More efficient removal of duplicates in recursive queries using the UNION compound operator. (check-in: 06c2db87 user: drh tags: trunk)
13:53
In the command-line shell for CSV import, if the lines are \r\n terminated and the last field is blank, make sure an empty string and not a "\r" string is imported. (check-in: 9c2e7612 user: drh tags: trunk)
02:26
Improved handling of constants and especially constant functions in the ORDER BY clause of a query. Do not optimize out "ORDER BY random()". Fix for ticket [65bdeb9739605cc2296]. (check-in: dca1945a user: drh tags: trunk)
2014-02-25
21:55
Do not allow temporary registers to be in use across an OP_Yield within a co-routine. Fix for ticket [8c63ff0eca81a9132d8]. (check-in: 97a8c973 user: drh tags: trunk)
21:01
Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. (check-in: 85206e0b user: dan tags: experimental)
18:12
Also adjust the order of files in the amalgamation to ensure that _FILE_OFFSET_BITS is defined before any #include, for QNX. (check-in: 23001a85 user: drh tags: trunk)
14:52
QNX requires that _FILE_OFFSET_BITS be set prior to any system #include. (check-in: 953cdd6a user: drh tags: trunk)
2014-02-24
21:42
Fix several small style/consistency issues with the previous check-in. (check-in: 2477b3a2 user: mistachkin tags: trunk)
21:23
Merge updates from trunk. (Closed-Leaf check-in: 854d410a user: mistachkin tags: cygDlOpen)
21:20
Enhance testing support for the Win32 VFS dynamic extension loading facilities. (check-in: 53081e72 user: mistachkin tags: trunk)
19:49
Close some stray connections in walro.test. (check-in: d6746cab user: dan tags: trunk)
19:07
In memsys5, initialize new allocations to non-zero bytes. Change the content of freed allocations to prevent use after free. These changes in SQLITE_DEBUG only. (check-in: ba5f0a55 user: drh tags: trunk)
14:24
Remove an unused variable from the VDBE_PROFILE compile-time option. Keep the opcode count in an u32 instead of an int. (check-in: 4df0ac90 user: drh tags: trunk)
2014-02-21
05:44
Better loadable extension handling in the Win32 VFS when compiled for Cygwin. (check-in: 6676475c user: mistachkin tags: cygDlOpen)
2014-02-20
19:42
Fix the text of a comment used to generate VDBE opcode documentation so that it omits symbols that can be mistaken for a hyperlink by the parser. (check-in: b46d4e89 user: drh tags: trunk)
19:32
Fix a harmless shadowed-variable warning. (check-in: 82402909 user: drh tags: trunk)
19:23
Make sure that the difference between two string pointers is passed into sqlite3_mprintf() as type "int". (check-in: d5d973fe user: drh tags: trunk)
2014-02-19
19:14
Add the VdbeCoverageNeverTaken() macro, and comments that better describe how the VDBE branch coverage measurement works. Add some tags to provide 100% VDBE branch coverage. (check-in: c1e94169 user: drh tags: trunk)
14:20
Add the SQLITE_NOTNULL P5 code for comparison operations - really a composite of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands are not possible and raises and assert() if NULL operands are seen. Also omit an unnecessary scan of the sqlite_sequence table when writing into an AUTOINCREMENT table. (check-in: d2c047f3 user: drh tags: trunk)
01:31
Make sure a multi-row VALUES clause works correctly in a compound SELECT. (check-in: 85b355cf user: drh tags: trunk)
00:53
Tweaks in support of VDBE branch test coverage. (check-in: b9782564 user: drh tags: trunk)
2014-02-18
11:31
Fix VDBE branch accounting on comparison operators. (check-in: b287520c user: drh tags: trunk)
03:07
Add VdbeCoverage() and VdbeCoverageIf() macros for improved VDBE coverage testing. (check-in: b92d31a9 user: drh tags: trunk)
01:07
Improvements to "NOT IN (SELECT ...)" processing. Only test for NULL values on the RHS on the first iteration, then remember the result. There has been logic to do this for year, but it didn't work right and ended up repeating the NULL test on every iteration. This inefficiency was found using the VDBE coverage testing tools. (check-in: 915f6f1c user: drh tags: trunk)
2014-02-17
23:52
Merge in performance enhancements for INSERT operations, especially INSERTs on tables that have no affinity columns or that have many indices or INSERTs with content coming from a SELECT. Add the SQLITE_TESTCTRL_VDBE_COVERAGE test control and the SQLITE_VDBE_COVERAGE compile-time option used for measure coverage of branches in VDBE programs. (check-in: a7268769 user: drh tags: trunk)
22:40
Add logic to do test coverage measurements on the VDBE code. (Closed-Leaf check-in: ce184c7b user: drh tags: insert-optimization)
15:40
Add a test case for OP_SoftNull. (check-in: f29d194e user: drh tags: insert-optimization)
15:36
Merge the VDBE_PROFILE fixes from trunk. (check-in: 2914e419 user: drh tags: insert-optimization)
14:59
Avoid unnecessary calls to applyAffinity() during INSERT and UPDATE operations, especially for table that have indices and tables for which all columns have affinity "NONE". (check-in: 35b4d6e9 user: drh tags: insert-optimization)
01:13
Fix the VDBE_PROFILE logic. Add a script to process the output file. (check-in: 7adb3da2 user: drh tags: trunk)
2014-02-16
19:20
Use the modern MinGW major version macro, not the deprecated one. (Closed-Leaf check-in: 057c16ee user: mistachkin tags: mingw4x)
01:55
Enhance the code generator for INSERT INTO ... SELECT so that the SELECT generates output directly in the registers that INSERT INTO will be using, in many cases, and OP_SCopy operations can thus be avoided. (check-in: aa2d8b0e user: drh tags: insert-optimization)
2014-02-14
23:49
Seek past NULLs in a top-constrained search. Avoid checking for NULLs in the body of the search. (check-in: e07a32f3 user: drh tags: trunk)
23:35
Better support for MinGW 4.x. (check-in: e1472307 user: mistachkin tags: mingw4x)
20:59
Reduce the number of cases where it is necessary to check for NULL after the loop terminating condition. (check-in: 3c1ae447 user: drh tags: trunk)
15:13
Add OP_IdxGT and OP_IdxLE as distinct opcodes. Formerly these operations where done using OP_IdxGE and OP_IdxLT with the P5 flag set. But VDBE code is easier to read with distinct opcode names. Also change OP_SeekGe to OP_SeekGE, and so forth, so that the capitalization is consistent. The whole point of this change is to improve the readability of VDBE listings. (check-in: b6bea903 user: drh tags: trunk)
00:25
Revise how the Tcl system encoding is handled by the test suite. (check-in: 9e573198 user: mistachkin tags: trunk)
2014-02-13
21:57
Improvements to the makefile and README for MSVC. (check-in: b22b6140 user: mistachkin tags: trunk)
19:27
Ensure that if the "psow=0" URI option or FCNTL_POWERSAFE_OVERWRITE file-control is used to clear the power-safe overwrite flag, extra padding frames are added to the WAL file. (check-in: 48c821fd user: dan tags: trunk)
19:10
Change README to README.md and expand it. Remove unrelated and obsolete files. (check-in: 18d4e258 user: drh tags: trunk)
18:46
Avoid passing a flags argument with the internal WAL_SYNC_TRANSACTIONS bit set when calling sqlite3OsSync(). (check-in: e3b79e92 user: dan tags: trunk)
13:42
Update the tclconfig files to the latest from http://core.tcl.tk/tclconfig. (check-in: b81ba7a4 user: drh tags: trunk)
2014-02-12
23:52
Minor simplifications to the "zeroPage()" routine in btree.c. (check-in: cc8f10bc user: drh tags: trunk)
21:31
Remove the "rowid cache" that sought to remember the largest rowid for a table and thereby speed up OP_NewRowid. That cache was ineffective. Removing it results in a performance increase of 0.4%, less memory usage, and a slightly smaller library size. (check-in: 56bc5ce8 user: drh tags: trunk)
14:43
Make sure "rowid" columns are correctly resolved in joins between normal tables and WITHOUT ROWID tables. Fix for ticket [c34d0557f740c45070]. (check-in: 5d01426d user: drh tags: trunk)
2014-02-11
16:24
Increase the version number to 3.8.4 (check-in: 0a8bcbbd user: drh tags: trunk)
16:22
Updates to the command-line shell. Simplify the banner message. Add the ".save" command as an alias for ".backup". When starting with no arguments, include a banner message warning that the database is transient and in-memory and mention the ".open" command. (check-in: f5ad1e1b user: drh tags: trunk)
14:37
Fixes to the "editline" support in the command-line shell. (check-in: 7989ce5f user: drh tags: trunk)
01:50
Make sure that virtual WHERE-clause terms do not get transformed into real terms when processing set of OR-connected terms. Fix for ticket [4c86b126f22ad]. (check-in: c950d6c4 user: drh tags: trunk)
2014-02-10
21:07
Fix a pointless conditional. Add a test case. (check-in: 9367632d user: drh tags: trunk)
19:59
Add the ".save" command as an alias for ".backup". Improvements to the way font changes are implemented on the in-memory database warning. (Closed-Leaf check-in: fe284afe user: drh tags: memdb-warning)
19:36
On unix, make the "transient in-memory database" text bold, but not red. Leave the text read on windows. (check-in: c9eba2f7 user: drh tags: memdb-warning)
19:27
In the command-line shell, on the banner, warn about the use of a transient in-memory database in bold red text. (check-in: 0fbc0fce user: drh tags: memdb-warning)
18:56
Fix the compound-select-to-subquery converter so that it works with the new compound-select object linkage introduced as part of the fix for ticket [31a19d11b97088296]. (check-in: 572d4be4 user: drh tags: trunk)
16:13
Modify the command-line shell to print a warning when using an in-memory database. (check-in: 90e9deae user: drh tags: memdb-warning)
15:56
Improvements to a "Synopsis:" comment in the VDBE engine. (check-in: 0dfa7ee9 user: drh tags: trunk)
12:59
Faster implementation for sqlite3MulInt64(). (check-in: 010c48f6 user: drh tags: trunk)
03:21
Faster and smaller implementation of sqlite3_value_type(). (check-in: 5708bc24 user: drh tags: trunk)
2014-02-09
23:59
Add a compound-query test to the speedtest1 test program. (check-in: 53299575 user: drh tags: trunk)
18:02
Use the WITH clause to help resolve names for SELECT statements on the left of a compound query. Proposed fix for ticket [31a19d11b97088296a]. (check-in: 67bfd59d user: drh tags: trunk)
00:52
Add the Mandelbrot Set testcase to the "cte" testset of speedtest1. (check-in: 56febbeb user: drh tags: trunk)
00:18
Add a new "testset" to the speedtest1 program: The sudoku solver. (check-in: 4677ef2f user: drh tags: trunk)
2014-02-08
23:20
Do away with the "multi-register pseudo-table" abstration. Instead, just use an OP_SCopy to load results directory from the result registers of the co-routine. (check-in: 1e64dd78 user: drh tags: trunk)
19:12
Change the OP_Found opcode so that it expands zero-blobs prior to comparing them. Fix for ticket [fccbde530a6583b] (check-in: e2303d1b user: drh tags: trunk)
13:24
Fix a harmless compiler warning in VS2013. (check-in: 83116ee3 user: drh tags: trunk)
13:22
Fix a harmless compiler warning in VS2013. (check-in: 35f2793d user: drh tags: branch-3.8.3)
13:12
Tweaks to the generated VDBE code to make it a little easier to follow. (check-in: 129217ee user: drh tags: trunk)
04:24
Enable constant expression factoring even if no tables are read and no transaction is started. (check-in: a45b8771 user: drh tags: trunk)
01:40
Change the OP_Trace opcode to OP_Init and give it the ability to jump to the initialization code at the bottom of the program, thus avoiding the need for an extra OP_Goto. (check-in: 192dea97 user: drh tags: trunk)
2014-02-07
22:21
Add opcodes OP_InitCoroutine and OP_EndCoroutine. Use these to remove the need for separate boolean registers to record when a co-routine has finished. (check-in: 5a88b6a7 user: drh tags: trunk)
19:33
Fix redundant definitions of _LARGE_FILE and _LARGEFILE_SOURCE. (check-in: 4043d879 user: drh tags: trunk)
19:26
In the TCL bindings, make sure Tcl_AppendResult() is always terminated by "(char*)0" and not just "0". (check-in: ea4d23d1 user: drh tags: trunk)
19:18
Change the OP_InitCoroutine instruction to jump over the co-routine implementation. (Closed-Leaf check-in: a522f364 user: drh tags: coroutine-refactor)
18:27
Get rid of the OP_Undef and OP_IsUndef opcodes in favor of higher-level OP_InitCoroutine and OP_EndCoroutine. (check-in: 1ec0e9dd user: drh tags: coroutine-refactor)
13:20
Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register in the result register range as the flag to indicate EOF on an INSERT from a SELECT, rather than allocating a separate boolean register for that task. (check-in: 6fb74485 user: drh tags: coroutine-refactor)
03:28
More comment updates. No changes to code. (check-in: be24fbc2 user: mistachkin tags: trunk)
02:29
Update comments in vdbe.c. No changes to code. (check-in: 1122b410 user: drh tags: trunk)
2014-02-06
23:56
Delete the OP_VerifySchema opcode. Enhance OP_Transaction to do the schema version checks that OP_VerifySchema used to do. (check-in: 2f3376eb user: drh tags: trunk)
13:18
Change the spellfix1 virtual table to deterministically names its shadow tables. (check-in: 5219cdfc user: drh tags: trunk)
02:46
Add additional error messages and a progress spinner to the ".clone" command. (check-in: dd0db3f0 user: drh tags: trunk)
01:15
Rename the '.repair' shell command to '.clone'. (check-in: 4f9d9562 user: mistachkin tags: trunk)
00:49
Add the ".repair" command to the command-line shell. (check-in: d1dfadea user: drh tags: trunk)
2014-02-05
11:05
In the Win32 VFS, the winSysInfo variable should be static. (check-in: 4a4dd371 user: mistachkin tags: trunk)
2014-02-04
23:45
Do not mark the ephemeral tables used to hold the RHS of IN clauses as unordered because the NGQP will use those ephemeral tables to help order the output. This is not an issue for standard SQLite since ephemeral tables there are always ordered, regardless of the hint. It only affects systems that substitute an alternative storage engine. (check-in: f2504089 user: drh tags: trunk)
20:46
Remove the SF_Materialize flag from the SELECT object as it does not accomplish anything useful. (check-in: 65d5dcdd user: drh tags: trunk)
15:55
Rearrange fields in the Parse object for a tighter packing, resulting in an 8% size reduction on x64. (check-in: 3e1a3f68 user: drh tags: trunk)
2014-02-03
17:04
Performance optimizations in sqlite3PcacheFetch(). (check-in: b60cc11e user: drh tags: trunk)
14:04
Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. (check-in: 6c643e45 user: drh tags: trunk)
13:52
Version 3.8.3 (check-in: e816dd92 user: drh tags: trunk, release, version-3.8.3)
13:49
Minor change to TEA extension docs in an attempt to make links work correctly. (check-in: af3c775e user: drh tags: trunk)
2014-01-31
11:50
Update the "sqlite3.1" unix manpage document. (check-in: 21ce9e3a user: drh tags: trunk)
06:35
Minor change to TEA extension docs in an attempt to make links work correctly. (Closed-Leaf check-in: 492585c8 user: mistachkin tags: teaDoc)
2014-01-30
17:47
Update evidence marks on SELECT tests. Comment changes only. No changes to code or tests. (check-in: 1973d80e user: drh tags: trunk)
15:03
Fix requirements marks only. No changes to code or tests. (check-in: 4a34378b user: drh tags: trunk)
14:10
Update a requirement mark and add some additional test cases to cover the requirement associated with ORDER BY and LIMIT on compound SELECT statements. (check-in: 8560091e user: drh tags: trunk)
12:45
Enhance the MSVC makefile for better debugging symbol support. (check-in: c9bef0f2 user: mistachkin tags: trunk)
12:16
Do not run test script mmapfault.test as part of the "inmemory_journal" permutation test. (check-in: b222b61a user: dan tags: trunk)
11:12
Enhance the MSVC makefile for better debugging symbol support. (Closed-Leaf check-in: c723ec27 user: mistachkin tags: msvcDebug)
2014-01-29
01:46
Make sure that sqlite3SelectDup() initializes the nSelectRow of the duplicate Select object. (check-in: 5bb29b82 user: drh tags: trunk)
2014-01-28
20:36
Fix harmless compiler warnings in the showdb utility program. (check-in: 27c27daa user: drh tags: trunk)
18:53
Fix a potential over-size and hence undefined shift operation. (check-in: 6379b072 user: drh tags: trunk)
17:49
Minor bugfix in main.c so that the library builds with SQLITE_OMIT_WSD defined. (check-in: 5e3b9ecc user: dan tags: trunk)
00:49
Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. (Leaf check-in: a2c347fa user: drh tags: branch-3.8.2)
2014-01-27
16:35
Fix a couple of problems with new test scripts causing the permutations test to fail. (check-in: 48d736c0 user: dan tags: trunk)
15:02
Update some requirements marks to conform with improvements in the documentation. (check-in: be1acb61 user: drh tags: trunk)
14:19
Fix a problem in pagerfault.test causing an assert() to fail. (check-in: ba8d2d50 user: dan tags: trunk)
13:58
Fix (harmless) duplicate variable declaration. (check-in: 94ed9bc4 user: drh tags: trunk)
08:48
Fix some problems in test scripts. No code changes. (check-in: 08acfc65 user: dan tags: trunk)
2014-01-25
12:16
Fix a problem causing SQLITE_OMIT_COMPOUND_SELECT builds to fail. (check-in: b30db0ac user: dan tags: trunk)
2014-01-24
22:58
Fixes for various clang warnings. (check-in: 87bf6063 user: drh tags: trunk)
20:37
Select collation sequences for ORDER BY expressions attached to recursive CTEs in the same way as they are selected for other compound SELECT statements. (check-in: 9554519c user: dan tags: trunk)
17:03
Fix harmless compiler warnings in the Tcl interface. (check-in: 35bc81f5 user: mistachkin tags: trunk)
16:57
Add test cases for LIMIT and ORDER BY on recursive CTEs. (check-in: 67d6c42d user: dan tags: trunk)
16:36
Use an unsigned integer to accumulate the string hash. Avoids compiler warnings. (check-in: b1824344 user: drh tags: trunk)
15:42
Add a few more CTE test cases to closure.test. (check-in: 1b6405d9 user: drh tags: trunk)
14:37
Add test cases that compare the performance of the transitive_closure virtual table again common table expressions for walking a tree. (check-in: 9a23f020 user: drh tags: trunk)
11:16
Add test cases showing the use of ORDER BY on a recursive query to control depth-first versus breath-first search of a tree. (check-in: 83b0b291 user: drh tags: trunk)
2014-01-23
14:44
Modifications to test files to omit any tests that intentionally access out-of-bounds locations in clang -fsanitize=address builds. (check-in: f4a701d5 user: dan tags: trunk)
2014-01-22
19:23
Avoid an extra seek when inserting records into the epheremal index used to ensure that rows returned by UNION recursive queries are unique. (check-in: 72c4b3f0 user: dan tags: trunk)
18:31
Fix harmless compiler warnings. (check-in: dea2ca6a user: drh tags: trunk)
18:16
Change the WITH RECURSIVE implementation to use a queue instead of a pair of tables. Add support for ORDER BY, LIMIT, and OFFSET on recursive queries. (check-in: b6cea420 user: drh tags: trunk)
18:07
Add support for LIMIT and OFFSET in a recursive query. (Closed-Leaf check-in: 1945484e user: drh tags: cte-via-queue)
17:43
Update the spellfix virtual table to optimize queries of the form "SELECT ... FROM tbl WHERE rowid=?". (check-in: a0ba55ff user: dan tags: trunk)
17:28
Get ORDER BY working for recursive queries. (check-in: 37b343b0 user: drh tags: cte-via-queue)
13:35
Add new SelectDest codes, SRT_Queue and SRT_DistQueue in anticipation of adding ORDER BY support on recursive queries. Factor out the recursive query code generator into a separate procedure. (check-in: 3eb5f9f8 user: drh tags: cte-via-queue)
10:22
Fix a typo in a comment. No changes to code or tests. (check-in: cceacc0e user: dan tags: cte-via-queue)
00:23
Remove an unnecessary parameter from selectInnerLoop(). Clean up comments. (check-in: 5e6c4a55 user: drh tags: cte-via-queue)
2014-01-21
22:25
Change the recursive common table expression algorithm to use a queue instead of a pair of tables. Runs about 25% faster on the sudoku solver query. The OP_SwapCursors opcode is no longer required. The current implementation uses just a fifo, but the plan is to change it into a queue that will support ORDER BY and LIMIT in a recursive query. (check-in: b2671e11 user: drh tags: cte-via-queue)
15:04
Remove the undocumented requirement for applications that use an SQLITE_ENABLE_SQLLOG build to define a sqlite3_init_sqllog() function. (check-in: 5e43bf01 user: dan tags: trunk)
2014-01-20
19:55
In where.c, do not allocate space in sqlite3_index_info structures for the internal WHERE clause "terms" generated to record column equivalencies. Fix for ticket [1a1a194d1e5f8]. (check-in: 7d9e2218 user: dan tags: trunk)
18:25
Handle a few obscure problems that could manifest if a database corrupted in a certain way was written by a connection in the middle of a SELECT statement on the same db. (check-in: eba8a564 user: dan tags: trunk)
14:58
Remove an unused #define and add an assert(), both associated with WITH logic. (check-in: a06235e0 user: drh tags: trunk)
14:17
Do not run the tests in with2.test with SQLITE_OMIT_CTE builds. (check-in: 8a973912 user: dan tags: trunk)
2014-01-18
18:33
Add a sudoku solver to the recursive query tests in with1.test. (check-in: 679eff87 user: drh tags: trunk)
15:59
Add extra test cases. No changes to code. (check-in: d38d485e user: dan tags: trunk)
15:22
Add asserts() for a couple of unreachable conditions. Add the Mandelbrot Set query as a test case. (check-in: 2ad4583c user: drh tags: trunk)
08:27
Avoid spurious "no such table" errors in statements of the form "INSERT INTO tbl WITH xxx AS (...) SELECT * FROM xxx". (check-in: cccff8a0 user: dan tags: trunk)
2014-01-17
20:36
Add extra tests to with2.test. (check-in: eecc325a user: dan tags: trunk)
18:34
Minor simplification of error message text for a couple of errors associated with WITH clause processing. (check-in: 2031004d user: drh tags: trunk)
17:40
Resolve table names within CTEs in the context in which the CTE is declared, not the context in which it is used. (check-in: a7323838 user: dan tags: trunk)
16:19
Add tests that verify that keywords WITH, WITHOUT, and RECURSIVE can still be used as table and column names. (check-in: 9ca18a01 user: drh tags: trunk)
15:27
Fix a compiler warning in selectPopWith(). (check-in: c8eb1163 user: drh tags: trunk)
15:15
Add support for common table expressions (WITH clauses). (check-in: 0171e3bb user: dan tags: trunk)
14:59
Fix some problems to do with WITH clauses and name resolution. (Closed-Leaf check-in: 6a549187 user: dan tags: common-table-expr)
11:48
Remove some code from resolve.c that was only required for recursive cte references in sub-queries. Also a stray "finish_test" command in pagerfault.test. (check-in: f68c6c4d user: dan tags: common-table-expr)
2014-01-16
22:40
Add the ability for the authorizer callback to disallow recursive queries. (check-in: 9efc120a user: drh tags: common-table-expr)
21:59
Tweaks to error message text. (check-in: 090a77d9 user: drh tags: common-table-expr)
21:02
Improve the error messages used to report illegal recursive cte references. (check-in: 54eee9fe user: dan tags: common-table-expr)
18:34
Allow only a single recursive reference in a recursive CTE. Also require that this reference is not part of a sub-query. (check-in: a296b733 user: dan tags: common-table-expr)
15:31
Always use available indices to optimize LIKE operators even if the pattern of the LIKE operator has a COLLATE modifier. This fixes an ineffiency that was introduced into 3.7.15 by check-in [8542e6180d4] on 2012-12-08. (check-in: 16bd5478 user: drh tags: trunk)
10:58
Disable the flattening optimization if the parent query is the recursive part of a recursive CTE and the sub-query is a compound query. (check-in: 6bfa387e user: dan tags: common-table-expr)
04:37
Merge trunk changes. Fix a possible NULL-pointer deference in WITH clause name resolution. (check-in: 7f953b56 user: drh tags: common-table-expr)
2014-01-15
20:10
Remove an ALWAYS() that is no longer always true. (check-in: c95823cd user: drh tags: common-table-expr)
19:42
Fixes so that SQLITE_OMIT_CTE builds work. (check-in: 3908e2ea user: dan tags: common-table-expr)
18:35
Further comments on WITH-clause processing routines in select.c. (check-in: c948384d user: drh tags: common-table-expr)
18:23
Add a header comment to the searchWith() routine. (check-in: d9ae0f5d user: drh tags: common-table-expr)
18:21
Disable automatic indices on recursive CTE references. (check-in: 28aa6db8 user: dan tags: common-table-expr)
18:12
When resolving names, consider a reference to a recursive CTE column as equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such. (check-in: 61be2da0 user: dan tags: common-table-expr)
15:27
Return an error if a CTE specifies a different number of columns than its SELECT statement returns. (check-in: 9a514b50 user: dan tags: common-table-expr)
14:40
Don't try to verify the schema of transient table (such as generated inside a WITH clause) when generating code for "IN table" operators. (check-in: 860aa936 user: drh tags: common-table-expr)
14:17
Disable the flattening optimization if the sub-query is a recursive CTE. (check-in: 9472f6d8 user: dan tags: common-table-expr)
02:40
Use the user-supplied table name in WITH RECURSIVE tables as the internal name of the table and the name of the table in VDBE comments. (check-in: a2933023 user: drh tags: common-table-expr)
2014-01-14
20:14
Add code to handle recursive CTEs. (check-in: a5c2a54a user: dan tags: common-table-expr)
10:17
Fix harmless compiler warning in LEMON. (check-in: f61a7058 user: mistachkin tags: trunk)
10:17
For the Win32 VFS, defining winShmMutexHeld should be controlled by NDEBUG, not SQLITE_DEBUG. (check-in: 1e131094 user: mistachkin tags: trunk)
2014-01-13
20:38
In the command-line shell, defend against a NULL-pointer dereference in the case where sqlite3_column_name() returns NULL (as might happen following an OOM error). (check-in: ac15455a user: drh tags: trunk)
20:32
For statements of just an unadorned VALUES clause, assign column names as "columnN" for increasing whole numbers N. (check-in: 260587d2 user: drh tags: trunk)
16:36
Fix some memory leaks and crashes that could follow an OOM condition during WITH clause parsing. (check-in: 8839850c user: dan tags: common-table-expr)
15:12
Add code to handle non-recursive CTEs in the same way as SQL views. (check-in: a26f399b user: dan tags: common-table-expr)
2014-01-11
19:19
Update the parser so that sub-queries and CTEs may have WITH clauses. (check-in: 704d3931 user: dan tags: common-table-expr)
13:22
Parse common table expressions. But do not do anything with them (yet). (check-in: da98b720 user: drh tags: common-table-expr)
12:52
In LEMON, limit the size of the grammar file to 100MB. This ensures that the program will never experience integer overflow. To be doubly sure, use calloc() instead of malloc() when allocating arrays. (check-in: 29ba458d user: drh tags: trunk)
03:54
Optimizations to the SQL language grammar that result in a small size reduction and speed increase. (check-in: cb5d1f83 user: drh tags: trunk)
03:27
Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. (Aside: It is this change to avoid harmless compiler warnings that was the cause of the reason spat of bugs.) (check-in: 8eb48c04 user: drh tags: trunk)
03:06
In LEMON, fix a bug in the text formatter introduced by the previous commit. Also add the new "%token_class" directive for defining symbolic names that stand any one of a collection of tokens. (Closed-Leaf check-in: da7890ca user: drh tags: lemon-updates)
2014-01-10
23:21
Do not use sprintf(), strcpy() or strcat() in the implementation of the lemon parser generator tool, to avoid compiler warnings in OpenBSD. (check-in: e43c522d user: drh tags: lemon-updates)
20:51
Remove unused structure definition from parse.y. (check-in: 7f1e7ae3 user: drh tags: trunk)
20:46
Allow a VALUES clause to be used any place that a SELECT statement can be used. (check-in: c9ea7d19 user: drh tags: trunk)
20:38
Fix CREATE TABLE ... AS so that it works with column names that are empty strings. (check-in: 632045f2 user: drh tags: trunk)
16:40
Fix another harmless compiler warning in unixUnfetch(). (check-in: 0484549b user: dan tags: trunk)
2014-01-09
13:39
Fix harmless compiler warning in unixUnfetch(). (check-in: 618f248f user: drh tags: trunk)
2014-01-04
20:00
Fix an typo that breaks the build when SQLITE_ENABLE_TREE_EXPLAIN is defined. (check-in: f461e2b3 user: drh tags: trunk)
19:58
Add the usual "fts3" prefix to new static method setEstimatedRows() in fts3.c. This fixes a problem when compiling the amalgamation, as the r-tree module also contains a static method named setEstimatedRows. (check-in: d6fcfc88 user: dan tags: trunk)
19:27
Avoid redundant register loads during index key generation when doing a DELETE or INTEGRITY_CHECK on a table with multiple indices. (check-in: 8f6e6149 user: drh tags: trunk)
16:49
Omit OP_Close operations that occur immediately prior to OP_Halt and which cannot be jumped over. (check-in: 874b7e99 user: drh tags: trunk)
15:17
Improvements to the column-cache for nested AND/OR operators. (check-in: 4e725f53 user: drh tags: trunk)
14:46
Have FTS assign extremely high costs to plans that feature unusable MATCH constraints. This discourages the planner from choosing such plans, which lead to "unable to use function MATCH in the requested context" errors. (check-in: fa8be488 user: dan tags: trunk)
14:42
Instead of having the planner ignore plans with unusable MATCH constraints, have FTS assign extremely high costs to such plans in order to discourage the planner from using them. (Closed-Leaf check-in: 24f84b38 user: dan tags: avoid-unusable-match)
14:16
Have the planner detect cases where a MATCH constraint is applied to a virtual table, and ignore any plans that do not allow the virtual table implementation to implement the MATCH filtering. (check-in: 19f3208b user: dan tags: avoid-unusable-match)
2014-01-03
16:03
Avoid some unnecessary OP_SCopy operations when inserting into a table with multiple indices. (check-in: 429018b1 user: drh tags: trunk)
2014-01-02
21:05
Try to factor constant subcomponents of the WHERE clause out of the loop. (check-in: 9d05777f user: drh tags: trunk)
19:35
Avoid unnecessary affinity transformations when building indices using data from a table. (check-in: 10d85135 user: drh tags: trunk)
17:57
Be more aggressive in optimizing constant conditional expressions. (check-in: b7e39851 user: drh tags: trunk)
2014-01-01
15:18
Try to detect process ID changes due to fork() calls in os_unix.c and reset the PRNG when a process ID change is detected. (check-in: e1eba1fb user: drh tags: trunk)
14:00
Enhance sqlite3_randomness(N,P) such that it resets the internal PRNG if N is less than 1. Subsequent calls to sqlite3_randomness() will reinitialize the internal PRNG by calling the xRandomness() method of the default VFS. (check-in: a221aa82 user: drh tags: trunk)
2013-12-24
12:04
Add -I. to the main.mk makefile for building sqlite3.o and speedtest1. (check-in: cc72c5ae user: drh tags: trunk)
2013-12-23
19:09
Move elements of the Vdbe object that are only used during statement preparation out into the Parse object. (check-in: c289a253 user: drh tags: trunk)
11:33
Remove a stray tab character. (check-in: 25b8a1c9 user: drh tags: trunk)
2013-12-22
22:45
Remove a condition that is always in the logic that handles reading default values for columns. (check-in: 895af097 user: drh tags: trunk)
20:44
Make sure the WhereLoop.aLTerm[] array is large enough when processing the skip-scan optimization. Fix for ticket [520070ec7fbaac]. (check-in: 46d04059 user: drh tags: trunk)
2013-12-21
17:14
Fix speedtest1.c so that in --explain mode it only outputs non-explain text for DDL statements. (check-in: 2d2b3c49 user: drh tags: trunk)
17:07
Avoid compiler warnings by only enabling sqlite3ErrName() when SQLITE_TEST is defined. (check-in: 862228e5 user: drh tags: trunk)
16:06
Fix harmless compiler warnings in FTS4. This involved corrupting Martin Porter's beautifully written and elegant stemmer code, making it a little less beautiful and a little less elegant. Today is a sad day. But the warnings from GCC grow increasingly verbose and irksome with each new release and so something had to be done. (check-in: df056798 user: drh tags: trunk)
15:46
Fix the ".echo on" dot-command of the shell so that it echos comments in addition to SQL statements and dot-commands. Add the --explain option to speedtest1 so that the output can be piped into the command-line shell to show nicely-formated VDBE code for the entire test. (check-in: 96397263 user: drh tags: trunk)
00:04
Add a case to speedtest1.c that demonstrates the need to factor OP_Column operators out of inner loops. (check-in: 69a17336 user: drh tags: trunk)
2013-12-20
18:57
Fix compiler harmless warnings in tclsqlite.c that appeared with GCC 4.8.x. (check-in: d93ae683 user: drh tags: trunk)
18:44
Code simplification in sqlite3GenerateIndexKey() by making use of a subroutine found over in expr.c. (check-in: 0026d335 user: drh tags: trunk)
15:59
Combine adjacent single-register OP_Copy instructions into a single multi-register OP_Copy, where possible. Fix the Synopsis comment for multi-register OP_Copy instructions to show the correct register ranges. (check-in: 2ae22dc0 user: drh tags: trunk)
14:48
Allow any arbitrary expression as the filename in an ATTACH statement, including functions and subqueries. (check-in: df70a1f3 user: drh tags: trunk)
13:11
Simplify the accumulator reset for aggregate query processing so that it uses a single multi-register OP_Null rather than a separate OP_Null for each register. (check-in: 2c7fd9b0 user: drh tags: trunk)
2013-12-19
17:04
Do not inject OOM faults into SQLITE_FCNTL_COMMIT_PHASE_TWO file-control invocations. It causes problems for test scripts. (check-in: 8eb28d23 user: dan tags: trunk)
16:26
Make sure errors encountered while initializing extensions such as FTS4 get reported out from sqlite3_open(). This fixes a bug introduced by check-in [9d347f547e7ba9]. Also remove lots of forgotten "breakpoint" commands left in test scripts over the years. (check-in: ca3fdfd4 user: drh tags: trunk)
14:34
Remove an unneeded column-cache flush in aggregate SELECT and an unreachable branch in the INSERT logic. (check-in: ffa092e1 user: drh tags: trunk)
02:56
Omit an unnecessary OP_Null opcode from UPDATE. (check-in: 72d11133 user: drh tags: trunk)
02:23
Omit one or more pointless instructions that occur in between OP_NoConflict and OP_Halt. (check-in: 61e2f357 user: drh tags: trunk)
2013-12-18
18:44
Remove an unnecessary column-cache flush operation. Add code to trace the column cache when compiled with SQLITE_DEBUG and using PRAGMA vdbe_addoptrace=ON. (check-in: 58704ed1 user: drh tags: trunk)
16:27
Remove an unnecessary column-cache flush. Add another test case to the speedtest1.c program to accentuate the benefit of not flushing the cache at that point. (Closed-Leaf check-in: 97fdfc6b user: drh tags: column-cache-debug)
15:11
Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set. (check-in: 4c6a659c user: drh tags: column-cache-debug)
2013-12-17
16:32
Add evidence marks and additional test cases for the printf() SQL function. (check-in: 93121d30 user: drh tags: trunk)
16:10
Add the printf() SQL function. (check-in: a1bb62f9 user: drh tags: trunk)
15:58
Fix the formatting of %c in the printf() SQL function. (Closed-Leaf check-in: 3375571a user: drh tags: printf-sql-function)
15:03
Add the printf() SQL function. (check-in: 6db7052e user: drh tags: printf-sql-function)
2013-12-14
13:44
Allow the SQLITE_DETERMINISTIC flag to be ORed into the preferred text encoding of application-defined functions, to mark the function as deterministic. (check-in: 5716fc23 user: drh tags: trunk)
2013-12-13
20:45
Performance optimizations in the pager_write() routine of pager.c. (check-in: bc5febef user: drh tags: trunk)
19:48
Reduce the number of calls to the subjRequiresPage() routine inside of pager. (check-in: e50ff39a user: drh tags: trunk)
19:35
Create and use a new pager interface sqlite3PagerUnrefNotNull() that works just like sqlite3PagerUnref() but guarantees that its argument is not a NULL pointer. (check-in: e00f37e2 user: drh tags: trunk)
18:50
Enhance the pcache1PinPage() routine so that it called much less often and runs much faster in the cases when it is actually called. (check-in: a845779c user: drh tags: trunk)
16:42
Avoid unnecessary calls to sqlite3_free() from within sqlite3VXPrintf(). (check-in: e2a8b280 user: drh tags: trunk)
16:23
Simplication and optimization of error message handling. (check-in: 9d347f54 user: drh tags: trunk)
2013-12-11
15:47
Add the SQLITE_FCNTL_SYNC and SQLITE_FCNTL_COMMIT_PHASETWO file-controls and have the pager call them at appropriate times. This is needed in order to enable ZIPVFS to do multi-file atomic commits. (check-in: 552f94d5 user: drh tags: trunk)
14:17
Merge in the latest trunk changes. (Closed-Leaf check-in: 9ff4dfe1 user: drh tags: zipvfs-multifile-commit)
14:00
Fix a bug in the shell ".import" command: Do not end the field when an escaped double-quote occurs at the end of a CRNL line. (check-in: 5e239ecd user: drh tags: trunk)
12:02
Remove an unreachable conditional inserted by the previous check-in. (check-in: 3e1d55f0 user: drh tags: trunk)
11:03
Have the crash-test infrastructure code in test6.c read and write the 512-byte block containing the pending-byte lock as normal. Earlier versions did not access this part of the file in order to avoid triggering an assert in os_unix.c. But the assert() has since been removed. And not reading/writing this part of the file causes problems for multiplexor tests. (check-in: fdc3f3fa user: dan tags: zipvfs-multifile-commit)
11:00
Fix harmless compiler warnings. (check-in: a7e5fcd6 user: drh tags: trunk)
02:21
Fix harmless compiler warning. (check-in: 2525296d user: mistachkin tags: trunk)
00:59
Do not run the tool/vdbe-compress.tcl script that generates the vdbeExecUnion object that reduces the size of the sqlite3VdbeExec() stack frame unless the SQLITE_SMALL_STACK compile-time option is specified as on of the OPTS in the makefile. The vdbeExecUnion object gets in the way of C-compiler optimizer and results in slightly slower code. (check-in: 4d078147 user: drh tags: trunk)
2013-12-10
21:38
Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). (check-in: 079c04a5 user: drh tags: trunk)
20:53
In the OP_MakeRecord opcode, factor out affinity changes into separate loop, for a slight performance advantage. (check-in: 1c6ee9b8 user: drh tags: trunk)
19:49
Simplify and improve the performance of the sqlite3VdbeMemGrow() routine. (check-in: 48ecf187 user: drh tags: trunk)
17:34
Use SQLITE_FCNTL_SYNC instead of SQLITE_FCNTL_SYNC_OMITTED. Add documentation in for FCNTL_SYNC and FCNTL_COMMIT_PHASETWO. (check-in: 46231af9 user: dan tags: zipvfs-multifile-commit)
16:35
Merge changes from the trunk. (check-in: 3ee736a3 user: dan tags: zipvfs-multifile-commit)
16:27
Fix handling of errors returned by the SQLITE_FCNTL_OMIT_SYNCED file-control. (check-in: d9a5f44f user: dan tags: zipvfs-multifile-commit)
2013-12-09
23:17
Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. (check-in: 7277a769 user: drh tags: trunk)
21:48
Correct the VFS name as reported by the file control when explicitly using the 'win32-longpath' VFS. (check-in: c43b59da user: mistachkin tags: trunk)
21:06
Reduce the number of times that OP_Column calls sqlite3VdbeMemMakeWriteable(). (check-in: 6b518635 user: drh tags: trunk)
20:43
Simplify the sqlite3BtreeKeyFetch() and sqlite3BtreeDataFetch() interfaces to the storage engine. (check-in: bf975985 user: drh tags: trunk)
20:42
Modify the way some internal file-controls are invoked. In order to support multi-file transactions in the zipvfs extension. (check-in: 32fb1784 user: dan tags: zipvfs-multifile-commit)
19:25
Minor performance optimizations in pager.c. (check-in: ba9eef5f user: drh tags: trunk)
19:03
Performance optimizations for sqlite3VXPrintf(). (check-in: 9227ad48 user: drh tags: trunk)
12:24
Fix an incorrect test number in the output of the speedtest1.c program. No changes to the test algorithms. (check-in: fbfc075a user: drh tags: trunk)
03:07
Avoid unnecessary (no-op) calls to sqlite3DbFree() from sqlite3VdbeMemRelease(). (check-in: 2d6dd7c2 user: drh tags: trunk)
02:32
Use memmove() rather than a home-made copy loop in insertCell() too. (check-in: a3d796b1 user: drh tags: trunk)
01:58
Use memmove() rather than a home-made copy loop in dropCell() of btree.c, for a size reduction and performance improvement. (check-in: 78e17068 user: drh tags: trunk)
01:04
Avoid unnecessary no-op calls from getAndInitPage() to btreeInitPage() in the btree.c logic. (check-in: 81f5ae13 user: drh tags: trunk)
00:47
Use putVarint32() instead of putVarint() for a quantity that can never exceed 2GiB - 1. (check-in: 6996fb34 user: drh tags: trunk)
2013-12-08
23:33
Another simplification to the OP_MakeRecord opcode, making it slightly faster and very slightly smaller. (check-in: f2f5a3ce user: drh tags: trunk)
22:59
Avoid unnecessary calls to sqlite3VarintLen() from the OP_MakeRecord opcode. (check-in: 7a234fc3 user: drh tags: trunk)
19:54
Interchange two conditions in an "if" statment in sqlite3PagerAcquire() for very slight (0.06%) overall performance increase. (check-in: fbcc1a3e user: drh tags: trunk)
2013-12-07
17:01
Increase the version number to 3.8.3. (check-in: 23d00f22 user: drh tags: trunk)
16:56
At the start of each journaled write transaction, check to see if the database file has been moved, and if it has refuse to start the transaction, returning an SQLITE_READONLY_DBMOVED error code. Writing to a moved or renamed database is still allowed when journal_mode is OFF or MEMORY. (check-in: 369a23e0 user: drh tags: trunk)
16:45
Back out the new device capability. The determination of whether or not a file has moved is now done strictly using a file-control. (Closed-Leaf check-in: 9c59f5af user: drh tags: detect-moved-db)
12:29
Actually look at i-node numbers to determine whether or not the database file has moved. (check-in: 2b1884dc user: drh tags: detect-moved-db)
2013-12-06
23:25
Performance optimization to the moveToRoot() subroutine in btree.c. (check-in: b5842a70 user: drh tags: trunk)
22:45
Use memcmp() instead of the BINARY collating function where possible, for a performance boost. (check-in: c5a3a1af user: drh tags: trunk)
22:44
Remove some commented-out code from sqlite3BtreeMovetoUnpacked() to try to make it more readable. (check-in: 2d62d113 user: drh tags: trunk)
19:58
Add the SQLITE_READONLY_DBMOVED error code to the sqlite3ErrName() function. (check-in: 7789f801 user: mistachkin tags: detect-moved-db)
17:23
Only error out on a database file move when attempting to start a write transaction. Assume read transactions are still safe. And make the error SQLITE_READONLY_DBMOVED instead of SQLITE_IOERR_NODB. (check-in: 28348f2a user: drh tags: detect-moved-db)
15:37
Add code to detect if the database file is moved or deleted out from under SQLite and return an SQLITE_IOERR_NODB. (check-in: 8759a8e4 user: drh tags: detect-moved-db)
14:53
Version 3.8.2 (check-in: 27392118 user: dan tags: trunk, release, version-3.8.2)
2013-12-05
17:12
Fix harmless compiler warnings and improve the MSVC makefile. (check-in: c6325670 user: drh tags: trunk)
16:41
Fix two potential (and apparently harmless) shift overflows discovered by the -fcatch-undefined-behavior option of clang. (check-in: e19eead8 user: drh tags: trunk)
2013-12-03
23:33
Make use of the CC nmake macro even when cross-compiling (with MSVC). (Closed-Leaf check-in: aae7b30e user: mistachkin tags: memTests)
22:33
Fix harmless compiler warnings. (check-in: a12d214e user: mistachkin tags: memTests)
22:32
Add memory subsystem related defines to the compile-time options list. (check-in: 52a44146 user: mistachkin tags: memTests)
19:49
Remove a branch in STAT4 logic that is no longer reachable after the previous change. (check-in: eca7d3f1 user: drh tags: trunk)
19:16
Fix a possible (and probably harmless) uninitialized variable in STAT3/4. (check-in: 33ad4f91 user: drh tags: trunk)
18:26
Fix an alignment problem in the stat3/stat4 code affecting 32-bit platforms. (check-in: 14f9bc79 user: dan tags: trunk)
17:09
Fix a typo in fts3varint.test preventing the valgrind permutation test from running. (check-in: b654a4ec user: dan tags: trunk)
10:35
Modify test file conflict2.test so that it works with the "inmemory_journal" permutation. (check-in: e4164fd8 user: dan tags: trunk)
10:14
Remove an unnecessary branch from the UPDATE logic - one that was also unreachable except following an OOM on x64. (check-in: 72f97277 user: drh tags: trunk)
09:49
Add a "database_may_be_corrupt" directive to test file fuzz3.test. Reformat an assert() statement in vdbeaux.c to make its intent clearer. (check-in: 9d8a0e13 user: dan tags: trunk)
02:52
Change some unreachable test conditions to NEVER(). (check-in: 7d99858b user: drh tags: trunk)
00:11
Fix a harmless compiler warning on MacOS. (check-in: 74328de1 user: drh tags: trunk)
2013-12-02
21:25
Another #if SQLITE_VERSION_NUMBER macro in speedtest1.c for compatibility with older versions of SQLite. (check-in: bc8eacc7 user: drh tags: trunk)
01:24
Still more #if SQLITE_VERSION_NUMBER macros in test/speedtest1.c to enable compilation against older versions of SQLite. (check-in: 4b20cf42 user: drh tags: trunk)
2013-12-01
18:10
Add some #if SQLITE_VERSION_NUMBER macros to test/speedtest1.c in order to make it compatible with older versions of SQLite so that it can be used for historical speed comparisons. (check-in: a9e1627a user: drh tags: trunk)
01:18
Fix typos in the header comment on the sqlite3Atoi64() routine. (check-in: c85e0c54 user: drh tags: trunk)
2013-11-30
12:49
Detect a corrupt UnpackedRecord and return SQLITE_CORRUPT prior to calling sqlite3BtreeMovetoUnpacked(). (check-in: 55ec474d user: drh tags: trunk)
2013-11-29
15:39
Change the name of the CORRUPTIBLE macro to CORRUPT_DB. (check-in: f865be10 user: drh tags: trunk)
15:06
Add a new sqlite3_test_control() that indicates that database files are always well-formed. Use this during testing to enable assert() statements that prove conditions that are always true for well-formed databases. (check-in: 15e4f63d user: drh tags: trunk)
2013-11-28
19:28
Update a few test cases to account for the new error message formats. (check-in: 65a5bce3 user: dan tags: trunk)
14:14
Remove an assert() condition that may not be true if the database file is corrupt. Update a test case in corruptC.test. (check-in: 0bcf7551 user: dan tags: trunk)
06:17
Fix a test case in temptrigger.test so that it works in auto-vacuum mode. (check-in: c3b7a0e6 user: dan tags: trunk)
2013-11-27
21:07
Remove unnecessary local variables from sqlite3VdbeExec() in order to reduce stack-space requirements of that routine. (check-in: 81891288 user: drh tags: trunk)
19:17
Update documentation of sqlite3_column() for clarity. Update evidence marks on test cases. (check-in: ec2d47a1 user: drh tags: trunk)
18:00
Fix spelling typo in speedtest1.exe. (check-in: ae90300e user: mistachkin tags: trunk)
14:50
Fix some harmless compiler warnings in speedtest1.exe. (check-in: c75f561f user: drh tags: trunk)
13:48
Additional test cases for skip-scan. (check-in: ce70803f user: drh tags: trunk)
13:24
Make sure the colWidth array is correctly initialized in the ".explain" command of the shell. (check-in: ceebcdca user: drh tags: trunk)
04:22
Lower the threshold for using skip-scan from 50 to 18, based on experiments that show that 18 is the approximate break-even point for a variety of schemas. (check-in: 83c0bb99 user: drh tags: trunk)
04:00
Avoid using the GetVersionEx functions if they are considered deprecated. (check-in: afdca299 user: mistachkin tags: trunk)
03:01
Avoid using the GetVersionEx functions if they are considered deprecated. (Closed-Leaf check-in: 0ea9e472 user: mistachkin tags: vs2013)
01:23
Add additional test cases for skip-scan. (check-in: 1ae4915d user: drh tags: trunk)
00:45
Add additional test cases and requirements evidence marks for WITHOUT ROWID. (check-in: b408d788 user: drh tags: trunk)
2013-11-26
23:27
Make sure the update hook is not invoked for WITHOUT ROWID tables, as the documentation specifies. This bug was found while adding requirements marks, so a few extraneous requirements marks are included in this check-in. (check-in: 0978bac6 user: drh tags: trunk)
22:46
Add requirements test cases for determining when an expression is true and when it is false. (check-in: 838654e5 user: drh tags: trunk)
21:18
Changing the CAST behavior of REAL values actually changed a documented requirement. So we also have to change the requirement evidence text to match. (check-in: d84aa44e user: drh tags: trunk)
18:22
Reduce the amount of code used to implement OP_SeekGe and similar. (check-in: 8b12a15a user: dan tags: trunk)
16:51
Fix a possible NULL pointer deference in the wordcount test program. (check-in: 6f91dca0 user: drh tags: trunk)
16:48
Change tclsqlite3.c so that it never invokes ctype macros with signed character arguments. (check-in: c07caabf user: drh tags: trunk)
16:20
Do not try to run the atof1.test test script on ARM hardware which lacks the "long double" type. (check-in: fafca560 user: drh tags: trunk)
15:45
Change the REAL-to-INTEGER casting behavior so that if the REAL value is greater than 9223372036854775807.0 then it is cast to the latest possible integer, 9223372036854775807. This is sensible and the way most platforms work in hardware. The former behavior was that oversize REALs would be cast to the smallest possible integer, -9223372036854775808, which is the way Intel hardware works. (check-in: 6f53fc71 user: drh tags: trunk)
00:28
Better support for UTF-8 paths on Cygwin. (check-in: 9954327c user: mistachkin tags: trunk)
2013-11-25
23:42
Add SQLITE_CONFIG_WIN32_HEAPSIZE option to configure the maximum isolated heap size on Windows. (check-in: 914e6c9d user: mistachkin tags: trunk)
22:24
Change a while-loop into a do-loop in sqlite3VdbeRecordCompare() and add an assert() to verify that the do-loop really is appropriate. This gives about a 10% performance boost in that routine, or a 0.9% boost overall. (check-in: 011a6be4 user: drh tags: trunk)
21:49
Clarify docs for the SQLITE_CONFIG_WIN32_HEAPSIZE option. (Closed-Leaf check-in: 51e87607 user: mistachkin tags: winHeapSize)
21:41
Remove a NEVER() from a branch that is now reachable during OOM faults. (check-in: 18bdcb05 user: drh tags: trunk)
20:50
Optimizations to the sqlite3BtreeMovetoUnpacked() routine in storage engine making it about 17.8% faster, which in turn makes SQLite over 1.2% faster overall. (check-in: 032e8993 user: drh tags: trunk)
20:14
Return an SQLITE_CORRUPT error if the content size field of a table record extends off the end of a page. (Closed-Leaf check-in: b48c4e40 user: drh tags: btree-optimization)
17:38
Uses shifts rather than division for arithmetic on the cell indices, since those indices are always non-negative. (check-in: 5bf2a3fe user: drh tags: btree-optimization)
16:52
Optimize the skipping of the payload size field when doing a binary search for a rowid. (check-in: 55e5bfa2 user: drh tags: btree-optimization)
16:23
Arrange for sqlite3BtreeMovetoUnpacked() to always leave the cursor cell parse cache invalidated. This fixes issues with previous check-ins on this branch and also runs faster. (check-in: a7467560 user: drh tags: btree-optimization)
15:01
More optimizations to sqlite3BtreeMovetoUnpacked(). But there are failures in TH3. Committing this intermediate state to facilitate bisecting. (check-in: f80497be user: drh tags: btree-optimization)
14:10
More improvements to sqlite3BtreeMovetoUnpacked() performance. (check-in: 88680698 user: drh tags: btree-optimization)
02:38
Performance improvements in sqlite3BtreeMovetoUnpacked(). (check-in: d0fb7ace user: drh tags: btree-optimization)
2013-11-24
23:18
Better support for UTF-8 paths on Cygwin. (Closed-Leaf check-in: 484162b6 user: mistachkin tags: cygUtf8)
01:14
Add the --scratch parameter to speedtest1. Improved error messages when misconfiguring memory parameters in speedtest1. (check-in: 8f3c767a user: drh tags: trunk)
00:46
The MEMSYS5 algorithm does not have to return the block with the lowest address. Any block of the appropriate size will do. Use the first block found on the freelist for the appropriate size for a performance improvement. (check-in: 12e612e8 user: drh tags: trunk)
2013-11-23
22:45
A much simpler fix is to simply change MEMSYS5 so that it takes any free block of the appropriate size (the first on the list of free blocks) rather than searching for the one with the smallest address. This is also faster than using the min-heap algorithm. Need to research to verify that the allocator still satisfies the Robson proof, however. (Closed-Leaf check-in: 8191b512 user: drh tags: memsys5-performance)
21:29
Add newlines at the end of some error messages in speedtest1. (check-in: 6b98f0af user: drh tags: trunk)
11:45
Report errors from sqlite3_exec() and sqlite3_config() in speedtest1. Fix a bug in the main testing logic that was found by these error reports. (check-in: 659f1a98 user: drh tags: trunk)
04:32
Fix the order of parameters to SQLITE_CONFIG_PAGECACHE in the speedtest1.exe program. (check-in: dbe85ef6 user: drh tags: trunk)
04:22
Adjust MSVC makefile to avoid using forward slashes in file names. (check-in: facf6dea user: mistachkin tags: trunk)
04:16
Add the "speedtest1.exe" test program. (check-in: fb6f0c6d user: drh tags: trunk)
00:27
Add experimental sqlite3_config option to control the native Win32 heap size. (check-in: f09f11e9 user: mistachkin tags: winHeapSize)
2013-11-22
21:32
Fix harmless compiler warning. (check-in: f336c18f user: mistachkin tags: trunk)
00:49
Minor correction to the batch build tool for MSVC. (check-in: 22144c9d user: mistachkin tags: trunk)
2013-11-21
23:37
Fix a harmless clang warning in the command-line shell. (check-in: 3d47a556 user: drh tags: trunk)
22:02
Slight change to the --timer output on wordcount for better display on windows: Avoid showing the full pathname of the executable. (check-in: b9e047b9 user: drh tags: trunk)
21:59
Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. (check-in: 4e8c5d07 user: drh tags: trunk)
21:40
Modify wordcount so that timer information appears on standard error instead of standard output. Rename the run-wordcount.bash script to run-wordcount.sh and simplify it so that it stands a better chance of running on non-GNU systems. (check-in: 586c11ed user: drh tags: trunk)
21:23
Do not reuse factored constants that might have had their encodings changed. (check-in: 487f2036 user: drh tags: trunk)
20:48
Fix the code generator to honor turning off constant expression factoring. (check-in: 88262266 user: drh tags: trunk)
19:27
Add the --timer option to the wordcount test program. (check-in: a89fdf87 user: drh tags: trunk)
19:05
Remove a test from sqlite3VdbeMemFromBtree() which was unnecessary, and after the recent OP_Column refactoring, unreachable. (check-in: 23667f3b user: drh tags: trunk)
17:24
Make sure the OP_Next and OP_NextIfOpen opcodes are numbered close together for efficiency in switch() statements. OP_Prev and OP_PrevIfOpen too. (check-in: d4ccf0f5 user: drh tags: trunk)
16:08
When one or more arguments to a function are constants, try to factor out just those arguments into initialization code. (check-in: 50d350ab user: drh tags: trunk)
14:44
Remove the obsolete TK_CONST_FUNC token type. (check-in: 9b4217f0 user: drh tags: trunk)
14:33
Add the ability to factor constant functions out of inner loops. But do not factor out non-constant functions, like random(). (check-in: 1b0f779e user: drh tags: trunk)
04:18
Another improvement to OP_Function and an improvement to OP_Move. (check-in: 70b056fb user: drh tags: trunk)
03:43
A simple change to the OP_Function opcode improves overall performance by about 0.5%. (check-in: b890eefd user: drh tags: trunk)
03:12
Performance optimization to the OP_Next and OP_Prev opcodes. (check-in: ecaac28a user: drh tags: trunk)
01:33
Refactor the OP_Column opcode to make it clearer and easier to maintain. Overall, performance tests show about a 1% speed increase with this change. (check-in: 972881c6 user: drh tags: trunk)
01:04
Reduce the size of VdbeCursor again, this time without a performance hit. (Closed-Leaf check-in: 93393993 user: drh tags: OP_Column-refactor)
00:10
Unpack some fields, adding some space back to the VdbeCursor object, in order to help the code to run a little faster. (check-in: f8d5efcd user: drh tags: OP_Column-refactor)
2013-11-20
21:51
Reduce the size of the VdbeCursor object from 144 to 120 bytes. (check-in: 5f9d5068 user: drh tags: OP_Column-refactor)
20:58
Improved comments on the OP_Column changes. Optimize out loading of overflow pages for content with zero length. Add test cases for the latter. (check-in: 0e05679d user: drh tags: OP_Column-refactor)
19:28
Further performance tweaks to OP_Column. (check-in: 0e3f5df6 user: drh tags: OP_Column-refactor)
17:25
Refactoring the OP_Column opcode for improved performance and maintainability. (check-in: 7c914e39 user: drh tags: OP_Column-refactor)
02:53
Simplifications to the VdbeCursor object. (check-in: 5562cd34 user: drh tags: trunk)
00:59
Performance improvement for the OP_MustBeInt opcode in the VDBE. (check-in: 96a65388 user: drh tags: trunk)
2013-11-19
18:17
Fix a harmless MSVC compiler warning. (check-in: 6cc023bb user: drh tags: trunk)
13:55
Minor performance improvement to sqlite3SerialTypeGet(). (check-in: 17e8524f user: drh tags: trunk)
12:33
Change Noop-comments in where.c into Module-comments, so that they are omitting without SQLITE_ENABLE_MODULE_COMMENTS. (check-in: 3e577f40 user: drh tags: trunk)
02:34
Avoid seeking on the main data table during the first loop of an UPDATE if an index is sufficient to check the WHERE clause. (check-in: 57158d9d user: drh tags: trunk)
00:31
Fix an requirement mark in a test script so that it matches the typo-corrected requirement. No changes to code. (check-in: 072412d5 user: drh tags: trunk)
2013-11-18
19:32
Add comments identifing where the skip-scan option is decided in the query planner, to aid in tuning that decision. No changes to code. (check-in: e9df04ce user: drh tags: trunk)
18:48
Fix documentation typos. No changes to code. (check-in: 7caeb09c user: drh tags: trunk)
11:20
Fix harmless compiler warnings from clang scan-build. (check-in: 8d002740 user: drh tags: trunk)
08:41
Fix a problem with the shell tool EXPLAIN indentation code and VDBE sub-programs. (check-in: 9c8d6856 user: dan tags: trunk)
03:11
Enable the ONEPASS optimization for DELETE, for both rowid and WITHOUT ROWID tables. (check-in: 44a07afd user: drh tags: trunk)
2013-11-17
02:42
Make sure one-pass DELETE for WITHOUT ROWID tables correctly positions the PRIMARY KEY cursor. Make the same fix for UPDATE. (Closed-Leaf check-in: 6bd5750b user: drh tags: optimize-delete)
2013-11-16
23:16
Fix a couple of minor problems with the new delete logic. (check-in: a11243f8 user: drh tags: optimize-delete)
23:03
Fix an OOM-recovery problem in the DELETE code generator. (check-in: dc7be158 user: drh tags: optimize-delete)
22:48
Combine the rowid and WITHOUT ROWID paths for DELETE into a single path. (check-in: c4734b88 user: drh tags: optimize-delete)
20:45
The one-pass optimization is now working for DELETE on WITHOUT ROWID tables. (check-in: e4d220a3 user: drh tags: optimize-delete)
20:13
Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED for rowid tables. (check-in: 8f479a72 user: drh tags: optimize-delete)
15:35
Fully constraint the ORDER BY on the top-10 line of the --summary output from the wordcount test program. Add the run-wordcount.bash script for running wordcount in various configurations. (check-in: 7edf39eb user: drh tags: trunk)
14:03
Avoid unnecessary OP_IfNull checks when doing a range query where there is a constraint on the lower bound of the range. (check-in: de08a7e7 user: drh tags: trunk)
13:55
Simplification and performance improvement to the logic that factors constant expressions ouf of inner loops. (check-in: ee9353fd user: drh tags: trunk)
12:56
Fix testcase misc7-16 so that it works with the new UNIQUE constraint error message format. (check-in: c7f2ed9f user: drh tags: trunk)
2013-11-15
20:06
Add ALWAYS and NEVER macros to currently unreachable but important branches in sqlite3ExprCompare(). (Closed-Leaf check-in: cee835fe user: drh tags: expr-codegen-enhancement)
19:00
Merge the operator comment fixes from trunk. (check-in: 9f14f55c user: drh tags: expr-codegen-enhancement)
18:58
Fix comments on the OP_Divide and OP_Remainder operators, especially the "Synopsis:" comment, so that they agree with the actual implementation. (check-in: cc17f1f0 user: drh tags: trunk)
18:15
Changes to make the new constant expression factoring logic more general and more testable. (check-in: d10fb49a user: drh tags: expr-codegen-enhancement)
16:48
Add test cases for INSERT INTO ... DEFAULT VALUES on tables with numeric constants in CHECK constraints. (check-in: 79ec485b user: drh tags: expr-codegen-enhancement)
15:52
Improvements to the Expr comparison routine to make it more general. Improvements to unary-minus code generation so that it can make use of a global constant register with a zero value. (check-in: 835be656 user: drh tags: expr-codegen-enhancement)
13:12
Add the --query option to the wordcount test program. (check-in: 5960d11e user: drh tags: trunk)
12:41
Simplify the range scan code generate while also avoiding an unnecessary OP_Affinity opcode. (check-in: 372686bf user: drh tags: expr-codegen-enhancement)
03:30
Merge EXPLAIN fixes from trunk. (check-in: cd579727 user: drh tags: expr-codegen-enhancement)
03:21
Fix a typo in the "synopsis" for the OP_Lt opcode that causes an incorrect comment to be added to EXPLAIN output. (check-in: d99a30a2 user: drh tags: trunk)
03:16
Another adjustment to the EXPLAIN indentation logic, in order to deal with the sorter loop on a CREATE INDEX statement. (check-in: cbe85cc2 user: drh tags: trunk)
01:10
Rework the logic that factors constant expressions out of inner loops, making it both simpler and faster. (check-in: 8dc5c76c user: drh tags: expr-codegen-enhancement)
2013-11-14
23:59
Adjust the command-line shell EXPLAIN indentation logic to handle the second loop of an UPDATE that reads out a RowSet. (check-in: ea141a9b user: drh tags: trunk)
19:34
Remove an unused local variable. (check-in: 10d59226 user: drh tags: trunk)
00:09
Simplification to the progress callback check. One branch removed. (check-in: 24ef1654 user: drh tags: trunk)
2013-11-13
23:48
Make sure the progress callback is invoked prior to an SQLITE_ROW return if it is overdue to be called. (check-in: 21f59b04 user: drh tags: trunk)
20:46
Merge the skip-scan enhancement into trunk. (check-in: b0bb975c user: drh tags: trunk)
19:01
Import the "PRAGMA vdbe_eqp" enhancement and the enhanced EXPLAIN formatting the shell from trunk. Fix a bug in skip-scan and add a test case to prevent a regression. (Closed-Leaf check-in: f668616a user: drh tags: skip-scan)
18:35
In the shell tool, if an "EXPLAIN" command is executed in ".explain on" mode, attempt to automatically indent the bodies of loops in the output VDBE program. (check-in: e7d34ec6 user: dan tags: trunk)
17:58
Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify some of the other debugging logic. (check-in: 8ce33f4c user: drh tags: trunk)
17:24
Add VDBE comments to the beginning and end of skip-scan loops. (check-in: 0c85d93b user: drh tags: skip-scan)
16:58
Improve the way that skip-scan loops are constructued. Add test cases. Improved the scoring of skip-scan loops. (check-in: 5e75ab93 user: drh tags: skip-scan)
15:32
Add test cases for skip-scan. Enhance "do_test" so that if the expected result is of the form "/*..*/" or "~/*..*/" it treats the expected result as a glob pattern rather than as a regular expression. Fix a bug in ANALYZE result loading associated with WITHOUT ROWID tables. (check-in: d3e6e9b2 user: drh tags: skip-scan)
12:27
Add the ability to use an index even if the left-most columns of the index are unconstrainted, provided that the left-most columns have few distinct values. (check-in: 27dd5993 user: drh tags: skip-scan)
08:55
Avoid an unnecessary OP_IfNull while doing an indexed search. (check-in: 51960009 user: drh tags: trunk)
2013-11-12
21:37
Adjust the SQLITE_MALLOCSIZE defines, primarily to make sure _msize gets used with MSVC when appropriate. (check-in: 4e7e805e user: mistachkin tags: trunk)
21:10
Fix harmless compiler warning. (check-in: ddacd101 user: mistachkin tags: trunk)
20:18
Minor enhancements to the auxiliary information added to EXPLAIN output with SQLITE_EXPLAIN_ENABLE_COMMENTS. (check-in: 0d1328e3 user: drh tags: trunk)
18:37
Break out the structure and macro definitions of where.c into a separate header file whereInt.h for easier editing and debugging. (check-in: c4446712 user: drh tags: trunk)
17:46
When possible, have FTS use 32-bit operations to read varints from the database. (check-in: aa7ba302 user: dan tags: trunk)
15:33
A better (simpler) fix to the count(*) problem addressed in the previous check-in. (check-in: 0f924c6e user: drh tags: trunk)
14:55
Make sure the count(*) optimization works correctly on WITHOUT ROWID tables. (check-in: 91174779 user: drh tags: trunk)
12:30
Update test command [explain_i] to handle the opcodes used by virtual tables (VNext, VFilter etc.). (check-in: 1b215ee3 user: dan tags: trunk)
12:17
Fix for [4065ac8595]: Do not order CROSS or LEFT joins, even if the right-hand-side is a virtual table. (check-in: e2684ece user: dan tags: trunk)
01:11
Fix an error message in the spellfix extension so that it conforms to the style of error messages in the core. (check-in: b896ae3d user: drh tags: trunk)
2013-11-11
23:26
Add a comment to the sqlite3_index_info structure indicating that the new field is only available in SQLite 3.8.2 or later. (check-in: 239648f8 user: drh tags: trunk)
19:56
Fix typos in compile and run-time tests of the sqlite library version number in rtree.c. (check-in: f58d5701 user: dan tags: trunk)
19:01
Add a way for virtual tables to return the expected number of rows for a scan (not just the overall cost) to SQLite. Have the rtree module make use of this. (check-in: 5a3cfd74 user: dan tags: trunk)
16:55
Remove unreachable code, replacing it in most cases with assert() or NEVER() macros. (check-in: 924d63b2 user: drh tags: trunk)
03:37
Fix issue with several memory allocation tests due to KeyInfo allocations now being shared. (check-in: 569fedd6 user: mistachkin tags: trunk)
03:24
Convert several ALWAYS() macros in vdbe.c into assert() statements. (check-in: acc40ff6 user: drh tags: trunk)
02:46
Fix several harmless compiler warnings. (check-in: e6ff492f user: mistachkin tags: trunk)
01:42
Modify a HeapValidate assert in the Win32 native allocator. (check-in: aaed7d1d user: mistachkin tags: trunk)
00:43
Fix a problem in OP_IdxDelete as used by REPLACE conflict resolution that comes up due to recent enhancements that reduce the work required for UNIQUE NOT NULL indices. (check-in: 61d7d475 user: drh tags: trunk)
2013-11-10
00:03
Fix typo in comment and remove superfluous blank line. No changes to code. (check-in: 023233f1 user: mistachkin tags: trunk)
2013-11-09
23:55
Fix compilation errors with some compilers that do not reference recent Windows SDK header files. (check-in: a5805976 user: mistachkin tags: trunk)
23:44
Fix memory type mismatch when compiled with MEMDEBUG. (check-in: 2c32bd6d user: mistachkin tags: trunk)
22:08
Add the sqlite3_win32_compact_heap() function for cleaning up memory allocations on Win32 system. Also cleanup the winGetTempname() function. Changes to the Win32 VFS only. (check-in: d06d9fdb user: drh tags: trunk)
21:19
Updates to documentation on sqlite3_last_insert_rowid(). No changes to code. (check-in: a4c5804e user: drh tags: trunk)
21:11
Use the UNICODE_STRING_MAX_CHARS constant from WinNT.h. (Closed-Leaf check-in: 3fefe4dd user: mistachkin tags: win32heap)
21:10
Furhter cleanup of the winGetTempname function. (check-in: 674de36b user: mistachkin tags: win32heap)
19:47
Updates to requirements marks. No changes to code. (check-in: 8a036628 user: drh tags: trunk)
18:15
Throw an error if AUTOINCREMENT appears in a WITHOUT ROWID table. Updates to API documentation to discuss WITHOUT ROWID. (check-in: b1abb2b0 user: drh tags: trunk)
2013-11-08
20:10
Add more assert() statements and fix compilation issues when the Win32 native heap is not enabled. (check-in: fbf8c382 user: mistachkin tags: win32heap)
19:51
Disable use of HeapCompact on Windows CE as it is not available on all versions. (check-in: e9694b87 user: mistachkin tags: win32heap)
18:52
Adjust the winMemInit return code handling used when resetting the Win32 native heap. (check-in: 37853665 user: mistachkin tags: win32heap)
18:37
Minor corrections to logging for sqlite3_win32_compact_heap(). (check-in: 71347d02 user: mistachkin tags: win32heap)
18:13
Enhancements to the Win32 native heap integration. (check-in: c54dc967 user: mistachkin tags: win32heap)
17:13
Fix harmless compiler warnings. (check-in: 0077c077 user: drh tags: trunk)
17:03
Merge the Cygwin directory separator fix. Also fix a C++-ism in the multiplexor code so that it will compile on MSVC. (check-in: 830629d3 user: drh tags: trunk)
16:54
Performance improvement: Avoid unnecessary seeks on REPLACE INTO for a WITHOUT ROWID table. (check-in: fd11afa5 user: drh tags: trunk)
15:19
Performance improvements: Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID table. (check-in: 6f187a0f user: drh tags: trunk)
12:14
Merge change to drop the mutex on the multiplexor before entering the xRead VFS call, in order to enhance parallelizability. (check-in: 3c566e41 user: drh tags: trunk)
01:09
Optimize out a NotExists/NotFound opcode that occurs in UPDATE processing after constraint checks if there is no possiblity that the constraint checking code might have moved the cursor. (check-in: 74e3ee2e user: drh tags: trunk)
00:16
On the --summary output of wordcount, add the a PRAGMA integrity_check and a 64-bit checksum of the entire table. (check-in: 1d1d13b8 user: drh tags: trunk)
2013-11-07
23:23
Add many new options to the wordcount test program: --delete, --pagesize, --cachesize, --commit, --nosync, and --journal. (check-in: e938112d user: drh tags: trunk)
22:11
Fix temporary directory separator handling for Cygwin. (Closed-Leaf check-in: 9d870d5f user: mistachkin tags: cygDirSep)
21:32
Fix a compiler warning introduced by the previous check-in. (check-in: 404bd98f user: drh tags: trunk)
21:25
Enable the WHERE_ONEPASS_DESIRED optimization for UPDATE operations on WITHOUT ROWID tables. (check-in: 21530798 user: drh tags: trunk)
19:43
Add the --stats and --summary options to the wordcount.c test program. (check-in: 8aa21e67 user: drh tags: trunk)
18:40
Increase the version number to 3.8.2. (check-in: 9ad5b74c user: drh tags: trunk)
18:37
Add the "wordcount.c" test program. (check-in: f02ee546 user: drh tags: trunk)
16:08
Add support for WITHOUT ROWID tables. This change also includes (1) standardization of the error message returned from run-time constraint errors, (2) improved EXPLAIN comments, (3) the SQLITE_ENABLE_EXPLAIN_COMMENTS option, (4) the SQLITE_ENABLE_MODULE_COMMENTS option, and (5) a bug fix (see [573cc27427]) in the handling of REPLACE on the rowid when secondary indices use FAIL or IGNORE. (check-in: c80e229d user: drh tags: trunk)
14:09
Make sure cached KeyInfo objects are only valid for a single database connection. Clear all cached KeyInfo objects on any collating sequence change. (Closed-Leaf check-in: 55eea178 user: drh tags: omit-rowid)
2013-11-06
19:59
Reference count the KeyInfo object. Cache a copy of an appropriate KeyInfo for each index in the Index object, and reuse that one copy as much as possible. (check-in: defd5205 user: drh tags: omit-rowid)
16:28
Have the OP_NoConflict opcode set the VdbeCursor.seekResult variable. This speeds up subsequent OP_Insert and OP_IdxInsert opcodes. (check-in: 47455500 user: dan tags: omit-rowid)
14:52
Use ansi escape codes to use different colored text for opcode names in the output of [explain_i]: Red for opcodes that insert or delete b-tree elements, blue for opcodes that move cursors and green for the ResultRow opcode. (check-in: 4be2b64b user: dan tags: omit-rowid)
14:36
Allocate extra stack space for UnpackedRecord objects, reducing the need to malloc for them as often, and thereby get a performance improvement. (check-in: a725a75f user: drh tags: omit-rowid)
14:05
Minor optimization to the OP_Halt opcode. (check-in: d70c7881 user: drh tags: omit-rowid)
12:56
Improved ORDER BY optimization for WITHOUT ROWID tables. (check-in: 8f1709ff user: drh tags: omit-rowid)
12:05
Disable the OR optimization for WITHOUT ROWID tables, since it relies on the use of rowids. (check-in: 6055dad2 user: drh tags: omit-rowid)
11:46
Remove an incorrect test case from conflict2.test. (check-in: 427612ef user: drh tags: omit-rowid)
02:36
Remove an unused variable. (check-in: e9c1e419 user: drh tags: omit-rowid)
2013-11-05
22:39
Make sure the query planner knows that the PRIMARY KEY index of a WITHOUT ROWID table is always a covering index. (check-in: 03e7019e user: drh tags: omit-rowid)
19:41
Fix conflict handling for the case when the rowid uses REPLACE but other unique constraints use FAIL or IGNORE. (check-in: 573cc274 user: drh tags: omit-rowid)
17:30
Fix a bug in secondary index initialization when the secondary index is a superset of the PRIMARY KEY for a WITHOUT ROWID table. (check-in: 52a3d885 user: drh tags: omit-rowid)
16:56
Remove an "explain" command from test script without_rowid1.test that was accidentally committed. (check-in: 4b41d989 user: dan tags: omit-rowid)
16:39
Unless the destination table is completely empty, disable the xfer optimization for WITHOUT ROWID tables. (check-in: 3877c9f5 user: dan tags: omit-rowid)
15:02
Updates to the backcompat.test test script so that it works with really old (3.6.*) versions. (check-in: ace7e7b6 user: dan tags: omit-rowid)
14:19
Add tests for updates of without-rowid tables that use non-BINARY collation sequences for the primary key columns. And a minor bugfix to the same. (check-in: 99b1fa4b user: dan tags: omit-rowid)
13:33
Standardize the error messages generated by constraint failures to a format of "$TYPE constraint failed: $DETAIL". This involves many changes to the expected output of test cases. (check-in: 54b22192 user: drh tags: omit-rowid)
01:59
Add the conflict2.test script. Fix issues discovered by this script. (check-in: 294ed337 user: drh tags: omit-rowid)
2013-11-04
22:04
Add the index7.test script for testing partial indices with WITHOUT ROWID tables. Fix bugs in ANALYZE located by that script. (check-in: 79befe3a user: drh tags: omit-rowid)
21:44
Bug fixes in the INSERT constraint checker. Refactor the Rowid handling logic for ANALYZE with STAT3/4. (check-in: 1ea43c0f user: drh tags: omit-rowid)
18:34
Add another test case file for WITHOUT ROWID and fix the bugs that the new test file uncovered. (check-in: bc2a06eb user: drh tags: omit-rowid)
17:00
Fix a problem with processing INTEGER PRIMARY KEY on a WITHOUT ROWID table. (check-in: 89098e6d user: drh tags: omit-rowid)
15:23
Correctly handle changing counting when inserting and deleting on WITHOUT ROWID tables. Add more FOREIGN KEY test cases. (check-in: d072bcd0 user: drh tags: omit-rowid)
13:56
Correctly handle self-referential foreign keys on WITHOUT ROWID tables. (check-in: af128862 user: drh tags: omit-rowid)
08:56
Fix a bug preventing FTS from correctly processing bracket tokens that are immediately preceded by characters that are neither whitespace or token characters. (check-in: 49be646c user: dan tags: trunk)
2013-11-03
02:27
Improved comments on foreign key logic. (check-in: 1315d910 user: drh tags: omit-rowid)
2013-11-02
22:29
Improved Synopsis on register comparison operators. Fix a bug on the constraint check generator. (check-in: a7a18b65 user: drh tags: omit-rowid)
22:09
Many new test cases added, that mostly work. Currently 18 errors in without_rowid3.test. Also there is a hack marked by a /*FIXME*/ comment on at fkey.c:547 that needs fixing. (check-in: 39e32187 user: drh tags: omit-rowid)
19:34
Change the "idx" name of the primary key index for WITHOUT ROWID tables in sqlite_statN statistics tables to be the name of the table rather than the fabricated index name (ex: sqlite_autoindex_xyz_1). This makes it consistent with sqlite_master table. (check-in: 4ee4d310 user: drh tags: omit-rowid)
18:46
Update the ANALYZE logic so that it works with WITHOUT ROWID tables. (check-in: 9075770e user: drh tags: omit-rowid)
14:37
Store the root page of the PRIMARY KEY index for a WITHOUT ROWID table in the sqlite_master entry for the main table and omit the sqlite_master entry for the PRIMARY KEY. (check-in: b7544bb2 user: drh tags: omit-rowid)
11:43
Import the sqlite3_analyzer fixes from trunk. (check-in: ac711459 user: drh tags: omit-rowid)
11:34
A pair of sqlite3_analyzer bug fixes: (1) quote strings in the SQL at the end of the output. (2) Fix test_stat.c so that it no longer misses some overflow pages on internal index pages. (check-in: 42a11e74 user: drh tags: trunk)
2013-11-01
22:02
Size KeyInfo objects so that IdxInserts always compare the correct number of fields. (check-in: 302a8139 user: drh tags: omit-rowid)
20:30
Fix sqlite3_analyzer so that it works with WITHOUT ROWID tables. Fix index generation for secondary indices that include fields from the PRIMARY KEY. (check-in: f9769d70 user: drh tags: omit-rowid)
18:14
Additional UPDATE test cases for WITHOUT ROWID. (check-in: 65384ae0 user: drh tags: omit-rowid)
17:59
Fix an invalid cast operation in the WITHOUT ROWID parsing logic. (check-in: 845153be user: drh tags: omit-rowid)
17:21
Merge all changes from trunk, and disable a pair of corruption tests that are no longer valid since sqlite_master.rootpage can now be NULL for tables. (check-in: dd5d57b9 user: drh tags: omit-rowid)
17:08
Change the interface to sqlite3GenerateConstraintChecks() for improved lucidity and to fix issues in dealing with UPDATEs for WITHOUT ROWID tables. Make sure iDataCur and iIdxCur are initialized when processing DELETEs of a VIEW. UPDATE processing distinguishes between changes to ROWID and PRIMARY KEY. (check-in: c525ac56 user: drh tags: omit-rowid)
14:03
Improved VDBE comments on the constraint checker. Fix a missing write lock in the UPDATE logic. (check-in: 3bed599e user: drh tags: omit-rowid)
12:42
Some UPDATE statements now working in WITHOUT ROWID tables. (check-in: 5c0eaea6 user: drh tags: omit-rowid)
01:45
A couple of bug fixes. (check-in: cdf00248 user: drh tags: omit-rowid)
2013-10-31
20:34
Fix the Synopsis on OP_Concat. Added test_addop_breakpoint() during SQLITE_DEBUG. Enhanced sqlite3VdbeChangeToNoop() to omit the instruction if it is the most recent added. Continue to fix problems with UPDATE and WITHOUT ROWID. (check-in: 9b6d9e10 user: drh tags: omit-rowid)
18:49
Fix a problem in os_unix.c causing compilation failure if SQLITE_DEBUG and SQLITE_MAX_MMAP_SIZE=0 are both defined. (check-in: 090db8c8 user: dan tags: trunk)
17:38
Fix issues with quering from an auxiliary index that must refer back to the PRIMARY KEY index of a WITHOUT ROWID table. (check-in: cff1f55c user: drh tags: omit-rowid)
15:37
Improved comments and variable names in infrastructure routines of UPDATE, DELETE, and INSERT. (check-in: ad90e762 user: drh tags: omit-rowid)
12:13
Moving UPDATE towards the iDataCur/iIdxCur representation. Still not working for WITHOUT ROWID, though. (check-in: deacbd21 user: drh tags: omit-rowid)
11:15
Refactor the INSERT, DELETE, and UPDATE code generators to distinguish between the "data cursor" and the "first index cursor", which are no longer consecutive in the case of a WITHOUT ROWID table. (check-in: 1adfca60 user: drh tags: omit-rowid)
06:39
Update comments in the MSVC batch build tool. (check-in: 0414bb73 user: mistachkin tags: trunk)
06:13
Enable some more tests on Windows. (check-in: 72389c29 user: mistachkin tags: trunk)
06:11
Fix harmless compiler warnings. (check-in: 1a0a8865 user: mistachkin tags: trunk)
2013-10-30
20:22
Continue working to get UPDATE operational for WITHOUT ROWID tables. Fix PRAGMA integrity_check so that it works on WITHOUT ROWID tables. (check-in: 0d4fea74 user: drh tags: omit-rowid)
15:52
Make sure KeyInfo objects on multi-column indices of WITHOUT ROWID tables have the correct nField and nXField values. Also, add the SQLITE_ENABLE_MODULE_COMMENT compile-time option and the VdbeModuleComment() macro and use it to label entry and exit points of some key routines. (check-in: 6d9af606 user: drh tags: omit-rowid)
13:46
In the P4 column of the EXPLAIN listing, abbreviate "keyinfo" as just "k" and "BINARY" as just "B". (check-in: 72d45eb7 user: drh tags: omit-rowid)
12:43
Enhance the timer in the shell to show wall-clock time in addition to user and kernel CPU time. (check-in: 908e2c21 user: drh tags: trunk)
03:25
Add the "Esri Spatially-Enabled Database" file format to the magic.txt file. (check-in: 8530a18f user: drh tags: trunk)
02:37
Merge EXPLAIN enhancements from trunk. (check-in: 2fcac056 user: drh tags: omit-rowid)
02:28
Add the SQLITE_ENABLE_EXPLAIN_COMMENTS compile-time option to enable extra commentary in the EXPLAIN output. Formerly, this was only available with SQLITE_DEBUG. (check-in: e1a89b56 user: drh tags: trunk)
00:25
Enhanced display of register ranges in the auxiliary comments added to EXPLAIN. (check-in: d6b0c392 user: drh tags: trunk)
2013-10-29
20:47
Import the automatic comment generating changes from trunk. (check-in: 8bb51da1 user: drh tags: omit-rowid)
20:40
Automatically generated comments on many VDBE opcodes when in SQLITE_DEBUG mode. Comments derive from the "Synopsis:" field added to each opcode definition in vdbe.c. (check-in: 5f310c6a user: drh tags: trunk)
16:14
Improved comments on the constraint checking logic. (check-in: 141a38a7 user: drh tags: omit-rowid)
2013-10-28
22:39
Merge recent fixes from trunk. (check-in: 9f8191d1 user: drh tags: omit-rowid)
22:33
Formatting improvements to the WHERE-clause constraint display in the wheretrace debugging logic. (check-in: 3a9e3ed9 user: drh tags: trunk)
20:38
Add regression tests for ticket [c620261b5b5]. (check-in: 05a35b09 user: drh tags: trunk)
20:15
Do not use transitive WHERE-clause constraints on LEFT JOINs. Fix for ticket [c620261b5b5dc]. (check-in: 9aac4e58 user: drh tags: trunk)
19:59
More wheretrace debugging support: Show a listing of all WHERE clause terms (on wheretrace bit 0x100) and include important flags such as TERM_VIRTUAL, WO_EQUIV, and EP_FromJoin. (check-in: 92ccd705 user: drh tags: trunk)
19:03
Bug fix and enhancements to the improved wheretrace logic that shows the constraint expressions. (check-in: 10f125f5 user: drh tags: trunk)
14:34
Improved "wheretrace" capabilities: Show the constraint expression if the wheretrace flag has the 0x100 bit set and if compiled with SQLITE_ENABLE_TREE_EXPLAIN. (check-in: 710a18ac user: drh tags: trunk)
2013-10-26
15:40
Work on the UPDATE and INSERT logic. This is an incremental check-in so that can switch over to trunk to work on an unrelated issue there. (check-in: 086ec2a1 user: drh tags: omit-rowid)
13:36
Replace the OP_IsUnique opcode with OP_NoConflict. This code simplification might be useful to move onto trunk even if this branch is never merged. (check-in: e6650e16 user: drh tags: omit-rowid)
00:58
Minor refactoring of variable names and fixes to comments in insert.c. (check-in: ae61a343 user: drh tags: omit-rowid)
2013-10-25
19:17
Progress toward getting UPDATE to work in WITHOUT ROWID tables. (check-in: e557b7d8 user: drh tags: omit-rowid)
14:46
Basic DELETE operations now working on WITHOUT ROWID tables. (check-in: 9eafafa3 user: drh tags: omit-rowid)
2013-10-24
19:48
Update the interface to the sqlite3GenerateRowDelete() utility so that it is able to handle WITHOUT ROWID tables. The implementation still needs to be completed. (check-in: 85daf517 user: drh tags: omit-rowid)
15:20
Add the ".open" command to the command-line shell. (check-in: 21eccb91 user: drh tags: trunk)
14:16
Delete PRIMARY KEY index entries last. Only construct the unique prefix of an index key when deleting entries from an index. (check-in: 0e56ba69 user: drh tags: omit-rowid)
11:55
Remove an obsolete comment from the VDBE. No code changes. (check-in: 53bb070c user: drh tags: omit-rowid)
00:18
Correctly handle queries that use secondary indices of WITHOUT ROWID tables. (check-in: d8bc8595 user: drh tags: omit-rowid)
2013-10-23
23:37
Change the sqlite3OpenTable() utility to open the PRIMARY KEY index when reading a WITHOUT ROWID table. (check-in: 247f3899 user: drh tags: omit-rowid)
22:23
Construct secondary indices on WITHOUT ROWID tables. (check-in: 2c028ddc user: drh tags: omit-rowid)
17:39
Report an error when trying to resolve column name "rowid" in a WITHOUT ROWID table. (check-in: 36bcc9cb user: drh tags: omit-rowid)
16:03
Get VACUUM and the xfer optimization working with WITHOUT ROWID. (check-in: 579815ff user: drh tags: omit-rowid)
13:30
Some inserts and queries working for multi-column primary keys and WITHOUT ROWID. (check-in: b21d831b user: drh tags: omit-rowid)
01:57
Some simple inserts and queries working on WITHOUT ROWID tables. (check-in: 3f8016de user: drh tags: omit-rowid)
00:32
Build internal data structures appropriately for WITHOUT ROWID tables. (check-in: 35a36060 user: drh tags: omit-rowid)
2013-10-22
18:01
The Index object now has nKeyCol and nColumn. nColumn is the total number of columns and nKeyCol is the number of key columns. Currently these always differ by one. Refactor aiColumn[] to be of type i16 instead of int. (check-in: a106ce86 user: drh tags: omit-rowid)
14:28
Add a procedure to handle the messy details of allocating an Index object from the heap. (check-in: 45efc94f user: drh tags: omit-rowid)
10:23
Extra backwards-compatibility tests verify that UNIQUE and PRIMARY KEY indices are created in the correct order. Other backwards-compatibility tests already cover this, but it does not hurt to double up. (check-in: 5ca0ea2e user: drh tags: omit-rowid)
01:18
Previous refactor is not going to be helpful because implied indices must be created in the same order that they appear in the CREATE TABLE statement for backwards compatibility. This is a much smaller change to clean up a few loose ends. (check-in: 824b549f user: drh tags: omit-rowid)
2013-10-21
23:17
Improve support for the SQLITE_OMIT_FLAG_PRAGMAS compile-time option. (check-in: f1d8c3b0 user: mistachkin tags: trunk)
13:15
Drop the mutex on the multiplexor before entering the xRead VFS call. (Closed-Leaf check-in: a00d2ed4 user: drh tags: multiplex-parallel-read)
02:14
Simplification of the syntax: Merely append "WITHOUT rowid" to the end of the table definition. (check-in: 131cc6e1 user: drh tags: omit-rowid)
2013-10-19
23:31
Experimental changes toward "index only" tables. Add the ability to specify options on CREATE TABLE statements using the WITH clause modeled after PostgreSQL and SQL Server. Only the "omit_rowid" option is currently recognized and that option is currently a no-op. (check-in: 0248ec5e user: drh tags: omit-rowid)
16:51
Improved header comment with better instructions on the vfslog.c extension. (check-in: 4bd592c8 user: drh tags: trunk)
15:07
Fix a bug causing an "malformed database schema error" error if a temp table with the same name as an existing table that has at least one temp trigger attached to it is created. (check-in: 56dca4a6 user: dan tags: trunk)
2013-10-18
20:03
Add the SQLITE_FCNTL_TRACE file control and generate it for OP_Trace when compiled with SQLITE_USE_FCNTL_TRACE. Update vfslog.c to make use of the new file control. Also update vfslog.c to log UNLOCK events before the fact, rather than afterwards. (check-in: e801f35a user: drh tags: trunk)
17:42
Further enhance the vfslog extension to record the number of freelist pages and the first freelist page in CHNGCTR-READ and CHNGCTR-WRITE records. (check-in: 08157524 user: drh tags: trunk)
14:37
In the vfslog extension for FILECONTROL records, show the pragma name for SQLITE_FCNTL_PRAGMAs and the requested size for SQLITE_FCNTL_SIZE_HINT. (check-in: f0629695 user: drh tags: trunk)
2013-10-17
12:57
Version 3.8.1 (check-in: c78be6d7 user: drh tags: trunk, release, version-3.8.1)
2013-10-16
23:58
Fix a typo in a requirements mark comment. No changes to code. (check-in: e5a439cf user: drh tags: trunk)
11:39
Clear a valgrind error by zeroing the first 4 bytes of the temp-space allocation used by the b-tree module. (check-in: 8651aba1 user: dan tags: trunk)
11:31
Fix memory and resource leaks for WinCE and Cygwin, and a compiler warning on windows with SQLITE_THREADSAFE=0. (check-in: 9905cea9 user: drh tags: trunk)
09:49
Fix memory/resource leaks for WinCE and Cygwin. (Closed-Leaf check-in: 2470d1bb user: mistachkin tags: wince-fixes)
2013-10-15
19:06
Add the "languageid" hidden column to fts4aux. (check-in: 891df358 user: dan tags: trunk)
15:35
Changes to test code to make sure no server threads are left running after server1.test finishes. (check-in: 1086e00b user: dan tags: trunk)
14:29
Fix an 8-byte alignment problem on the "crash test" harness (test code, not in the core) that causes problems on Sparc. (check-in: bcbc6503 user: drh tags: trunk)
11:58
Fix harmless macro redefinition warnings in the totype extension. (check-in: c9c1f8d6 user: drh tags: trunk)
10:43
Fix harmless macro redefinition warnings in the totype extension. (Closed-Leaf check-in: a38adeb7 user: mistachkin tags: noWarnings)
2013-10-14
22:35
Fix harmless compiler warning in the totype extension. Include all standard whitespace characters in totypeIsspace. Minor adjustments to style and comments. (check-in: 73238f65 user: mistachkin tags: trunk)
21:14
Move the tointeger() and toreal() functions out of core and make them into a run-time loadable extension. (check-in: 9f66dd7e user: drh tags: trunk)
20:30
Fix a crash in FTS incremental phrase processing that can occur if the second or subsequent token is much more common in the dataset than the first. (check-in: 0bf438fc user: dan tags: trunk)
19:35
Add implementations for the toInteger() and toReal() SQL functions. (check-in: a0f7cbc0 user: drh tags: trunk)
15:41
Fix for building with SQLITE_OMIT_FOREIGN_KEY. (check-in: b8b5f6c8 user: dan tags: trunk)
14:30
Update the foreign_key_check pragma so that when a parent table is undefined it is treated as an empty table. (check-in: 208b259a user: drh tags: trunk)
14:21
Corrects to comments on the STAT4 implementation. (check-in: e06f74d3 user: drh tags: trunk)
13:21
Make subroutines sampleCopy() and valueFromExpr() have file scope. (check-in: 1660efbe user: drh tags: trunk)
10:46
Add a new application_id for GeoPackage version 1.0. (check-in: 98ddfe45 user: drh tags: trunk)
2013-10-12
23:39
Merge updates from trunk. (Closed-Leaf check-in: a88b5be0 user: mistachkin tags: toTypeFuncs)
20:22
Restore the index_list pragma back to its former operation. Create a new PRAGMA stats used to access the table and index widths and heights. (check-in: f0cf8c85 user: drh tags: trunk)
19:06
In "PRAGMA foreign_key_check", treat missing parent tables as empty (instead of as errors). (Closed-Leaf check-in: 8c13a7fd user: dan tags: fkc-missing-parent-tables)
15:12
Fix handling of "DROP TABLE" commands when "PRAGMA defer_foreign_keys=1" is set. (check-in: 27001356 user: dan tags: trunk)
13:16
Add tests that demonstrate that PRAGMA defer_foreign_keys will reset to off at the conclusion of the next transaction. (check-in: 67e28a11 user: drh tags: trunk)
02:33
Fix harmless compiler warning. (check-in: 4b130f88 user: mistachkin tags: trunk)
02:31
Permit the creation of VSIX packages for Win32. (check-in: 035d03e9 user: mistachkin tags: trunk)
00:56
Fix Unicode character encoding issues on Windows in the fts4unicode test file. (check-in: c9310c9a user: mistachkin tags: trunk)
2013-10-11
23:37
Identify requirements text in the SQLITE_CONFIG_ documentation. Fix a typo (a duplicated word) in part of that documentation. Add some requirements marks for DETACH to the test scripts. No code changes. (check-in: 1be0a3ad user: drh tags: trunk)
23:02
The split amalgamation option should be disabled by default. (check-in: 7c24d22f user: mistachkin tags: trunk)
23:01
Enhance debugging support for the split amalgamation files when compiling with MSVC. (check-in: 8ff17c55 user: mistachkin tags: trunk)
23:01
Fix a harmless compiler warning in lemon.c. (check-in: 62959c0c user: drh tags: trunk)
22:19
Add -no-undefined option when linking the shared libraries. (check-in: 977d2b12 user: mistachkin tags: trunk)
22:17
Fix test numbering. (check-in: cef39f69 user: mistachkin tags: trunk)
20:14
Add requirements marks. No code changes. (check-in: 5e0d43ab user: drh tags: trunk)
16:35
Additional test cases and requirements marks for the unlikely(), likelihood() and instr() functions. (check-in: 5f01cd36 user: drh tags: trunk)
15:05
Fix various harmless compiler warnings. Change the "warnings.sh" script to work with STAT4 instead of STAT3. (check-in: 7df06684 user: drh tags: trunk)
13:27
Make sure the sqlite3.h file occurs at the very top of the sqlite3.c amalgamation. (check-in: 03593817 user: drh tags: trunk)
05:51
Fix compilation issue for WinRT. (check-in: 7a2006ca user: mistachkin tags: trunk)
2013-10-10
17:33
Add a rule to the main.mk makefile for building showdb. (check-in: fc5552da user: drh tags: trunk)
15:04
Enhancements to the vfslog.c module to show all change-counter changes and to show the hostname and pid of the process that creates each log file. (check-in: af7abebe user: drh tags: trunk)
13:41
Another fix to the hash signature algorithm in vfslog.c. (check-in: 34212aa8 user: drh tags: trunk)
13:38
Fix the hash signature algorithm in vfslog.c. Add a utility program to show the hash signatures for every page of a database file. (check-in: eaf4de13 user: drh tags: trunk)
13:04
Add ext/misc/vfslog.c, a VFS shim for unix that keeps a log of method calls made by SQLite. (check-in: 24a827b8 user: dan tags: trunk)
12:38
Estimate row sizes for tables and indices and use those estimates during query planning. Enhance the index_info pragma to show the estimated row sizes and to show the estimated row size for the main table as well. Allow an alternative row size estimate to be specified in the sqlite_stat1 table. (check-in: d27b88b8 user: drh tags: trunk)
2013-10-09
19:07
Make sure the correct printf format is used for type tRowcnt regardless of whether 32-bit or 64-bit row counts are specified at compile-time. (Closed-Leaf check-in: e97d7d30 user: drh tags: row-size-est)
2013-10-08
23:16
Move a conditional inside of an #ifdef in order to make all branches reachable regardless of compile-time options used. (check-in: f7cc30d4 user: drh tags: row-size-est)
22:25
Fix test cases for the new information in PRAGMA index_list. (check-in: dd03be10 user: drh tags: row-size-est)
20:42
Rollback some of the previous changes in the branch such that the estimated row sizes are now only used as a tie-breaker for index scans. (check-in: 65553ff3 user: drh tags: row-size-est)
20:01
Use #ifdefs to omit unused code in the columnType() routine depending on compile-time options. (check-in: 3fd5e332 user: drh tags: row-size-est)
18:40
Further refinement of the idea of multiplying run-time cost estimates by the estimated row size. (check-in: 18bd6ba9 user: drh tags: row-size-est)
2013-10-07
21:49
Fix compilation issue with MSVC. (check-in: 36d64dc3 user: mistachkin tags: trunk)
17:32
Multiply all cursor step cost estimates by the estimated size of the row in bytes, in order to get the query planner ot make use of estimated row sizes. This check-in uses magic numbers in a few places (for example, estimates of the size of output rows) and needs lots of refinement. Consider this a proof-of-concept only. (check-in: cb34cfe5 user: drh tags: row-size-est)
10:48
Merge bug fixes from trunk. (check-in: 1d7b2dc0 user: drh tags: row-size-est)
00:36
Restore the hexrekey pragma which was accidently deleted during the pragma refactoring. Make sure the hexkey and hexrekey pragmas do not overflow buffers with a over-length key. (check-in: 0aca31e1 user: drh tags: trunk)
2013-10-06
22:52
Remove an incorrect debugging assert() that was accidently added during the STAT4 enhancement. (check-in: 2bb7f74b user: drh tags: trunk)
22:12
Accept the sz=N parameter on table-only lines of sqlite_stat1. (check-in: e9e932aa user: drh tags: row-size-est)
2013-10-05
20:18
Fix an issue in the test8.c test module that arises because of the change to PRAGMA index_list(). Remove an unused local variable. (check-in: 029430c5 user: drh tags: row-size-est)
19:18
Completely remove the iScanRatio field. The PRAGMA index_list(TABLE) command shows the estimated row size in the forth column. It also generates a row for the table with an index name of NULL. The query planner still does not take row size estimates into account - that is the next step. (check-in: 8b4aa0c7 user: drh tags: row-size-est)
18:32
Improvements to the LogEst command-line tool used to convert between ordinary numbers and the LogEst representation. (check-in: 5252aeb6 user: drh tags: row-size-est)
18:16
Begin an experimental refactoring to estimate the average number of bytes in table and index rows and to use that information in query planner. Begin by renaming WhereCost to LogEst and making that type and its conversion routines available outside of where.c. (check-in: 66c4a251 user: drh tags: row-size-est)
02:56
In the index_list pragma, make sure the "r" column is the same on output as it was on input in the sqlite_stat1 table. (Closed-Leaf check-in: de78250a user: drh tags: index-scan-rate)
2013-10-04
20:39
Merge trunk changes. (check-in: c6ac80ed user: drh tags: index-scan-rate)
18:29
Further refinements of the index scanning speed logic. (check-in: e5d9371d user: drh tags: index-scan-rate)
18:17
If an "INSERT INTO ... SELECT" can use the xfer optimization, pass the OPFLAG_BULKCSR hint to btree cursors used to update indices. This results in a tighter key packing. (check-in: 087af29e user: dan tags: trunk)
15:58
Fix test cases so that they work when the query planner uses index size estimates to determine whether or not to try an covering index scan. (check-in: 2f394de8 user: drh tags: index-scan-rate)
15:30
Improved estimates of the relative speed of index scans based on declared datatypes of columns in the table. Add "r" column to PRAGMA index_info, showing the estimated relative scan rate. (check-in: 07462bb6 user: drh tags: index-scan-rate)
02:36
Progress toward using the iScanRatio information on indices. Many tests are still failing. (check-in: 6c352edb user: drh tags: index-scan-rate)
00:00
Make sure the count(*) optimization works correctly even when partial indices are present. Ticket [a5c8ed66cae]. (check-in: 9f2f4c0a user: drh tags: trunk)
2013-10-03
20:41
Have FTS take advantage of "docid<?" constraints when they are present. Extend the FTS "incremental doclist" optimization so that it is used for tokens within multi-token phrases. (check-in: baf8ce59 user: dan tags: trunk)
20:28
Merge latest trunk changes. (Closed-Leaf check-in: 24aa20da user: dan tags: fts4-docid-range-constraints)
19:27
Allow FTS4 multi-token phrases to use a combination of in-memory and incrementally loaded doclists. This allows phrases to (partially) benefit from incremental doclists without disabling the deferred token optimization. (check-in: f6819c5f user: dan tags: fts4-docid-range-constraints)
19:21
Experimental branch allowing different postulated scan rates for each index. (check-in: d59d97b0 user: drh tags: index-scan-rate)
15:39
The sqlite3FixInit() routine cannot fail. So change the return type from "int" to "void". (check-in: 500c5932 user: drh tags: trunk)
14:08
Rework the PRAGMA implementation to only call sqlite3ReadSchema() from a single place, based on a flag in the pragma table, rather than separately from each case which needs the schema. (check-in: 8338232a user: drh tags: trunk)
12:29
Return an error if an attempt is made to create a trigger with an SQL variable embedded within it. If such a variable reference is found within a trigger definition loaded from the sqlite_master table, silently replace it with a NULL. (check-in: f35f6ae3 user: dan tags: trunk)
11:27
Remove unnecessary memset() calls from test code. (check-in: eec3187b user: drh tags: trunk)
2013-10-02
20:46
In the lemon parser generator, change all hashes to unsigned to avoid potential problems with signed integer overflow. (check-in: 8d399a03 user: drh tags: trunk)
08:04
Add a test to check that the new multi-token phrase optimization is actually helping. (check-in: bc3a2ed5 user: dan tags: fts4-docid-range-constraints)
2013-10-01
20:29
Bring some file format comments in btreeInt.h up to date. (check-in: 012d54d0 user: drh tags: trunk)
20:10
Merge trunk changes with this branch. (check-in: 65d9c6fa user: dan tags: fts4-docid-range-constraints)
20:02
Allow multi-token phrases to load doclists from the database incrementally. This allows queries that feature such phrases to benefit from the "docid<?" optimization. (check-in: ea543f08 user: dan tags: fts4-docid-range-constraints)
19:36
Fix comments in the fast_vacuum.c demonstration program. (check-in: e0db7b38 user: drh tags: trunk)
19:02
Add the "fast_vacuum.c" demonstration program to the tool/ subdirectgory. (check-in: 2b60320d user: drh tags: trunk)
15:30
Change the ".dump" command in the command-line shell so that it COMMITs if there are database corruption errors but invokes ROLLBACK on any other kind of error. (check-in: 47323463 user: drh tags: trunk)
2013-09-30
19:33
Fix a minor typo in a comment in where.c. (check-in: 9c9fa151 user: drh tags: trunk)
19:05
Add some timing tests to the amatch test script. (check-in: ad71c72b user: drh tags: trunk)
18:16
Merge trunk changes with this branch. (check-in: e294a9c7 user: dan tags: fts4-docid-range-constraints)
18:14
Fix a performance problem in the FTS4 auxiliary functions triggered by an OR clause in the full-text query. (check-in: fa0f2f0e user: dan tags: trunk)
17:37
Fix memory leaks in the amatch extension. Add a few simple test cases. (check-in: 60413473 user: drh tags: trunk)
11:42
Have fts4 full-text queries consider "docid<?" and similar constraints. (check-in: 6622424a user: dan tags: fts4-docid-range-constraints)
11:01
Update and modernize an obsolete comment associated with VACUUM. No changes to code. (check-in: 94c914e3 user: drh tags: trunk)
2013-09-29
04:56
Fix typo in comment. No changes to code. (check-in: 0b7bd468 user: mistachkin tags: trunk)
2013-09-28
16:43
Add new test file fts3defer3.test. (check-in: a6cd14ef user: dan tags: trunk)
13:28
In the nextchar.c extension, allow the second argument to the next_char() function to be a subquery. (check-in: 59b9fa22 user: drh tags: trunk)
12:40
Updates to the sqlite3_analyzer utility: Change the names of some labels, especially change "Fragmentation" to "Non-sequential pages". Revise the computation of non-sequential pages so that it ignores itercalated non-leaf pages (overflow and index pages). (check-in: 3e5c7771 user: drh tags: trunk)
2013-09-26
15:21
Obtain the required shared-cache write-lock when executing "DELETE FROM tbl" statements. Fix for [1e1321ee98]. (check-in: 1f8f4fdf user: dan tags: trunk)
11:04
Fix a faulty assert() in sqlite3BtreeBeginTrans() that may fail in shared-cache mode. (check-in: 1e1321ee user: dan tags: trunk)
2013-09-24
19:07
Merge updates from trunk. (check-in: 435ce3b3 user: mistachkin tags: toTypeFuncs)
2013-09-18
11:16
Test that the unicode61 tokenchars= and separators= options work with the fts3tokenize virtual table. (check-in: ed240514 user: dan tags: trunk)
2013-09-17
23:36
Clear the current time value on prepared statements when the prepared statement is reset. (check-in: cebd6fc5 user: drh tags: trunk)
2013-09-16
20:46
Readability improvements to the Win32 RC file. (check-in: e6459062 user: mistachkin tags: trunk)
19:27
Minor consistency fixes to the Win32 RC file. (check-in: 619c5211 user: mistachkin tags: trunk)
12:57
The date and time functions use the exact same notion of "now" for every invocation within the same call to sqlite3_step(). (check-in: daf6ba41 user: drh tags: trunk)
2013-09-13
23:27
Fix Windows SDK compiler warning. (check-in: d5fc3f1d user: mistachkin tags: trunk)
23:26
Fix test issues for Windows portability. (check-in: 650b3282 user: mistachkin tags: trunk)
22:38
VSIX tooling changes to support Visual Studio 2013. (check-in: d56fac40 user: mistachkin tags: trunk)
21:03
Fix the "const" qualifiers on the pragma name table. (check-in: b74e6be8 user: drh tags: trunk)
21:01
Add the soft_heap_limit pragma. (check-in: c326356f user: drh tags: trunk)
19:00
Tweak the new PRAGMA name parser to achieve full branch test coverage. (check-in: c82e05c4 user: drh tags: trunk)
18:15
Remove one unreachable branch and add asserts() to dupedExprStructSize(). New asserts verify that removed branch is unused and that constants that are ORed together in the output do not overlap. (check-in: 86ad358b user: drh tags: trunk)
17:47
Adjust the query planner to take into account WHERE clause terms that do not drive indices. Add the unlikely() and likelihood() functions used to give hints to the query planner about the selectivity of WHERE clause terms. (check-in: bc446449 user: drh tags: trunk)
16:56
Enhance the pragma lookup table generator script to output a comment that gives the number of pragmas. (check-in: ca052050 user: drh tags: trunk)
16:36
Change the PRAGMA parser to use a binary search for the pragma name. Also: Minor performance enhancement to sqlite3DbFree() and to the token dequoter. (check-in: 870c030b user: drh tags: trunk)
12:10
Add tests for the fts4 unicode61 tokenchars and separators options. (check-in: 9ce6f40d user: dan tags: trunk)
2013-09-12
23:42
Refactor the ExprSetIrreducible() macro into ExprSetVVAProperty(*,EP_NoReduce). This is a naming change only. The logic is the same. (Closed-Leaf check-in: 695aee46 user: drh tags: unlikely-func)
23:12
Fix typo in a macro name: "GlogUpperToLower" should be "GlobUpperToLower" (check-in: 73634ca4 user: drh tags: trunk)
17:29
Merge in the Expr.flags expansion to 32-bits. Use an extra bit to help optimize the sqlite3ExprSkipCollate() routine. (check-in: 4c84d1b4 user: drh tags: unlikely-func)
16:50
Increase the number of bits available in Expr.flags. Other tweaks aimed at making expression processing more robust. (Closed-Leaf check-in: 579a5125 user: drh tags: expr-tuning)
02:09
For error log messages generated by the Win32 native allocator, make sure the correct format specifier is used for the value returned by GetLastError(). (check-in: 75a8a8c1 user: mistachkin tags: trunk)
01:47
Fix a couple more harmless compiler warnings. (check-in: 59708674 user: mistachkin tags: trunk)
01:33
Remove two obsolete fields from the sqlite3 object. (check-in: 117fa5fb user: drh tags: trunk)
00:54
Fix harmless compiler warning. (check-in: 2b510614 user: mistachkin tags: trunk)
00:40
Merge updates from trunk. (Closed-Leaf check-in: fca799f0 user: mistachkin tags: vsix2013)
2013-09-11
17:39
Improvements to likelihood processing so that commuting an unindexed term in the WHERE clause does not change the query plan. (check-in: 6e6bded0 user: drh tags: unlikely-func)
14:57
Add test cases to cover TPC-H Q8. (check-in: eb5cef83 user: drh tags: trunk)
14:34
Additional unlikely() test cases. Logic tweaks to support test coverage. (check-in: 5d00cce7 user: drh tags: unlikely-func)
11:38
Change the name of the two-argument unlikely() function to likelihood(). Add test cases. (check-in: 29a359b8 user: drh tags: unlikely-func)
03:53
Tweaks to the index selection logic. (check-in: 52d52688 user: drh tags: unlikely-func)
2013-09-10
01:53
Merge trunk fixes into the unlikely-func branch. (check-in: a51d7515 user: drh tags: unlikely-func)
01:41
Deterministically initialize the PRNG used as a tie-breaker in the ANALYZE command, so that the analysis is always the same given the same database. This simplifies testing. (check-in: 48ed8b56 user: drh tags: trunk)
2013-09-09
19:37
Make sure that the transitive constraint optimization does not cause WHERE clause terms to be disabled prematurely. We are unable to find a test case that fails because of this, but it seems prudent to make this preventative change nevertheless. (check-in: d6e361d7 user: drh tags: trunk)
2013-09-07
00:29
Continuing refinements of the logic to take WHERE clause terms not used for indexing into account when computing the number of output rows from each table. (check-in: b65dc534 user: drh tags: unlikely-func)
2013-09-06
22:27
Merge updates from trunk. (check-in: 8922be1a user: mistachkin tags: toTypeFuncs)
21:41
Add the ability to generate assembly listing files using the MSVC makefile. (check-in: 6caa2cd1 user: mistachkin tags: toTypeFuncs)
20:30
When converting from a BLOB value in the tointeger() and toreal() SQL functions, make sure that endianness of the machine does not matter. (check-in: 94c4cdc5 user: mistachkin tags: toTypeFuncs)
17:45
Enhance the plan solver to take into account the number of output rows when computing the set of paths to retain for the next cycle. (check-in: 1a46a724 user: drh tags: unlikely-func)
15:23
Initial implementation of the unlikely() SQL function used as a hint to the query planner. (check-in: 036fc37a user: drh tags: unlikely-func)
13:10
Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a single new FuncDef.funcFlags field. (check-in: 97b10e66 user: drh tags: trunk)
00:40
Make sure the destination WhereLoop is left in a sane state when an OOM fault occurs inside of whereLoopXfer(). (check-in: a99a53b8 user: drh tags: trunk)
2013-09-05
18:40
When preparing an UPDATE statement, avoid generating VDBE code for those foreign key related actions and constraint checks that may be seen to be unnecessary by considering the subset of table columns potentially modified by the UPDATE. (check-in: e940b5de user: dan tags: trunk)
2013-09-04
18:14
Rearrange the order of conditions in an "if" statement to facilitate testing. (check-in: 8462fb43 user: drh tags: trunk)
16:38
Add tests to improve coverage when SQLITE_ENABLE_STAT3 is defined. (check-in: f929e9b4 user: dan tags: trunk)
16:08
Fix a bug in the command-line shell for ".mode insert" on UTF16 databases with BLOB values. (check-in: d8fdc782 user: drh tags: trunk)
15:15
The sqlite3Stat4ProbeSetValue() routine should always return results using the database encoding. (check-in: eb216632 user: drh tags: trunk)
04:04
Fix out-of-order variable declaration. Fix harmless compiler warning. (check-in: 8df95bb0 user: mistachkin tags: trunk)
02:07
Conditionally exclude code from analyze.c that is not used by STAT3. (check-in: a48948a1 user: drh tags: trunk)
00:58
Additional test cases for the tointeger() and toreal() SQL functions when converting from a BLOB. (check-in: e1814452 user: mistachkin tags: toTypeFuncs)
2013-09-03
19:26
Harden the STAT4 logic in where.c against OOM faults. (check-in: 91d2cfbc user: drh tags: trunk)
14:43
Fix another problem in stat4 sample selection. (check-in: d59f5809 user: dan tags: trunk)
14:03
Make sure the omit-noop-left-join optimization is not applied if columns of the LEFT JOIN are used in the ORDER BY clause. Ticket [be84e357c035] (check-in: 0303d6bc user: drh tags: trunk)
2013-09-02
20:22
Simplify branch coverage testing by interchanging the order of two tests in the whereLoopInsert() function. (check-in: f7079b53 user: drh tags: trunk)
18:58
Further stat4 related tests. (check-in: 0a702c4b user: dan tags: trunk)
11:52
Add tests to check if ANALYZE is choosing common non-periodic samples for the stat4 table. (check-in: 17584299 user: dan tags: trunk)
07:16
Fix a problem with using stat4 data to estimate the number of rows scanned by a range constraint on the second or subsequent column of any index where an affinity transformation must be applied to the constraint argument. (check-in: c21f58d8 user: dan tags: trunk)
2013-09-01
23:36
Merge updates from trunk. (check-in: 2982725e user: mistachkin tags: toTypeFuncs)
2013-08-31
21:41
Handle BLOBs specially, treating them as binary, in the tointeger() and toreal() SQL functions. (check-in: c4c53acb user: mistachkin tags: toTypeFuncs)
18:36
Cleanup of the windows VFS, including added support for Cygwin, fixes for compiler warnings under unusual configurations, and improved diagnostic error messages. (check-in: c94933f1 user: drh tags: trunk)
18:06
Revise the amalgamation tool to allow 'duplicate' include files to be retained manually while still preserving the existing line numbers. (Closed-Leaf check-in: aa482846 user: mistachkin tags: cygwinTempPath)
17:21
Fix a problem causing SQLite not to use stat4 or stat3 data to analyze constraints of the form "column = expr COLLATE collation" (those with an explicit COLLATE on the non-column side of the comparison operator). (check-in: 1e86d81d user: dan tags: trunk)
17:01
Enhancements to the Win32 API definition macros. (check-in: b1811baa user: mistachkin tags: cygwinTempPath)
14:56
Reenable a test accidentally disabled when the stat4 branch was merged. (check-in: d9fadc8f user: dan tags: trunk)
05:46
Avoid commenting out #include statements when building the amalgamation source code file. (check-in: 2fca6d78 user: mistachkin tags: cygwinTempPath)
05:13
Fix harmless MSVC compiler warning with MEMDEBUG defined. (check-in: b48cfd2d user: mistachkin tags: cygwinTempPath)
02:48
Improve the consistency of the diagnostic messages on Windows. (check-in: c6f174a0 user: mistachkin tags: cygwinTempPath)
2013-08-30
21:52
Add support for Cygwin when handling temporary file names. Improve error codes and diagnostic messages for temporary file name handling on Windows. Rename winConvertUtf8Filename to winConvertFromUtf8Filename. Improve placement and comments for forward function declarations. (check-in: a411df72 user: mistachkin tags: cygwinTempPath)
20:19
Fix compiler warnings in analyze.c. (check-in: 5bbd2ccb user: dan tags: trunk)
19:59
Fix comment typo in analyze.c. No changes to code. (check-in: dbc31750 user: mistachkin tags: trunk)
17:50
Fix comment typos in the where.c module. No code changes. (check-in: 1e0b77cf user: drh tags: trunk)
17:35
If the cost of two whereLoop objects is the same in every way except that one has fewer expected output rows than the other, then choose the one with fewer output rows. (check-in: 79e458ef user: drh tags: trunk)
14:24
Add the SQLITE_MINIMUM_FILE_DESCRIPTOR compile-time option, for control over exactly which low-numbered file descriptors SQLite will use. (check-in: ba519053 user: drh tags: trunk)
13:29
Add a test for fts4 unicode61 option remove_diacritics=0. (check-in: 6bf7ae6f user: dan tags: trunk)
06:20
Improvements to the robust_open() logic in the unix VFS so that if an attempt is made to open a repository on file descriptors 0, 1, or 2, and blocking that file descriptor by opening it on /dev/null fails, then the open will fail. (check-in: d9c018f8 user: drh tags: trunk)
2013-08-29
23:36
Make the unix VFS defensive against the error of having a database file open on file descriptors 1 or 2, as an error message might easily be written onto those file descriptors and thus overwrite and corrupt the database. (check-in: 30d38cc4 user: drh tags: trunk)
23:34
Change the unix VFS so that it refuses to open a database file using a file descriptor less than 3. (Closed-Leaf check-in: 66dddda0 user: drh tags: overwrite-avoidance)
21:26
Never leave an open file descriptor pointing into the middle of the database file if the file descriptor number is 2 or less. (check-in: 3426673e user: drh tags: overwrite-avoidance)
14:56
Restore fix [f15591f802], which was accidentally clobbered by the stat4 merge. (check-in: d4b6ad33 user: dan tags: trunk)
10:46
Candidate fix for [9f2eb3abac]: Have the whereShortCut() planner ignore indexes with more than four columns. (check-in: c1152bdc user: dan tags: trunk)
02:27
Disable several toreal() tests that require high floating point precision when it is unavailable. (check-in: b724219b user: mistachkin tags: toTypeFuncs)
01:17
Prevent the implementation of the toreal() SQL function from being 'optimized' by MSVC. (check-in: 047bd1c2 user: mistachkin tags: toTypeFuncs)
01:11
Merge updates from trunk. (check-in: 375dfe28 user: mistachkin tags: toTypeFuncs)
01:09
Small enhancements to unit testing infrastructure. (check-in: 9229aeb3 user: mistachkin tags: trunk)
01:03
Enable finer control of optimizations when compiling with the MSVC makefile. Also, several modularity enhancements to the MSVC makefile. (check-in: 6c709338 user: mistachkin tags: trunk)
01:01
Fix boundary case for the toreal() SQL function. (check-in: abe82c63 user: mistachkin tags: toTypeFuncs)
2013-08-28
19:01
Re-enable test file wild001.test. (check-in: 4f182ddc user: dan tags: trunk)
18:56
Merge updates from trunk. (check-in: ffc6e682 user: mistachkin tags: toTypeFuncs)
18:18
Add the win32-longpath VFS allowing windows filenames up to 32K characters in length. Remove unused code when -DSQLITE_MAX_MMAP_SIZE=0. Fix some compiler warnings on windows. (check-in: 12d0a885 user: drh tags: trunk)
18:06
Update list of supported Tcl shells to include 8.6. Remove stray OS2 references. (Closed-Leaf check-in: ecd52ccf user: mistachkin tags: mmapDisabled)
17:59
Fix a couple comments. (check-in: 945cb89e user: mistachkin tags: mmapDisabled)
16:27
In the query optimizer, when converting BETWEEN and LIKE/GLOB expressions into simpler forms for processing, be sure to transfer the LEFT JOIN markings. Fix for ticket [bc878246eafe0f52c]. (check-in: caab361e user: drh tags: trunk)
13:46
Increase the version number to 3.8.1 due to the addition of STAT4 support. (check-in: 41c089e2 user: drh tags: trunk)
13:33
Fix an off-by-one error that causes a quoted empty string at the end of a CRNL-terminated line of CSV input to be misread by the shell. (check-in: b5617e4f user: drh tags: trunk)
11:57
Add a test case for empty quoted field in CSV import in the shell. (check-in: 3df56e84 user: drh tags: trunk)
11:43
Label a certain branch as NEVER() only for non-STAT3/4 builds. (check-in: b5ccf6e9 user: drh tags: trunk)
07:42
In the win32longpath test, move the journal mode change down where it was intended to be. (check-in: 5cead293 user: mistachkin tags: mmapDisabled)
05:49
Support database file names longer than 260 characters using the new 'win32-longpath' VFS variant. (check-in: 37e85e44 user: mistachkin tags: mmapDisabled)
02:37
Make names of private functions in the Win32 VFS consistent. Fix comment typo in Win32 mutex implementation. (check-in: c3b82c5b user: mistachkin tags: mmapDisabled)
02:26
Remove hard-coding of the directory separator in the Win32 VFS. Fixes to OSTRACE macros. (check-in: fc98092f user: mistachkin tags: mmapDisabled)
01:54
Fix several harmless compiler warnings. Fix a couple compiler issues with the shell. (check-in: 8917e9f9 user: mistachkin tags: mmapDisabled)
2013-08-27
23:15
Adjust ANALYZE for improved test coverage. Use the SQLITE_ENABLE_STAT3_OR_STAT4 macro (created in sqliteInt.h) to conditionally include code, instead of a boolean specifying both macros separately. (check-in: 67a9a392 user: drh tags: trunk)
20:16
Reduce the amount of code run and memory used for ANALYZE in the common case where neither STAT3 and STAT4 are enabled. (check-in: 9d1424c9 user: drh tags: trunk)
15:41
Update sqlite3.pc.in to use @PACKAGE_VERSION@ instead of @RELEASE@. (check-in: 2460dfd8 user: dan tags: trunk)
14:14
In the ANALYZE command implementation make statInit() a 2-value function since the 3rd parameter was always the same constant. (check-in: 959bb5ac user: drh tags: trunk)
2013-08-26
23:18
Preparation for further Windows path name handling changes. (check-in: ec99224b user: mistachkin tags: mmapDisabled)
23:18
Merge the STAT4 capability into trunk. (check-in: a32af0ab user: drh tags: trunk)
20:45
Change MAX_PATH related defines to use character lengths where WCHARs are used. (check-in: 0a497083 user: mistachkin tags: mmapDisabled)
19:36
Merge updates from trunk. (check-in: 9d686009 user: mistachkin tags: mmapDisabled)
14:30
Fix for builds with both SQLITE_OMIT_WAL and SQLITE_MAX_MMAP_SIZE=0 defined. (check-in: edd5dbdc user: dan tags: trunk)
04:50
Version 3.8.0 (check-in: f64cd21e user: drh tags: trunk, release, version-3.8.0)
2013-08-24
23:55
Several modifications to the use of the MAX_PATH macro on Windows to improve consistency. (check-in: bda4c47d user: mistachkin tags: mmapDisabled)
01:12
Fix a couple compilation issues on Unix. (check-in: 25b029d8 user: mistachkin tags: mmapDisabled)
00:59
Unify the result of PRAGMA mmap_size when mmap support is disabled. (check-in: 032c3159 user: mistachkin tags: mmapDisabled)
2013-08-23
17:33
Adjust #ifdefs to get SQLITE_OMIT_AUTOMATIC_INDEX and SQLITE_OMIT_PAGER_PRAGMAS to build. (check-in: ed310201 user: drh tags: trunk)
16:47
Fix a requirements comment in a test case. No changes to the testcase itself nor to any code. (check-in: 3ad1f998 user: drh tags: trunk)
12:04
Modify script mkautoconfamal.sh to use the download.html naming convention for the tar.gz it creates. (check-in: 375b4e3d user: dan tags: trunk)
2013-08-22
02:56
Defer the creation of automatic indices until the index is actually used. (check-in: 0775501a user: drh tags: trunk)
2013-08-21
23:42
Simplify the btreeGetPage() routine so that it uses a single flag parameter in place of two boolean parameters. (check-in: 617e23ec user: drh tags: trunk)
22:54
Minor performance tweaks to the pager. (check-in: 9ae1f9ce user: drh tags: trunk)
22:09
Refactor the sqlite3_randomness() implementation for improved performance. (check-in: 4144dffb user: drh tags: trunk)
21:12
Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. (check-in: 700dbbea user: drh tags: trunk)
20:04
Minor fixes for test cases. No code changes. (check-in: ef2a6a37 user: dan tags: trunk)
19:59
Fix typo in test. (check-in: f9859fe9 user: mistachkin tags: trunk)
19:13
Update sqlite3MemCompare() to try common cases first, for a modest speed improvement. (check-in: b25bac79 user: drh tags: trunk)
17:35
If a virtual table xSync() returns an error message, copy it into a buffer allocated by sqlite3DbMalloc() before transfering it to Vdbe.zErrMsg. (check-in: 854ba304 user: dan tags: trunk)
15:52
Performance enhancement in btreeParseCellPtr(). (check-in: a17190a2 user: drh tags: trunk)
15:45
Fix an FTS4 problem introduced by [361084e1eb]. (check-in: 5f35c8cb user: dan tags: trunk)
12:04
Candidate fix for [d666d600a6]. (check-in: 781592f3 user: dan tags: trunk)
07:25
Fix a minor problem in progress.test. No code changes. (check-in: a95ae93b user: dan tags: trunk)
2013-08-20
20:25
Fix a couple of test scripts to work with DEFAULT_AUTOVACUUM and OMIT_VIRTUALTABLE. (check-in: 356c6c59 user: dan tags: trunk)
17:14
Fix an invalid assert() in where.c. Also a crash that can occur in the EXPLAIN QUERY PLAN code under obscure circumstances. (check-in: ef192abb user: dan tags: trunk)
17:00
Ignore IS NOT NULL and NOT NULL constraints on NOT NULL columns. (check-in: e476408e user: drh tags: trunk)
16:08
Test script changes to support testing sqlite3_interrupt(). (check-in: 0cede9f8 user: dan tags: trunk)
09:26
Add test cases for tointeger() and toreal() functions. Fixes for several tests. (check-in: 5e1e9fd5 user: mistachkin tags: toTypeFuncs)
03:13
Performance optimizations in the VDBE and especially to the OP_Next and related opcodes and in the sqlite3BtreeNext() and sqlite3BtreePrevious() routines. This is a cherrypick of [6f99b54aedeb], [d2efea1682a7], and [d78c5d89de4b]. (check-in: 7f72fc4f user: drh tags: trunk)
02:07
Fix compiler warnings and boundary cases for the tointeger() and toreal() functions. (check-in: 4438b986 user: drh tags: toTypeFuncs)
00:42
Performance optimizations in the VDBE and especially to the OP_Next and related opcodes. (check-in: d78c5d89 user: drh tags: toTypeFuncs)
2013-08-19
23:18
Performance improvement to SQL function calls in the VDBE. (check-in: d2efea16 user: drh tags: toTypeFuncs)
22:22
Additional performance improvements in sqlite3BtreeNext() and sqlite3BtreePrevious(). (check-in: 6f99b54a user: drh tags: toTypeFuncs)
21:15
Add tointeger() and toreal() SQL functions. (check-in: af497072 user: mistachkin tags: toTypeFuncs)
20:04
Performance improvement in sqlite3BtreeNext() and sqlite3BtreePrevious() for the common case of a valid cursor. (check-in: dc65ad8c user: drh tags: trunk)
19:29
Initialize a variable in fts3_write.c on the grounds that the argument required to show that it does not require initialization with is complicated. Add an assert() to where.c to silence a clang scan-build warning. (check-in: d6c4d48a user: dan tags: trunk)
18:37
Fix test script pragma2.test so that it works with ENABLE_MEMORY_MANAGEMENT. (check-in: 6acf7281 user: dan tags: trunk)
18:17
Add some extra assert() statements to silence a few clang warnings. (check-in: 1c63e951 user: dan tags: trunk)
14:23
Remove unused variables from the command-line shell sources. (check-in: 753a402e user: drh tags: trunk)
14:19
Fix a potential reference off the end of an array in the query planner. (check-in: f15591f8 user: drh tags: trunk)
11:15
Fixes for harmless compiler warnings. (check-in: a0d9ca4f user: drh tags: trunk)
2013-08-17
18:57
Adjustments to #ifdefs in analyze.c to all a clean compile with no extra code with both ENABLE_STAT3 and ENABLE_STAT4 and with neither. (Closed-Leaf check-in: f86b75b6 user: drh tags: sqlite_stat4)
16:37
Add the cache_spill pragma. Change the fullfsync and checkpoint_fullfsync pragmas to apply to all attached databases. (check-in: 65a85a15 user: drh tags: trunk)
15:42
The fullfsync, checkpoint_fullfsync, and cache_spill pragmas apply to all files of a database connection, including those opened by future ATTACH statements. (Closed-Leaf check-in: d07c4331 user: drh tags: cache_spill)
00:25
Test cases for the cache_spill pragma. (check-in: b85c9ec5 user: drh tags: cache_spill)
2013-08-16
20:42
Add the cache_spill pragma. (check-in: cdb181c0 user: drh tags: cache_spill)
17:46
Add a test for the problem fixed by [91733bc485]. (check-in: 5c591104 user: dan tags: sqlite_stat4)
17:18
In sqlite3Stat4ProbeSetValue() change a local variable name iVar to iBindVar to avoid confusion with iVal, and fix a place where the name was actually confused. (check-in: 91733bc4 user: drh tags: sqlite_stat4)
14:51
Merge the fork that resulted from a check-in race. (check-in: b7fe4f36 user: drh tags: sqlite_stat4)
14:49
Fix valueFromExpr() so that it returns SQLITE_NOMEM following an OOM when changing text encodings. Also fix some asserts to accommodate OOM errors. (check-in: dc1ccd09 user: drh tags: sqlite_stat4)
14:48
Fixes for test code that was not working with utf16 databases. Run the analyze*.test scripts as part of the 'utf16' permutation test. (check-in: fe99494d user: dan tags: sqlite_stat4)
14:23
Add extra tests. No code changes. (check-in: 949127d5 user: dan tags: sqlite_stat4)
14:09
Avoid buffer overreads and false OOM error reports that could be caused by corrupted sample records in the sqlite_stat4 table. (check-in: 9f85b6a5 user: dan tags: sqlite_stat4)
13:34
Fix a potential segfault following an OOM while running ANALYZE. (check-in: 01187978 user: drh tags: sqlite_stat4)
12:26
Merge recent trunk changes into the STAT4 branch. (check-in: c69b512a user: drh tags: sqlite_stat4)
2013-08-15
22:40
Make sure that GROUP BY terms select input column names in preference to output column names, in compliance with the SQL standard. Ticket [1c69be2dafc28]. (check-in: f2d175f9 user: drh tags: trunk)
20:24
Bare identifiers in ORDER BY clauses bind more tightly to output column name, but identifiers in expressions bind more tightly to input column names. This is a compromise between SQL92 and SQL99 behavior and is what PostgreSQL and MS-SQL do. Ticket [f617ea3125e9c]. (check-in: c78b357c user: drh tags: trunk)
20:05
Make it easy to attach a debugger the test fixture process prior to any tests being run. (check-in: 53cd9ebf user: mistachkin tags: trunk)
19:56
Fix a crash that can occur if the sqlite_stat3 or sqlite_stat4 table is corrupt. (check-in: d51df8a8 user: dan tags: sqlite_stat4)
18:43
Fix a crash that can occur following an OOM fault. (check-in: 9f80b268 user: dan tags: sqlite_stat4)
16:18
Change some assert() statements in vdbe.c to ensure that a memory cell used to store a VdbeCursor object is not also used for some other purpose. (check-in: 71070c9f user: dan tags: sqlite_stat4)
16:15
Make sure the ANALYZE command allocates enough VDBE registers. (check-in: 46fec9b1 user: drh tags: sqlite_stat4)
14:39
Add tests for sqlite_stat4 sample selection. And a fix for the same. (check-in: 1fb4d9d6 user: dan tags: sqlite_stat4)
14:27
Clarification and typo fixes in comments related to name resolution. No changes to code. (check-in: f30abdf9 user: drh tags: trunk)
08:06
Make it easy to attach a debugger the test fixture process prior to any tests being run. (Closed-Leaf check-in: c23acba1 user: mistachkin tags: dbgTestFixture)
2013-08-14
19:54
Change the way ANALYZE works to use a single cursor when scanning indices. (check-in: bdce612b user: dan tags: sqlite_stat4)
00:20
Fix a few more minor comment typos. No changes to code. (check-in: 9e999081 user: mistachkin tags: trunk)
2013-08-13
22:33
Fix an outdated comment and a comment typo. No changes to code. (check-in: ac336959 user: mistachkin tags: trunk)
2013-08-12
20:14
If ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate the sqlite_stat3 table instead of sqlite_stat4. (check-in: cca8bf43 user: dan tags: sqlite_stat4)
17:31
If there is data in both the sqlite_stat4 and sqlite_stat3 tables for a single index, ignore the sqlite_stat3 records. (check-in: 2a417367 user: dan tags: sqlite_stat4)
17:00
Handle a NULL input to decodeIntArray() that can result from a prior OOM. (check-in: fa1588ad user: drh tags: sqlite_stat4)
16:34
Re-enable reading from the sqlite_stat3 table (as well as sqlite_stat4). (check-in: 6d45078e user: dan tags: sqlite_stat4)
11:21
Fix a bug in calculating the average number of entries for keys not present in the sqlite_stat4 table. (check-in: ec3ffb17 user: dan tags: sqlite_stat4)
09:29
Fix minor problems caused by adding the rowid to the records in stat4. (check-in: 088d1ff9 user: dan tags: sqlite_stat4)
2013-08-10
19:08
Add the rowid field to the end of sample records stored in the sqlite_stat4 table. (check-in: 3a5e8ab7 user: dan tags: sqlite_stat4)
2013-08-09
19:04
Fix a couple of typos in a comment in analyze.c. No code changes. (check-in: 5bcccb93 user: dan tags: sqlite_stat4)
14:07
Update the header comment on analyze.c to describe the sqlite_stat4 table format. (check-in: 4d97809d user: drh tags: sqlite_stat4)
2013-08-08
19:38
Fix problems in estimating the number of rows visited by a range query using sqlite_stat4 data when the column subject to the range query is not the leftmost of the index. (check-in: 9228aaf5 user: dan tags: sqlite_stat4)
16:17
Use a binary search instead of a linear scan when comparing a sample key against data from the sqlite_stat4 table. (check-in: e50dc305 user: dan tags: sqlite_stat4)
14:38
If the SQLITE_EXTRA_INIT function is defined, make sure it is called only once by the effective sqlite3_initialize() call. (check-in: e2b597ca user: drh tags: trunk)
12:21
Fix a segfault in "ALTER TABLE t1 ADD COLUMN b DEFAULT (-+1)". Also an assert() failure that could occur if SQLITE_ENABLE_STAT4 were not defined. (check-in: 9fec3e38 user: dan tags: sqlite_stat4)
11:48
Fix a bug in using stat4 data to estimate the number of rows selected by a range constraint. (check-in: f783938e user: dan tags: sqlite_stat4)
2013-08-07
23:15
If the SQLITE_ALLOW_URI_AUTHORITY compile-time option is set, then allow non-localhost authorities on URI filenames and pass them through as a UNC to the underlying VFS. (check-in: 3adb6c1b user: drh tags: trunk)
19:46
Replace variable Index.avgEq (average number of rows in keys for which there is no sample in sqlite_stat4) with vector Index.aAvgEq. (check-in: 7b70b419 user: dan tags: sqlite_stat4)
18:42
Merge latest trunk changes with this branch. (check-in: 08f74c45 user: dan tags: sqlite_stat4)
16:38
Fix typos in a comment in analyze.c. No code changes. (check-in: 812ed0c5 user: dan tags: sqlite_stat4)
16:15
Change the way samples for the sqlite_stat4 table are collected. (check-in: 13ed5ac1 user: dan tags: sqlite_stat4)
16:04
Fix the ".dump" command on the command-line shell so that it works for "sqlite_stat4" in addition to "sqlite_stat1". (check-in: 1e80c4b1 user: drh tags: sqlite_stat4)
15:57
Remove the unused sqlite3Utf8to16() utility function. (check-in: 9159b43e user: drh tags: sqlite_stat4)
15:52
When estimating the number of rows scanned using data from the sqlite_stat4 table, avoid allocating UnpackedRecord and KeyInfo structures until they are definitely required. (check-in: 353950a5 user: dan tags: sqlite_stat4)
14:18
Add a guard #ifndef to test_intarray.h to prevent harm if it is #included more than once. Add a comment on the closing #endif of the guards on sqlite3.h and test_multiplex.h. (check-in: 0ad83ceb user: drh tags: trunk)
01:18
Fix typos and add clarification to comments in where.c. No code changes. (check-in: f8d8790e user: drh tags: trunk)
2013-08-06
20:15
Fixes for builds without SQLITE_ENABLE_STAT4. (check-in: 84999e27 user: dan tags: sqlite_stat4)
20:01
When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan. (check-in: 2973f5ca user: dan tags: sqlite_stat4)
19:18
Fix a test case related to partial indices so that it works even if STAT3 is disabled. (check-in: 153c6450 user: drh tags: trunk)
18:35
Adjust #ifdefs in test_autoext.c so that it compiles with SQLITE_OMIT_LOAD_EXTENSION. Fix compiler warnings in two other test modules. No changes to the core. (check-in: 89930ea3 user: drh tags: trunk)
18:21
Update the configure script to use the latest version number (3.8.0). (check-in: 52e8ec5e user: drh tags: trunk)
17:24
Add a testcase() macro to verify OOM coverage. (check-in: d43dcbc4 user: drh tags: trunk)
16:56
Remove unreachable branches in expr.c, replacing them with assert() and testcase() statements. (check-in: 9103c27c user: drh tags: trunk)
14:36
For the ".import" command of the command-line shell, start a transaction if there is not one active already. (check-in: 5dcc2d91 user: drh tags: trunk)
14:01
Clean up the input reader in the command-line shell for improved legibility and performance. (check-in: 2b1743d6 user: drh tags: trunk)
07:45
More than double the speed of the resolveP2Values() routine in vdbeaux.c by moving from an extended if-else on every opcode to a switch. Opcodes are reordered in mkopcodesh.awk to put the switched opcodes close together, for additional performance and to reduce code footprint. (check-in: 924f7e4d user: drh tags: trunk)
2013-08-05
22:05
Performance optimization: Avoid calling convertCompoundSelecctToSubquery() on queries that do not use the UNION, EXCEPT, or INTERSECT operators. (check-in: c589b2fe user: drh tags: trunk)
21:54
For the vtshim module, always zero out the xChildDestroy function pointer after calling it. (check-in: 240f7252 user: mistachkin tags: trunk)
19:11
Factor all KeyInfo object allocations into a single function: sqlite3KeyInfoAlloc(). Always allocate enough space so that sqlite3VdbeRecordCompare() can avoid checking boundaries and hence run faster. (check-in: 7301bedd user: drh tags: trunk)
19:04
Modify the vdbe code generated by ANALYZE to use fewer memory cells and cursor slots. (check-in: 4a51cf28 user: dan tags: sqlite_stat4)
18:00
Use N separate cursors when scanning an index with N columns to collect sqlite_stat4 data. This fixes a problem with collecting incorrect nEq values from multi-column indexes. (check-in: 3a71afe6 user: dan tags: sqlite_stat4)
15:32
Improve performance of sqlite3VdbeRecordCompare() by using an approximation that might give false negatives and only running the more expensive exact subexpression if the approximation fails. (check-in: 28979dcd user: drh tags: trunk)
12:31
Add a missing '#include "tcl.h"' to test_rtree.c. (check-in: 4b8b426f user: drh tags: trunk)
05:34
Fix a couple of problems in code related to sqlite_stat4. (check-in: badd24d9 user: dan tags: sqlite_stat4)
2013-08-03
20:24
Begin adding experimental sqlite_stat4 table. This commit is buggy. (check-in: 2beea303 user: dan tags: sqlite_stat4)
2013-08-02
23:40
Updates to requirements marks. No code changes. (check-in: 21302076 user: drh tags: trunk)
20:11
Add NEVER() and ALWAYS() macros on some unreachable yet prudent branches. (check-in: c5c0a8ab user: drh tags: trunk)
16:41
Add support for partial indices. (check-in: 478113f1 user: drh tags: trunk)
14:18
Silently ignore database name qualifiers in CHECK constraints and in partial index WHERE clauses. (Closed-Leaf check-in: 2e8c845e user: drh tags: partial-indices)
13:31
Fix typos in documentation for SQLITE_DBSTATUS_DEFERRED_FKS . No changes to code. (check-in: f3efbfcd user: drh tags: trunk)
2013-08-01
22:27
Fix the CREATE INDEX statement so that trying to create a TEMP index on a non-TEMP table throws an error rather than segfaulting. (check-in: e3c8935f user: drh tags: trunk)
22:26
Fix an incorrect expected result in a test case in corruptG.test. (check-in: 6913831a user: drh tags: trunk)
20:26
Fix a potential buffer overread in sqlite3VdbeRecordCompare() when a serial_type specifies a field that starts in bounds but is much too large for the allocated buffer. Mostly harmless. The overread is unlikely to go more than one or two bytes past the end of the buffer. (check-in: e436b2f4 user: drh tags: trunk)
19:17
Make sure signed integer overflow does not cause a segfault while attempting to read a corrupt database where the header size varint on a record is larger than the maximum 32-bit signed integer. (check-in: c3baca99 user: drh tags: trunk)
17:43
Add test case for the problem fixed by [127a5b776d]. (check-in: 65816718 user: dan tags: trunk)
17:21
An improved method for avoiding the use of the STAT3 samples to compute the estimated number of outputs when the left-most index is equality constrained. This check-in undoes the previous fix and applies a new one. (check-in: 127a5b77 user: drh tags: trunk)
16:52
Avoid using left-most column STAT3 samples if the left-most column has an equality constrain and there are inequality constraints on the second column. (check-in: 31b4e63b user: drh tags: trunk)
16:02
Fix bug in the logic that determines the end of a CREATE INDEX statement. Added a VACUUM test case that exposed the bug. (check-in: 2e3df0bc user: drh tags: partial-indices)
15:09
More test cases and corresponding bug fixes. (check-in: 0c8cfdfa user: drh tags: partial-indices)
13:04
Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. (check-in: 8e07aa2a user: drh tags: partial-indices)
12:21
Refactor internal function name sqlite3VdbeGetValue() to sqlite3VdbeGetBoundValue(). (check-in: 81834c30 user: drh tags: partial-indices)
04:39
Fix the ANALYZE command to work with partial indices. (check-in: 60353124 user: drh tags: partial-indices)
03:36
Test cases and bug fixes for the partial index logic. (check-in: 6b73ae7c user: drh tags: partial-indices)
01:14
Add the logic to keep partial indices up to date through DML statements and when new partial indices are created. This new logic is untested except to verify that it does not interfere with full indices. (check-in: fb9044d1 user: drh tags: partial-indices)
2013-07-31
23:28
Limit the number of memset() calls used when determining a temporary file name on Windows. Also, fix a harmless compiler warning. (check-in: 136fc293 user: mistachkin tags: trunk)
23:22
Add logic to the query planner to only use partial indices if the WHERE clause constrains the search to rows covered by the partial index. This is just infrastructure. The key routine, sqlite3ExprImpliesExpr(), is currently a no-op so that partial indices will never be used. (check-in: 8ca3eac1 user: drh tags: partial-indices)
22:39
Slight modifications to path name translation handling for Cygwin. (check-in: 33ba1f4c user: mistachkin tags: trunk)
22:27
Use a new error code to represent a failure to get the configured temporary directory on Windows. (check-in: c93d891b user: mistachkin tags: trunk)
19:55
The MAX_PATH constant in windows is measured in characters, so multiple by 3 to get the number of bytes assuming worst-case UTF8 pathnames. (check-in: bb06e157 user: drh tags: trunk)
19:05
Resolve names in CREATE INDEX WHERE clauses and detect errors. Disallow expressions that contain variables, subqueries, or functions. The expression is still not used for anything, however. still unused. (check-in: f2aa7842 user: drh tags: partial-indices)
18:12
Here begins an experimental branch for exploring the idea of a partial index. This check-in is able to parse a WHERE clause on a CREATE INDEX statement, but does not actually do anythingn with that WHERE clause yet. (check-in: 6794b2dc user: drh tags: partial-indices)
2013-07-30
15:10
Reduce the size of the stack required by the codeOneLoopStart() function in where.c. (check-in: eb6d4278 user: drh tags: trunk)
2013-07-29
19:03
For the MSVC makefile, recompile vdbe.lo and parse.lo first. (check-in: 9e819f0f user: mistachkin tags: trunk)
15:54
Comment and preprocessor macro cleanup. (check-in: c0809b5e user: drh tags: trunk)
13:51
In main.mk, always recompile vdbe.o and parse.o first, since changes to either parse.y or vdbe.c will cause all files to be recompiled and if there are syntax errors in vdbe.c or parse.y we want to hit them early in the compile process. (check-in: a94a66d1 user: drh tags: trunk)
2013-07-25
17:07
In the command-line shell, work around the fact that popen() and pclose() are not defined in stdio.h. in C89 and later. (check-in: 8bcbb33f user: drh tags: trunk)
16:41
Fix a typo in main.c: SQLITE_DEAULT_AUTOMATIC_INDEX -> SQLITE_DEFAULT_AUTOMATIC_INDEX (check-in: cc78e21c user: dan tags: trunk)
16:27
Enhance the progress handler so that it keeps track of the number of VDBE cycles across sqlite3_step() calls and issues callbacks when the cumulative instruction count reaches threshold. (check-in: 4698a82e user: drh tags: trunk)
2013-07-20
00:39
Merge updates from trunk. (check-in: dd4b77c8 user: mistachkin tags: toTypeFuncs)
00:34
Add 'queryplantest' target to the MSVC makefile. (check-in: ad0551e0 user: mistachkin tags: trunk)
2013-07-19
23:58
Fixes to test numbering. (check-in: f755b4b2 user: mistachkin tags: trunk)
2013-07-18
20:28
Remove unused "codec" code from the command-line shell. (check-in: 37abfe0c user: drh tags: trunk)
18:45
Improved documentation for sqlite3_set_auxdata(). Ticket [406d3b2ef91c]. (check-in: 62465ecb user: drh tags: trunk)
18:29
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. (check-in: 153deac8 user: dan tags: trunk)
18:28
Fix a typo in the previous commit. (Closed-Leaf check-in: cd9096e6 user: dan tags: typo)
17:12
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. Partial fix for [406d3b2ef9]. DRH adds: Stray text accidentally inserted into vdbe.c just prior to the commit breaks the build. (check-in: 71effa59 user: dan tags: typo)
14:50
Fix a 8-byte alignment problem in the query planner that might cause problems on sparc when compiled with -m32. (check-in: 5dcffa67 user: drh tags: trunk)
14:16
Documentation changes to warn that sqlite3_set_auxdata() might call the destructor even before it returns. Also fix the regexp extension to deal with that case. Ticket [406d3b2ef91c]. (check-in: 7acc8cd3 user: drh tags: trunk)
2013-07-17
21:08
Fix copy/paste errors in comments in the transitive_closure virtual table. No changes to code. (check-in: b1b0de29 user: drh tags: trunk)
18:12
Enhance the sqlite3_analyzer tool to give reports on the sizes of individual indices. (check-in: 3b4096cc user: drh tags: trunk)
11:54
Clear the error string pointer in sqlite3_vtab object after the error string is transferred to SQLite. Ticket [78588b938a11]. (check-in: 64bf8148 user: drh tags: trunk)
2013-07-16
23:26
Make sure the sqlite3_prepare16 and sqlite3_prepare16_v2 interfaces do not read past a zero-terminator if the nBytes parameter is too large. (check-in: 20dba3a7 user: drh tags: trunk)
21:31
Enhance the query planner so that it looks at multiple solutions to OR expressions in the WHERE clause. (check-in: 5e19d054 user: drh tags: trunk)
2013-07-15
17:02
Add the sqlite3_cancel_auto_extension(X) interface which will undo a prior call to sqlite3_auto_extension(X). (check-in: cdce87eb user: drh tags: trunk)
2013-07-12
21:09
Make sure the shell does not try to put a zero terminator on the end of an unallocated zero-length string when running ".import" on an empty file. (check-in: 92adaee5 user: drh tags: trunk)
2013-07-11
19:04
Change the description of how sqlite3_progress_handler() works so that the N parameter is "approximate". This aligns with the current implementation. This is a documentation change only. No changes to code. (check-in: 7d829bde user: drh tags: trunk)
15:22
Add the experimental "query_only" pragma. (check-in: 6557c407 user: drh tags: trunk)
15:03
Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS value for sqlite3_db_status(). This is a cherry-pick of a sequence of five checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70]. (check-in: 527121ac user: drh tags: trunk)
03:09
Environment variable names in nmake must be in all uppercase. (check-in: 0328e873 user: mistachkin tags: vsix2013)
2013-07-10
21:33
More corrections to VS 2013 integration. (check-in: 7a8b0e36 user: mistachkin tags: vsix2013)
19:53
Use the VisualStudioVersion variable instead of _MSC_VER. (check-in: 603e9db8 user: mistachkin tags: vsix2013)
19:39
More changes to support MSVC 18. (check-in: 29c458e2 user: mistachkin tags: vsix2013)
18:14
Fix harmless compiler warnings in the progress callback logic. (check-in: 908141d5 user: drh tags: trunk)
13:33
Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn write capabilities on and off. (Closed-Leaf check-in: ece960c4 user: drh tags: query_only)
03:05
Run progress callback checks less frequently in the main VDBE evaluation loop. This makes up for the extra CPU cycles used to increment the cycle counter for SQLITE_STMTSTATUS_VM_STEP. (check-in: 3e8b0201 user: drh tags: trunk)
2013-07-09
15:56
Adjust the costs in the xBestIndex function of the spellfix1 virtual table to force the use of the MATCH term if it is available. (check-in: f003bea9 user: drh tags: trunk)
12:36
Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. (check-in: 1e39f850 user: drh tags: trunk)
03:04
Make sure the schema is verified prior to processing a "WHERE 0" on the first term of a compound SELECT statement. Fix for ticket [490a4b723562429] (check-in: 52a49cbc user: drh tags: trunk)
2013-07-08
22:33
Make sure an adequate number of digits are shown for binary-to-text rendering of very small floating point values. (check-in: 776e65f9 user: drh tags: trunk)
21:12
Fix an adverse interaction between the IS NOT NULL optimization (available only with SQLITE_ENABLE_STAT3) and the transitive constraint processing. Fix for ticket [d805526eae253] (check-in: 3b30b75b user: drh tags: trunk)
01:27
Add an optional 5th parameter to the next_char() function that is the collating sequence to use for comparison. (check-in: 9415db6e user: drh tags: trunk)
2013-07-06
18:07
Fixes for test cases running in the "mmap" permutation. (check-in: cdb97d41 user: dan tags: trunk)
17:57
Drop any existing mapping of the database file when exiting the pager "error state", as it may at this point be too large for the database file. Do not invoke file-control MMAP_SIZE if the database file handle does not support xFetch and xUnfetch (on the grounds that xUnfetch(0) calls to invalidate the mapping cannot be made). (check-in: 0ae7e75b user: dan tags: trunk)
2013-07-05
19:16
Fix two test script problems revealed by permutations.test. (check-in: 60cf7e44 user: dan tags: trunk)
16:54
Replace an erroneous SQLITE_OMIT_VIRTUAL_TABLE in vdbeaux.c with SQLITE_OMIT_WAL. Also fix some test script problems. (check-in: ff8c3f78 user: dan tags: trunk)
11:10
Add missing "static" qualifier to functions in where.c. (check-in: 5c906e91 user: dan tags: trunk)
10:46
Make a couple of implicit casts explicit to fix compiler warnings. (check-in: 9676280a user: dan tags: trunk)
2013-07-04
23:53
Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. (Closed-Leaf check-in: f2ab8747 user: mistachkin tags: extRefactor)
2013-07-02
15:25
Remove a surplus local variable (check-in: 91bc840e user: drh tags: trunk)
10:06
Fix a minor typo in a comment in where.c. (check-in: 4a9d51e7 user: dan tags: trunk)
00:06
Fix harmless typos in comments of two extensions. (check-in: 1c3ed47b user: drh tags: trunk)
2013-07-01
20:02
Add a query planner test case submitted by Elan Feingold and based on the Plex project. (check-in: 3d49c593 user: drh tags: trunk)
17:27
Add a missing test that prevented double LEFT JOINs with transitive constraints from working correctly. Fix for ticket [868145d012]. (check-in: 72919ec3 user: drh tags: trunk)
11:05
Further minor comment corrections and enhancements in where.c. (check-in: 0d68d4d0 user: drh tags: trunk)
10:38
Make a trivial comment fix in where.c. (check-in: 0ffaab3b user: drh tags: trunk)
2013-06-30
20:24
Fix an issue in the command-line shell with CSV import of rows with empty columns. (check-in: 60b65e5e user: drh tags: trunk)
2013-06-29
15:40
Fix the build of the command-line shell on windows. Windows uses "_pclose" rather than "pclose" as the pointer to the function that closes a popen pipe. (check-in: b003b2b2 user: drh tags: trunk)
2013-06-28
23:55
Issue the new SQLITE_WARNING_AUTOINDEX warning on the SQLite log whenever an automatic index is created. (check-in: 338826ef user: drh tags: trunk)
21:12
Add the SQLITE_DEFAULT_AUTOMATIC_INDEX compile-time option, which if set to zero turns automatic indices off by default. Increase the estimated cost of an automatic index. Additional minor refactoring of the automatic index code. (check-in: 459b3179 user: drh tags: trunk)
19:41
Allow read transactions to be freely opened and closed by SQL statements run from within the implementation of user-functions if the user-function is called by a SELECT statement that does not access any database tables (e.g. "SELECT user_function();"). (check-in: f308c485 user: dan tags: trunk)
17:29
Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS option for sqlite3_file_control() that will disable the use of SQLITE_STAT3 information in the query planner. (check-in: 60c19b86 user: drh tags: trunk)
13:43
Fix an issue with the OmitNoopJoin optimization and add test cases that are specifically for that optimization. (check-in: 5480d124 user: drh tags: trunk)
01:24
Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. (check-in: 59f98c5c user: drh tags: trunk)
2013-06-27
23:54
Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". (check-in: 14f79696 user: drh tags: trunk)
19:12
Fix an error in e_expr.test. (check-in: fd4ece18 user: dan tags: trunk)
17:40
Make sure that sqlite3_stmt_readonly reports false for PRAGMA journal_mode and PRAGMA wal_checkpoint. Ticket [a589ec069e3]. Also keep track of whether a prepared statement does no reading or writing. (check-in: 1937fd8e user: drh tags: trunk)
14:24
Add a test to ensure that if BEGIN IMMEDIATE fails with SQLITE_BUSY, it does not leave the user with an open read transaction (unless one was already open). (check-in: 22bced36 user: dan tags: trunk)
14:07
If the filename argument to the ".import" command in the command-line shell begins with '|' then treat it as an input pipe rather than a file. (check-in: 4c02b344 user: drh tags: trunk)
13:26
Improved handling of backslash escapes on double-quoted arguments to dot-commands in the command-line shell. (check-in: 656a1fe5 user: drh tags: trunk)
13:01
The undocumented and unsupported ".selftest" command in the command-line shell utility is now only available if compiled with SQLITE_DEBUG. Also fix a windows compiler warning in that command. (check-in: e88fd5b2 user: drh tags: trunk)
11:46
Add extended error code SQLITE_BUSY_SNAPSHOT - returned in WAL mode when a read-transaction cannot be upgraded to a write-transaction because it is reading from a snapshot other than the most recently committed. (check-in: 361c2296 user: dan tags: trunk)
2013-06-26
22:46
Update the ".import" command of the command-line shell so that it can accept field values that span multiple lines and so that it issues error messages if the input text does not strictly conform to RFC4180. (check-in: 93f63215 user: drh tags: trunk)
18:04
Add the "vtshim" extension, implementing a wrapper around the virtual table interface to make it Disposable for the CLR. No changes to the core. (check-in: 6c3839ef user: drh tags: trunk)
16:30
Update the boundary3.tcl script so that it can be run with tcl 8.5 or 8.6 to regenerate boundary3.test. (check-in: ebac5afa user: dan tags: trunk)
13:22
Add the SQLITE_STMTSTATUS_VM_STEPS option for sqlite3_stmt_status(). (check-in: bd4267f1 user: drh tags: trunk)
11:49
Omit tables from the FROM clause of a join if their presence makes no difference in the final output. (check-in: 6505e2ab user: drh tags: trunk)
11:43
Cut over the next generation query planner. Increase the version number to 3.8.0. (check-in: 0fe31f60 user: drh tags: trunk)
00:34
Fix an uninitialized variable detected by valgrind. Unclear whether or not this should apply to trunk. (Closed-Leaf check-in: 19ab4811 user: drh tags: nextgen-query-plan-exp)
2013-06-25
22:01
Add a new (experimental) sqlite3_stmt_status() verb that returns the number of VM steps. (Closed-Leaf check-in: f1366bab user: drh tags: status-vm-step)
2013-06-22
15:44
Add the ability to disable the omit-join-table optimization for testing purposes. (Closed-Leaf check-in: d929df9b user: drh tags: omit-join-table-opt)
2013-06-21
19:39
Enhance error message handling for the vtshim module. (Closed-Leaf check-in: b4a0d532 user: mistachkin tags: disposable-vtable)
19:29
Merge in the latest changes from trunk. Simplify the implementation of the tointeger() and toreal() functions. Fix test cases and put unambiguous labels on all testcase names. (check-in: 9b837b05 user: drh tags: toTypeFuncs)
18:36
Remove an unused function declaration from the FTS3 source code. (check-in: 096ae1d8 user: drh tags: trunk)
18:32
Merge updates from trunk. (check-in: fa2a91e6 user: mistachkin tags: toTypeFuncs)
18:29
Merge the fts4-notindexed branch with the trunk. (check-in: 361084e1 user: dan tags: trunk)
18:18
Add a few more tests for the fts4 notindexed option. (Closed-Leaf check-in: b53c0c41 user: dan tags: fts4-notindexed)
17:30
Add the "notindexed" option to fts4. (check-in: 8ff2b8f5 user: dan tags: fts4-notindexed)
07:54
Update comments and package flavor error message. (check-in: 9d1b9618 user: mistachkin tags: vsix2013)
02:15
Only eliminate inner loops of a JOIN if they are the RHS of a LEFT JOIN and if they give no more than a single result. This appears to give correct answers in all cases. (check-in: d7a25cc7 user: drh tags: omit-join-table-opt)
02:05
Attempt to disable inner loops of a join that do not generate output. This does not work, since the inner loops might run zero times and thus inhibit all output. Needs to be enhanced to work only for LEFT JOINs or when we know that the inner loop will always run at least once. (check-in: ca839723 user: drh tags: omit-join-table-opt)
00:35
Modify the query planner interface so that it always passes in the result set. This is the first step toward adding an optimization that will omit tables from a join that do not contribute to the result. (check-in: 2c2577e6 user: drh tags: omit-join-table-opt)
2013-06-20
19:07
Use the target platorm version in the VS props file as well. (check-in: ce5a8cc1 user: mistachkin tags: vsix2013)
18:53
VSIX tooling changes to support Visual Studio 2013. (check-in: c5954c58 user: mistachkin tags: vsix2013)
17:32
Add a NEVER() macro and an explanation comment around an unreachable branch in the STAT3 logic. (check-in: 604c3c5d user: drh tags: nextgen-query-plan-exp)
14:17
Pull in the posix_fallocate() change from trunk. (check-in: d94db3fd user: drh tags: nextgen-query-plan-exp)
14:07
Disable posix_fallocate() for all systems, all the time, unless the HAVE_POSIX_FALLOCATE compile-time macro is supplied. (check-in: b6744622 user: drh tags: trunk)
01:27
The vtshim xCreate and xConnect functions need to store the pAux pointer into the newly created vtable object. Style fixes. (check-in: 43913c7b user: mistachkin tags: disposable-vtable)
00:20
Integration adjustments for the vtshim module. (check-in: bf2e28dd user: mistachkin tags: disposable-vtable)
2013-06-19
23:48
Merge in trunk changes to os_unix.c that allow the code to build on unix platforms that lack posix_fallocate(). (check-in: bf576406 user: drh tags: nextgen-query-plan-exp)
18:01
Add in the cost of doing a table lookup on OR searches. Make test case changes to deal with difference in STAT3 behavior. (check-in: d97898e8 user: drh tags: nextgen-query-plan-exp)
14:49
Only default HAVE_POSIX_FALLOCATE on for linux, and then only if it is not previously defined. (check-in: 2b2ade92 user: drh tags: trunk)
14:28
Only enable posix_fallocate by default on linux and mac. (check-in: b9b30d4f user: drh tags: trunk)
13:59
Additional compiler warning fixes. (check-in: 8d2ae8e2 user: drh tags: nextgen-query-plan-exp)
13:32
Fix a harmless uninitialized variable warning. (check-in: 9d3ef3bd user: drh tags: nextgen-query-plan-exp)
12:34
Simplify and add invariants to the WhereLoop merging logic inside of whereLoopInsert(). (check-in: 8f27f35f user: drh tags: nextgen-query-plan-exp)
03:27
Fix compiler warnings. Fix a harmless off-by-one error in the solver. (check-in: 10021941 user: drh tags: nextgen-query-plan-exp)
2013-06-18
20:06
Adjustments to testcase() macros for improved testability. (check-in: 4fbb0c4d user: drh tags: nextgen-query-plan-exp)
01:52
Remove some redundant and unreachable code. (check-in: 4c6d58d7 user: drh tags: nextgen-query-plan-exp)
2013-06-17
21:37
Add more testcase() macros. Fix a memory leak following OOM in the virtual table analysis logic. (check-in: b61402af user: drh tags: nextgen-query-plan-exp)
18:20
Simplifications to the NGQP. Add the queryplantest makefile target. Add testcase() macros in the NGQP. (check-in: eaf1f1b4 user: drh tags: nextgen-query-plan-exp)
14:18
Use automatic indices on subqueries of the FROM clause when appropriate. (check-in: e8f12428 user: drh tags: nextgen-query-plan-exp)
2013-06-15
15:11
Fix compiler warnings. (check-in: 3e8ac469 user: drh tags: nextgen-query-plan-exp)
2013-06-14
13:27
Comment tweaks in where.c. No changes to code. (check-in: cecc5fdd user: drh tags: nextgen-query-plan-exp)
02:51
Add a new ORDER BY optimization that bypasses ORDER BY terms that are constrained by == and IS NULL terms of the WHERE clause. (check-in: b920bb70 user: drh tags: nextgen-query-plan-exp)
2013-06-13
17:58
An index might be useful for ORDER BY if any indexed column is in the ORDER BY clause, not just the first indexed column. (check-in: ade473b5 user: drh tags: nextgen-query-plan-exp)
17:28
Make sure that disabling the covering index scan optimization does not prevent a covering index from being used to satisfy an ORDER BY clause. (check-in: e8b7ea82 user: drh tags: nextgen-query-plan-exp)
15:50
Restore the ability to do a BETWEEN query on the rowid. Also fix a nearby comment. (check-in: 459a7b90 user: drh tags: nextgen-query-plan-exp)
15:16
Make the MIN() and MAX() macros available in sqliteInt.h. Add TUNING comments to the NGQP and adjust costs slightly. (check-in: 3a72af2a user: drh tags: nextgen-query-plan-exp)
14:51
Fix an off-by-one error in the WhereCost to integer conversion. (check-in: b5ca80d9 user: drh tags: nextgen-query-plan-exp)
00:32
Add a prototype for an extension that sits in between the SQLite native code virtual table interface and a CLR IDisposable object. (check-in: 10bba8d0 user: drh tags: disposable-vtable)
2013-06-12
20:18
Activate the one-pass optimization. Update comments, especially the descriptions of the various objects. (check-in: e120c558 user: drh tags: nextgen-query-plan-exp)
17:55
Bug fixes in the handling of virtual tables. (check-in: 25c0f729 user: drh tags: nextgen-query-plan-exp)
17:17
Merge all changes from trunk. (check-in: f2e15b19 user: drh tags: nextgen-query-plan-exp)
17:08
"make test" now passing. (check-in: addd7f46 user: drh tags: nextgen-query-plan-exp)
14:52
Add the "queryplanner" test permutation. Continuing refinements to NGQP. (check-in: 25e2cde1 user: drh tags: nextgen-query-plan-exp)
03:48
Continue refining the NGQP (check-in: 40567fdd user: drh tags: nextgen-query-plan-exp)
2013-06-11
18:59
Improved processing of DISTINCT. (check-in: ba897100 user: drh tags: nextgen-query-plan-exp)
14:22
Add the SQLITE_FTS3_MAX_EXPR_DEPTH compile time option. (check-in: 24fc9d44 user: dan tags: trunk)
13:30
Fix the Parse.nQueryLoop state variable to work with NGQP. (check-in: f1cac24f user: drh tags: nextgen-query-plan-exp)
02:36
Use a logarithmic rather than linear cost and row-count measures. Do not report row count estimates in EQP output. (check-in: b777b109 user: drh tags: nextgen-query-plan-exp)
02:32
Fixes to EXPLAIN QUERY PLAN output. Change weights back to something closer to what they are in legacy. More test case fixes. (Closed-Leaf check-in: 36373b85 user: drh tags: nextgen-query-plan-logcost)
01:50
Handle virtual tables correctly when using logarithmic costs. Fixes to test cases. (check-in: e612664a user: drh tags: nextgen-query-plan-logcost)
2013-06-10
23:30
Fix test cases for the new EXPLAIN QUERY PLAN format. Add the wherecosttest tool. Other fixes to logarithm cost. (check-in: aa580e36 user: drh tags: nextgen-query-plan-logcost)
20:46
Fix some minor issues with logarithmic cost in NGQP. (check-in: 69cf8772 user: drh tags: nextgen-query-plan-logcost)
19:12
First attempt to store costs and row counts as a logarithm. (check-in: 9e810967 user: drh tags: nextgen-query-plan-logcost)
14:56
Simplification and performance tweak to the high-speed NGQP bypass. (check-in: 0f8a38ee user: drh tags: nextgen-query-plan-exp)
12:34
Performance improvements for whereScan methods. (check-in: aae14350 user: drh tags: nextgen-query-plan-exp)
12:17
Add a high-speed bypass for the NGQP for the common case of a simply query with quality constraints that outputs a single row. (check-in: 8d1ba309 user: drh tags: nextgen-query-plan-exp)
12:15
Minor problems in the high-speed NGQP fixed. (Closed-Leaf check-in: 20eeccf1 user: drh tags: nextgen-query-plan-fast)
2013-06-09
20:22
Fix the memory leak in CREATE TABLE that occurs if there are two or more COLLATE clauses on the same column. (check-in: 7e3820e5 user: drh tags: trunk)
20:16
Add test cases to demonstrate the memory leak on the COLLATE clause. (Closed-Leaf check-in: 0a60212c user: drh tags: memleak)
17:21
High-speed version of NGQP. Still has some minor problems. (check-in: db2415fa user: drh tags: nextgen-query-plan-fast)
2013-06-08
19:58
Candidate fix for a memory leak that occurs if a CREATE TABLE statement contains two or more COLLATE clauses on the same column definition. (check-in: 60fc77bc user: drh tags: memleak)
2013-06-07
22:12
Improve manual cleaning step performed by the multi-platform build tool for MSVC. (check-in: d5bc1fe1 user: mistachkin tags: trunk)
02:04
Must faster computation of estimated logarithm. (check-in: dfbca3ac user: drh tags: nextgen-query-plan-exp)
00:29
Further prepare-time performance improvements. (check-in: 02741d17 user: drh tags: nextgen-query-plan-exp)
2013-06-06
23:44
Performance improvements. (check-in: 9f8e84ab user: drh tags: nextgen-query-plan-exp)
23:02
Improved management of the space to hold WhereLoop.aLTerm[]. (check-in: d4141ecb user: drh tags: nextgen-query-plan-exp)
19:25
Remove some commented-out code that was mistakenly left in the previous check-in. (check-in: b4a5dbad user: drh tags: nextgen-query-plan-exp)
19:16
Clean up and reorganize the elements of the various objects in the analysis tree for the NGQP. (check-in: bfc76ae1 user: drh tags: nextgen-query-plan-exp)
2013-06-05
23:39
Move the definitions of the WhereLevel and WhereInfo objects out of sqliteInt.h and into where.c. This will facilitate future refactoring of the internal query planner data structures. (check-in: 1574653b user: drh tags: nextgen-query-plan-exp)
17:53
Performance improvement for the OR-clause analysis in the NGQP. (check-in: 9b1c4954 user: drh tags: nextgen-query-plan-exp)
16:19
Minor performance tuning of the NGQP. (check-in: cbef38c2 user: drh tags: nextgen-query-plan-exp)
16:17
Up until now the fts4 "unicode61" tokenizer has treated all private use codepoints except the first and last of each of the three ranges as alphanumeric (eligible to be part of tokens). This commit fixes this so that all private use codepoints are considered alphanumeric. In other words, it fixes the handling of codepoints 0xE000, 0xF8FF, 0xF0000, 0xFFFFD, 0x100000 and 0x10FFFD. (check-in: 6cfd9af5 user: dan tags: trunk)
12:47
Performance tweak to whereLoopInsert(). (check-in: 1c4a7880 user: drh tags: nextgen-query-plan-exp)
12:18
Add a test case contributed on the mailing list that works in NGQP but fails in legacy. (check-in: 96afe508 user: drh tags: nextgen-query-plan-exp)
2013-06-04
23:40
Update some variable names and comments in the ORDER BY optimizer. Fix a bug in the ORDER BY optimizer dealing with IS NULL constraints. Updates to test cases. (check-in: cf96eb59 user: drh tags: nextgen-query-plan-exp)
18:27
Restore the PRAGMA reverse_unordered_selects behavior. (check-in: f49cd6c4 user: drh tags: nextgen-query-plan-exp)
18:03
Get the index-only optimization working for OR queries. (check-in: 774d5ff8 user: drh tags: nextgen-query-plan-exp)
15:31
Test case updates. (check-in: 0360fec7 user: drh tags: nextgen-query-plan-exp)
13:37
Better determination of when an index is UNIQUE. (check-in: 63fd025a user: drh tags: nextgen-query-plan-exp)
13:07
Increase the estimated full-scan cost for an FTS3 table. (check-in: 8d9f29f8 user: drh tags: nextgen-query-plan-exp)
12:58
Fix a display issue with EXPLAIN QUERY PLAN. (check-in: ff2fa407 user: drh tags: nextgen-query-plan-exp)
12:42
Refactor the ORDER BY optimizer in the NGQP so that it is easier to maintain and so that it can support optimizing out GROUP BY and DISTINCT clauses. (check-in: e605c468 user: drh tags: nextgen-query-plan-exp)
2013-06-03
22:08
Remove more vestiges of sqlite_query_plan from the test cases. (check-in: eb27086e user: drh tags: nextgen-query-plan-exp)
21:25
Adjust the xBestIndex methods on both the fuzzer and transitive_closure virtual tables so that an unused MATCH operator gets a really large cost. Remove ambiguities from the fuzzer test cases. (check-in: e2c1af78 user: drh tags: nextgen-query-plan-exp)
20:46
Pull in recent trunk changes. Fix the ORDER BY optimizer so that it is better able to deal with COLLATE clauses. Clean up ambiguities in the descidx1.test script. (check-in: 6bc71dfc user: drh tags: nextgen-query-plan-exp)
20:39
Fix a typo in a collating function inside the e_reindex.test script. (check-in: 4d74fccf user: drh tags: trunk)
19:17
Do not use an index fullscan for an UPDATE or DELETE or if disabled by sqlite3_test_control() or sqlite3_config(). (check-in: fabb2185 user: drh tags: nextgen-query-plan-exp)
19:01
Resolve ambiguities in test cases in collate2.test. (check-in: dcbbcb2e user: drh tags: nextgen-query-plan-exp)
18:50
Fix a bug in the transitive_closure virtual table that NGQP exposes. Update between.test module to avoid using sqlite_query_plan. (check-in: aa66b864 user: drh tags: nextgen-query-plan-exp)
18:14
Fix EXPLAIN QUERY PLAN row counts for the rtree virtual table tests. (check-in: 15328987 user: drh tags: nextgen-query-plan-exp)
17:35
Update the NGQP to make use of STAT3 information if it is available. (check-in: ff134e6e user: drh tags: nextgen-query-plan-exp)
16:56
Honor the orderByConsumed boolean returned from virtual table query planner. (check-in: aaf7f589 user: drh tags: nextgen-query-plan-exp)
16:03
Fix to the logic that disables constraints on virtual tables. (check-in: 62d38240 user: drh tags: nextgen-query-plan-exp)
15:34
Fix an issue that was causing ORDER BY DESC to come out in ascending order. (check-in: 02984012 user: drh tags: nextgen-query-plan-exp)
15:24
Virtual tables now always report 25 rows instead of 0 rows in the EXPLAIN QUERY PLAN output. Adjust tests accordingly. (check-in: 7d91f688 user: drh tags: nextgen-query-plan-exp)
15:07
Set the WHERE_UNIQUE flag on loops that can only run once. (check-in: 510f4d8e user: drh tags: nextgen-query-plan-exp)
14:15
Add test cases to verify that ticket [bc1aea7b725f2761] has been fixed in the NGQP. (check-in: 9b97af94 user: drh tags: nextgen-query-plan-exp)
12:47
Enhance the shell to provide more flexibility when entering numeric arguments on dot-commands. In particular, allow hexadecimal arguments to .wheretrace and .testctrl commands. Cherrypick from [b9578c371ee5]. (check-in: 3bd5ad09 user: drh tags: trunk)
12:34
Further improvements to error handling of the run-time loading of SQLite into TCL. (check-in: 7cc0c4ee user: drh tags: trunk)
2013-05-31
20:43
The NGQP might not find a solution if INDEXED BY constraints on the query are set wrong. If that is the case, print a "no query solution" error and abort before trying to use the non-existant solution. (check-in: 42511a7e user: drh tags: nextgen-query-plan-exp)
20:28
Do not search using ON clause constraints of LEFT JOINs to the right of the table. (check-in: 723f901a user: drh tags: nextgen-query-plan-exp)
20:00
Make sure a unique cursor number is allocated for automatic indices. (check-in: 433d1aec user: drh tags: nextgen-query-plan-exp)
19:14
Do not attempt to generate code in the NGQP if there have been prior errors, since with prior errors some of the expressions might not be fully named resolved. (check-in: 665e4291 user: drh tags: nextgen-query-plan-exp)
18:20
Fix a problem with code generation on LEFT JOIN of tables without an index. (check-in: 0b1bee92 user: drh tags: nextgen-query-plan-exp)
18:13
Another virtual table fix in NGQP. (check-in: 2f2ce416 user: drh tags: nextgen-query-plan-exp)
17:55
Fix problems in the virtual table logic for NGQP. (check-in: 23af28e2 user: drh tags: nextgen-query-plan-exp)
15:50
Remove the definitions of objects that are no longer used: WhereCost, WherePlan, and WhereBestIdx. (check-in: 816f8add user: drh tags: nextgen-query-plan-exp)
15:36
Improved handling of errors when doing run-time loading of an SQLite shared-library into TCL. (check-in: b3f23d18 user: drh tags: trunk)
15:18
Allow tracing of whereLoopInsert() when the 0x8 bit is set on ".wheretrace". Remove the use of sqlite_query_plan from where2.test. Fix a bug in the code generator for OR clause optimizations. (check-in: 707f0323 user: drh tags: nextgen-query-plan-exp)
14:31
Enhance the shell to provide more flexibility when entering numeric arguments on dot-commands. In particular, allow hex arguments to .wheretrace. (check-in: b9578c37 user: drh tags: nextgen-query-plan-exp)
13:36
Futher enhancements to the ORDER BY optimizer. (check-in: d8efa5f8 user: drh tags: nextgen-query-plan-exp)
12:43
Improved detection of unnecessary ORDER BY clauses. (check-in: 58805eb3 user: drh tags: nextgen-query-plan-exp)
11:57
Fix the constructAutomaticIndex() routine so that it works with NGQP. (check-in: 5e1e6139 user: drh tags: nextgen-query-plan-exp)
2013-05-30
23:21
Improvements to the ORDER BY suppressor in the NGQP. (check-in: 24a2e9dd user: drh tags: nextgen-query-plan-exp)
22:27
Incremental check-in with various NGQP fixes. Many tests still fail. (check-in: a51d8c92 user: drh tags: nextgen-query-plan-exp)
19:29
Futher simplifications to the NGQP. Fix some test cases to use EXPLAIN QUERY PLAN rather than the (now obsolete) sqlite_query_plan global variable. (check-in: ae985db4 user: drh tags: nextgen-query-plan-exp)
19:28
The expected result in a test case can be of the form "*glob*" or "~*glob*" to match or not match the GLOB pattern. This is useful for matching EXPLAIN QUERY PLAN output that contains regular expression syntax characters like "?", "(", and ")". (check-in: a3b4e261 user: drh tags: nextgen-query-plan-exp)
17:43
Cut over the NGQP query planner. Remove lots of legacy code. This check-in compiles but does not work. The test suite gets incorrect answers and crashes. (check-in: 001539df user: drh tags: nextgen-query-plan-exp)
11:48
Merge recent trunk changes into the NGQP branch. (check-in: aebe1f26 user: drh tags: nextgen-query-plan-exp)
2013-05-29
17:48
Updates to the Codec interface to support codecs on attached databases and to allow rekeying in the middle of a transaction. These changes are only applicable if SQLite is compiled with SQLITE_HAS_CODEC. (check-in: d5b084e9 user: drh tags: trunk)
14:22
Add tests for running FTS 'merge' and 'optimize' commands in shared cache mode. (check-in: 09e5a7ad user: dan tags: trunk)
2013-05-28
20:25
Add the percentile() SQL function as a loadable extension in the ext/misc directory. (check-in: a64d760d user: drh tags: trunk)
17:30
Finish removing the sqlite3.inTrans field. In the previous check-in, it was merely commented out because I failed to select File->Save on my text editor. (check-in: 2f97e38a user: drh tags: trunk)
17:25
Remove the obsolete and unused sqlite3.inTrans field. (check-in: c3381cd4 user: drh tags: trunk)
12:11
Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: a0d5cc93 user: drh tags: trunk)
10:52
Merge autoconf-package branch with trunk. (check-in: a72f50ef user: dan tags: trunk)
2013-05-27
18:37
Add the "dist" target to main.mk. For building the amalgamation autoconf package. (Closed-Leaf check-in: 3fdc8b56 user: dan tags: autoconf-package)
17:59
Update the NGQP to record which loops need be run in reverse order to satisfy ORDER BY clauses. (check-in: 211f7a53 user: drh tags: nextgen-query-plan-exp)
17:19
Add the files used to build the amalgamation-autoconf package. (check-in: 048865e8 user: dan tags: autoconf-package)
10:11
When writing to an FTS table, take an exclusive shared-cache lock on the %_segdir table before writing. Otherwise, an xCommit() call may report an SQLITE_LOCKED error. (check-in: 3cd2da42 user: dan tags: trunk)
2013-05-24
14:52
Record in the WhereLoop object the set of virtual table constraints that need not be separately checked. (check-in: b49fa745 user: drh tags: nextgen-query-plan-exp)
13:55
Merge the latest trunk changes into the NGQP branch. (check-in: 7c8f992c user: drh tags: nextgen-query-plan-exp)
12:47
Set _XOPEN_SOURCE to 600 so that fchmod() will (hopefully) work on FreeBSD. (check-in: 61a10452 user: drh tags: trunk)
11:57
Fix harmless compiler warnings in the shell. (check-in: 9e2c17c5 user: drh tags: trunk)
2013-05-23
20:52
Add OGC GeoPackage files to the magic.txt database. (check-in: dab6a328 user: drh tags: trunk)
10:15
Have the "make fulltest" command run the "mmap" permutation test. (check-in: 82ad373f user: dan tags: trunk)
10:13
Avoid unnecessary calls to FCNTL_SIZE_HINT. Return an error to the user if the file-control invoked by "PRAGMA mmap_size" returns a value other than SQLITE_OK or SQLITE_NOTFOUND. (check-in: 40cfde8b user: dan tags: trunk)
01:40
Cause the mmap_size PRAGMA to immediately change the mmap space if the database connection is already active. In particular, reducing mmap_size will immediately free up process address space. (check-in: 76117792 user: drh tags: trunk)
2013-05-22
20:49
Use the NGQP plan for EXPLAIN QUERY PLAN output. This change causes 207 errors in veryquick.test, many of which are benign. (check-in: f783e8e6 user: drh tags: nextgen-query-plan-exp)
17:01
Allow the rowid at the end of an index to be used in a constraint on that index. (check-in: 9bf0524d user: drh tags: nextgen-query-plan-exp)
02:06
Improvements to ORDER BY handling in the NGQP. Fix an "exit" mistakenly left in a test script during the previous check-in. (check-in: 12c709b4 user: drh tags: nextgen-query-plan-exp)
2013-05-21
19:23
Enhanced "wheretrace" output in the NGQP solver routine. (check-in: 04dfb85a user: drh tags: nextgen-query-plan-exp)
15:52
Work toward improving the NGQP's ability to optimize out ORDER BY clauses. (check-in: 67367f1e user: drh tags: nextgen-query-plan-exp)
2013-05-20
15:14
Merge in all trunk changes up through the 3.7.17 release. (check-in: 14ab6675 user: drh tags: nextgen-query-plan-exp)
00:56
Version 3.7.17 (check-in: 118a3b35 user: drh tags: trunk, release, version-3.7.17)
2013-05-17
20:16
Remove a stray tab character from the transitive_closure extension source code. (check-in: 7a9aa21c user: drh tags: trunk)
17:15
Fix a bug in SQLITE_TRACE_SIZE_LIMIT that was introduced by check-in [1a1cf5aa86734c8]. That check-in was to remove harmless compiler warnings. So once again, we have introduced a real bug into SQLite by attempting to eliminate a harmless compiler warning. (check-in: cec2bcb4 user: drh tags: trunk)
16:41
In test file test_syscall.c, include sqliteInt.h before any tcl or system include files. This ensures that the magical defines in sqliteInt.h really do enable large file support (and set things up so that sizeof(off_t)==8). (check-in: 0f355bb1 user: dan tags: trunk)
12:52
Use sum() instead of total() in mptest/multiwrite01.test too. (check-in: d0c2288c user: drh tags: trunk)
12:51
Use sum() instead of total() in the mptest/crash01.test script. (check-in: 8ba0fc98 user: drh tags: trunk)
12:25
Add extra "PRAGMA mmap_size = N" statements to mmap1.test and mmap2.test. (check-in: cec0a06c user: dan tags: trunk)
12:10
In os_unix.c and os_win.c, initialize the default mmap-limit of a new file descriptor to the current global default mmap-limit, not the current global maximum allowable mmap-limit. (check-in: 1def4ea3 user: dan tags: trunk)
2013-05-16
19:15
Fix minor test script issues causing releasetest.tcl to fail. (check-in: d8ded9d8 user: dan tags: trunk)
18:33
Fix a typo in Makefile.in preventing compilation with the --disable-amalgamation option. (check-in: 8ffbefe7 user: dan tags: trunk)
14:28
Several releasetest.tcl related fixes to test cases. No code changes. (check-in: e97d744b user: dan tags: trunk)
12:41
Fix compilation with SQLITE_OMIT_WAL on Win32. (check-in: 6d45a79f user: mistachkin tags: trunk)
11:57
In sqlite3_close_v2(), do not attempt to roll back a transaction if there exist active statement objects. Any open transaction will be rolled back when the last of these statement objects is finalized. (check-in: d11e7607 user: dan tags: trunk)
01:02
Treat identifiers in the HAVING clause the same as in the WHERE clause. Only consider AS names from the result set to match if there are no other matches. Continuation of the fix for [2500cdb9be05]. This check-in fixes a bug found by SqlLogicTest during release testing for version 3.7.17. (check-in: 9ffff3d0 user: drh tags: trunk)
2013-05-15
20:35
Apply compilation fix from [a58af81483] to the other makefiles as well. (check-in: 7e76889d user: mistachkin tags: trunk)
18:34
Fixes to allow testfixture to be compiled with SQLITE_OMIT_VIRTUAL_TABLE defined. (check-in: 00231fb0 user: dan tags: trunk)
17:47
The sqlite3ExprCollSeq() function can no longer be called while parse the schema, so remove the code path inside of sqlite3ExprCollSeq() that dealt with that case. (check-in: 867b3e3b user: drh tags: trunk)
17:08
Make sure an sqlite3_close() or a rollback on one shared-cache connection does not disrupt the operation of other connections using the same shared cache. Fix for ticket [e636a050b709]. (check-in: 5cc1cc55 user: drh tags: trunk)
16:24
Extra test for commit [6dae62c4e5]. (check-in: b10b9e75 user: dan tags: trunk)
16:16
Add main.c to the list of files compiled with SQLITE_TEST defined when building testfixture. (check-in: a58af814 user: dan tags: trunk)
16:08
Fix the sharedA.test module so that it does not attempt to run TCL callbacks on a different thread from where the interpreter was originally created. (Closed-Leaf check-in: 65ff754e user: drh tags: shared-cache-fixes)
15:53
Do not run sharedA.test if the system is not threadsafe. (check-in: d484eaf8 user: dan tags: shared-cache-fixes)
15:42
Merge latest trunk changes with this branch. (check-in: 47dd65a8 user: dan tags: shared-cache-fixes)
15:16
When loading a database schema that contains an index definition that includes a COLLATE clause for which the collation sequence is unavailable, do not assume that that index uses BINARY instead. Fix for [0fc59f908b]. (check-in: 6dae62c4 user: dan tags: trunk)
13:05
Add the rot13.c loadable extension. (check-in: 8f9bd8e7 user: drh tags: trunk)
10:21
When closing a connection, avoid tripping active cursors belonging to a different shared-cache client. Also, if sqlite3_close() is called while there are still active statements belonging to the connection, return SQLITE_BUSY and do not roll back any active transaction. Proposed fix for ticket [e636a050b709]. (check-in: 6071b7cc user: dan tags: shared-cache-fixes)
08:00
Merge updates from trunk. (check-in: 6fbad957 user: mistachkin tags: toTypeFuncs)
2013-05-14
23:13
Merge together the fork in this branch. (check-in: 164e3d4d user: drh tags: shared-cache-fixes)
23:12
Fix an assert() in unlockBtreeIfUnused() so that it checks for the existance of an untripped cursor, not for the existance of any cursor at all. (check-in: a6f851d0 user: drh tags: shared-cache-fixes)
20:36
Avoid deleting a b-tree "has-content" vector belonging to another shared-cache connection from within sqlite3_close(). (check-in: 93462df7 user: dan tags: shared-cache-fixes)
15:31
First attempt to get ORDER BY optimization working in NGQP. (check-in: 9fe20292 user: drh tags: nextgen-query-plan-exp)
2013-05-13
18:23
Candidate fixes for problems revealed by notify2.test. Notify2.test is still failing at this point. (check-in: ea0428f9 user: dan tags: shared-cache-fixes)
2013-05-11
00:06
Minor fixes to the OR-clause processing in the NGQP. (check-in: d6946f33 user: drh tags: nextgen-query-plan-exp)
2013-05-10
20:26
Now generating OR-clause plans. (check-in: e17003fc user: drh tags: nextgen-query-plan-exp)
15:16
Update the NGQP so that it can produce plans that include automatic indices. (check-in: 586b55d8 user: drh tags: nextgen-query-plan-exp)
03:30
Factor out common operations into whereLoopAddAll(). Add stubs for missing features. (check-in: 0278e420 user: drh tags: nextgen-query-plan-exp)
02:11
Merge in the latest trunk changes. (check-in: 5ed31c82 user: drh tags: nextgen-query-plan-exp)
02:00
Free up bits of wsFlags for reuse. Install the ORDER BY optimization infrastructure for the NGQP. (check-in: 82d50e19 user: drh tags: nextgen-query-plan-exp)
2013-05-09
18:12
Add assert()s to the implementation of xRead() in the built-in VFSes to verify that the offset parameter is always non-negative. (check-in: cf5c3642 user: drh tags: trunk)
14:20
Do not move WHERE clause terms inside OR expressions that are contained within an ON clause of a LEFT JOIN. Fix for ticket [f2369304e47167e3e]. (check-in: 1128575d user: drh tags: trunk)
00:40
Refine and reform all Windows OSTRACE macro usage. Replace all usage of sqlite3TestErrorName() with sqlite3ErrName() and add missing return codes. (check-in: 610425f1 user: mistachkin tags: trunk)
2013-05-08
20:05
Fix memory leaks in the NGQP logic for virtual tables. (check-in: 3c2e83a4 user: drh tags: nextgen-query-plan-exp)
17:06
Fix a couple of harmless compiler warnings in the fts3_tokenize virtual table. (check-in: 1fa8c457 user: drh tags: trunk)
16:57
Make sure the ORDER BY collating sequences are compatible with the comparison collations before using the merge algorithm for compound SELECT statements. Fix for ticket [6709574d2a8d8]. (check-in: ce853a75 user: drh tags: trunk)
14:20
Fix the wholenumber virtual table so that it returns higher costs for unconstrained usage. Cherrypick from [ceff8955020cd13]. (check-in: 7227b615 user: drh tags: trunk)
14:14
NGQP working with virtual tables, though many legacy tests fail and there are yet some memory leaks. (check-in: bd9327a9 user: drh tags: nextgen-query-plan-exp)
14:13
Fix the wholenumber virtual table so that it returns higher costs for unconstrained usage. (check-in: ceff8955 user: drh tags: nextgen-query-plan-exp)
04:22
More bug fixes to the WhereLoop generator and the solver in NGQP. Now finds the best plan for TPC-H Q8. This seems to prove the concept, but there is still much work to be done. (check-in: 8e5aad37 user: drh tags: nextgen-query-plan-exp)
03:22
Bug fixes in the solver. (check-in: b36034bb user: drh tags: nextgen-query-plan-exp)
03:05
Add the NGQP solver. (check-in: 5d37587c user: drh tags: nextgen-query-plan-exp)
2013-05-07
23:06
Continued progress on generating good WhereLoop objects for the new query planner. (check-in: 15cc8a16 user: drh tags: nextgen-query-plan-exp)
19:44
Inserting a few WhereLoop objects without leaking memory. Costs are not correct. Inequality and IN constraints are not implemented. (check-in: e8881a8b user: drh tags: nextgen-query-plan-exp)
17:49
Make sure the ORDER BY collating sequences are compatible with the comparison collations before using the merge algorithm for compound SELECT statements. Candidate fix for ticket [6709574d2a8d8]. (Closed-Leaf check-in: fc3630cd user: drh tags: tkt-6709574)
12:16
Modify the fts3tokenize table implementation so that it does not use the SQL function fts3_tokenizer. The user may have installed an authorizer callback that prohibits this. (check-in: 0ba67b64 user: dan tags: trunk)
2013-05-06
21:01
In the command-line shell, output the elements of the schema in the order that they appear in the sqlite_master table. This is necessary in some cases to make the schema parsable. (check-in: e5b3cd74 user: drh tags: trunk)
20:28
In the command-line shell, make sure the output of dot-commands goes to the same redirected output stream as the result of queries. Ticket [2f96536e7ff7dba] (check-in: b72d3659 user: drh tags: trunk)
14:57
Add an assert() to fts3_expr.c in order to silence a clang warning. (check-in: d8dc2c5f user: drh tags: trunk)
13:22
Make sure the authorizer callback gets a valid pointer to "ROWID" for the column-name parameter when doing an UPDATE that changes the rowid. Fix for ticket [0eb70d77cb05bb2272]. (check-in: 26a59bb8 user: drh tags: trunk)
2013-05-04
20:25
In where.c, make findTerm() a wrapper around methods to a new WhereScan object which is capable of finding all suitable matching terms, not just the first. This check-in includes some prototype functions for building WhereLoop objects. (check-in: dd92b8fa user: drh tags: nextgen-query-plan-exp)
2013-05-03
20:08
Add magic numbers for Bentley Systems application files. (check-in: 9314b080 user: drh tags: trunk)
15:23
Allocate meta(8) in the header as the "application ID" and add the "PRAGMA application_id" command to query and set it. (check-in: b2efe4f2 user: drh tags: trunk)
2013-05-02
17:37
Minor fixes for compilation with SQLITE_OMIT_WAL defined. (check-in: b81e87e7 user: dan tags: trunk)
00:15
Begin inserting some experimental code for the next generation query planner. (check-in: ccaf4c3f user: drh tags: nextgen-query-plan-exp)
2013-05-01
20:40
Fix comments in the magic number file. (Closed-Leaf check-in: 5a500848 user: drh tags: application-id)
20:36
Preserve the application-ID across VACUUM. Updates to the magic number file. (check-in: 4a190bea user: drh tags: application-id)
19:49
Allocate 4 bytes of unused header space for an "Application ID". Add the "PRAGMA application_id" command to set and query this identifier. Add the "magic.txt" file to show how the posix file command might use this application id. (check-in: 28c9e7fd user: drh tags: application-id)
17:58
Do not use a transitive constraint to an IN operator where the RHS is a constant if there exists a direct == operator to another table in an outer loop. (check-in: faedaeac user: drh tags: trunk)
17:22
Avoid redundant constraint checking due to transitive constraints. (check-in: 329478cb user: drh tags: trunk)
2013-04-30
14:25
Update the documentation to explain that when the 3rd parameter to sqlite3_bind_text() and friends is NULL the result is to bind a NULL SQL value. Ticket [19b44e35753ba] (check-in: bd92de0e user: drh tags: trunk)
14:06
Make sure extra parentheses around subqueries in the FROM clause are harmless. Ticket [28c6e830f239ea5]. (check-in: 1c795692 user: drh tags: trunk)
07:58
Add the #ifdefs for sqlite3ErrName() to sqliteInt.h as well. (Closed-Leaf check-in: 400fc4c3 user: mistachkin tags: winOsTrace)
07:54
Define the sqlite3ErrName() function only when necessary. More robust handling of unknown return codes. (check-in: e47cd314 user: mistachkin tags: winOsTrace)
2013-04-29
18:07
Improve the error message issued when an FTS query exceeds the maximum allowable tree depth. (check-in: f480b1fe user: dan tags: trunk)
17:12
Fix an off-by-one in the code for limiting the depth of FTS expression trees. (check-in: 72ac7318 user: dan tags: trunk)
09:20
Merge mmap test fix from trunk. (check-in: 95811877 user: mistachkin tags: winOsTrace)
09:17
Fix mmap1.test so that it passes on windows as well as unix. (check-in: 52417eac user: dan tags: trunk)
08:58
Adjust a WAL test result due to changes in the corresponding return code name. (check-in: 9272009f user: mistachkin tags: winOsTrace)
08:56
Merge updates from trunk. (check-in: 3a245a83 user: mistachkin tags: winOsTrace)
07:01
Update 'fuzzerfault' test for its new module loading command. Fix several test names in 'io.test' and make sure the database gets closed between tests. (check-in: e81e9ca1 user: mistachkin tags: trunk)
03:09
More refinements to Windows OSTRACE usage. Replace all usage of sqlite3TestErrorName() with sqlite3ErrName() and add missing return codes. (check-in: 05ba5e23 user: mistachkin tags: winOsTrace)
2013-04-28
01:44
Initial work on reforming usage of OSTRACE by the Windows VFS. (check-in: b347b5d1 user: mistachkin tags: winOsTrace)
2013-04-27
18:06
Remove spellfix virtual table documentation from the source tree. Reference the separate documentation on the website instead. (check-in: adcf7890 user: drh tags: trunk)
12:13
Untested fix for building on VxWorks. (check-in: f14d55cf user: drh tags: trunk)
2013-04-26
19:33
Fix a formatting typo in a comment. No changes to code. (check-in: 7a97226f user: drh tags: trunk)
18:36
Avoid unnecessarily reseting the pager cache after committing a transaction that takes advantage of the SQLITE_IOCAP_ATOMIC related optimization. (check-in: c47144e9 user: dan tags: trunk)
17:00
Avoid using posix_fallocate() in WAL mode, as it is not supported by all file-systems. (check-in: 1bbb4be1 user: dan tags: trunk)
16:09
Avoid using posix_fallocate() in WAL mode, as it is not supported by all file-systems. (Closed-Leaf check-in: 9c7523da user: dan tags: avoid-fallocate)
15:55
Update documentation with new hyperlinks. No changes to code. (check-in: 640eb54a user: drh tags: trunk)
14:13
Rebalance FTS expressions after parsing to limit recursion during evaluation. Avoid recursion when deleting FTS expression trees. Enforce a limit (currently 12) on the depth of an expression tree. (check-in: 49d23ef6 user: dan tags: trunk)
14:04
Merge another trunk change. (Closed-Leaf check-in: 2648966f user: dan tags: fts3-expr-rebalance)
13:14
Fix harmless compiler warnings in the FTS expression parser. (check-in: 3c78af8c user: drh tags: fts3-expr-rebalance)
12:08
Reduce the default SQLITE_MAX_MMAP_SIZE slightly so that it fits in a signed 32-bit integer. (check-in: 460752b8 user: drh tags: trunk)
06:58
Merge latest trunk changes. (check-in: 4d08e74d user: dan tags: fts3-expr-rebalance)
2013-04-25
20:34
Rebalance FTS expressions after parsing to limit recursion during evaluation. Avoid recursion when deleting FTS expression trees. Enforce a limit on the depth of an expression tree. (check-in: f968d43f user: dan tags: fts3-expr-rebalance)
19:31
Added the nextchar.c extension. Minor changes to the spellfix.c extension so that it can be appended to an amalgamation and compiled without duplicating symbols. (check-in: 56b9a417 user: drh tags: trunk)
17:27
Fix the tool/build-shell.sh script to remove references to files that are now loadable extensions. (check-in: aabeea98 user: drh tags: trunk)
17:07
Add wiki documentation files for the spellfix1 virtual table. (check-in: 381564e9 user: drh tags: trunk)
16:52
Merge the std-ext branch into trunk. This merge adds several new extensions to the ext/misc folder, including transitive_closure, ieee754, and amatch, and it converts some older src/test_*.c file into extensions in the ext/misc folder. (check-in: bbe607c7 user: drh tags: trunk)
16:42
Added the transitive_closure, ieee754, and amatch extensions. (Closed-Leaf check-in: 84018099 user: drh tags: std-ext)
14:59
Move the test_spellfix.c module to ext/misc/spellfix.c. (check-in: de556add user: drh tags: std-ext)
14:36
Fix the MSVC makefile so that it works with the ext/misc/*.c extensions. (check-in: 680822e8 user: drh tags: std-ext)
14:31
Convert the fuzzer virtual table into a loadable extension and move it to the ext/misc/fuzzer.c file. (check-in: c8c69307 user: drh tags: std-ext)
11:58
Make test_wholenumber.c into a loadable extension and move it to ext/misc/wholenumber.c. (check-in: efcc9dd0 user: drh tags: std-ext)
00:57
Make sure the affinity and datatype of sub-subqueries are initialized prior to subqueries as the latter relies on the former. (check-in: 39b4e6ff user: drh tags: trunk)
2013-04-24
13:50
Fix a simple comment typo. No changes to code. (check-in: f136bd95 user: drh tags: trunk)
2013-04-23
20:10
Make "test_regexp.c" into a loadable extension and move it over to ext/misc/regexp.c. Add the "load_static_extension" command for testing purposes. (check-in: 860fc393 user: drh tags: std-ext)
2013-04-22
23:38
Fix harmless compiler warnings. (check-in: 1a1cf5aa user: drh tags: trunk)
19:56
Do not allow a virtual table to cancel the ORDER BY clause unless all outer loops are guaranteed to return no more than one row result. Candidate fix for ticket [ba82a4a41eac1]. (check-in: 49cfa14f user: drh tags: trunk)
17:07
Update MSVC makefile for the fts3tokenize virtual table. Clear some harmless compiler warnings in the fts3tokenize code. (check-in: 2b3fed09 user: drh tags: trunk)
15:30
Add virtual table module 'fts3tokenize' to fts3. fts3tokenize provides SQL access to FTS tokenizer implementations. (check-in: c5a4b21a user: dan tags: trunk)
13:51
Enhanced documentation for the SQLITE_CONFIG_SQLLOG mechanism and the test_sqllog.c demonstration file. No changes to code. (check-in: 206caf21 user: drh tags: trunk)
02:39
Use transitivity to move constraints into the outer loops of a join whenever possible, thereby reducing the amount of work that needs to occur in inner loops. (check-in: 5f4907e1 user: drh tags: trunk)
2013-04-19
12:32
Add the "warning" command to the TCL test infrastructure. Fix problems with the loadext.test module. (check-in: 514adbbd user: drh tags: trunk)
02:47
Enhance the extension loading mechanism so that the same source code can be used for run-time loadable extensions and statically linked extensions, and to mask architectural differences in shared libraries. (check-in: a85b6ece user: drh tags: trunk)
01:23
Make the SQLITE_EXTENSION_INIT1 and SQLITE_EXTENSION_INIT2 macros into no-ops if the extension is statically linked. (Closed-Leaf check-in: 86eb3eed user: drh tags: loadext)
2013-04-18
22:56
Experiments in making loadable extensions easier to program. The shared library filename tries various operating-system specific extensions if the bare library name does not work. And the entry point is derived from the filename is the legacy entry point name "sqlite3_extension_init" is not found. (check-in: 6cfa1d73 user: drh tags: loadext)
20:33
Fix an incorrect comment (a copy/paste error) in the mptester. No code changes. (check-in: e94783f3 user: drh tags: trunk)
15:11
Add the --breakpoint and --show-sql-errors commands to mptester. (check-in: d0898fd7 user: drh tags: trunk)
03:10
Fix a compiler warning in sqlite3_compileoption_used(). (check-in: e9f9d84b user: drh tags: trunk)
02:55
Do not suppress the ORDER BY clause on a virtual table query if an IN constraint is used. Fix for ticket [f69b96e3076e]. Testing done on TH3 using cov1/where37.test. (check-in: 61b2a7be user: drh tags: trunk)
2013-04-17
19:42
Fix the --match command in mptester so that it checks the entire result, not just a prefix of the result. (check-in: 3e3ecad2 user: drh tags: trunk)
18:56
In the mptester, add --glob and --notglob and --testcase. Make --exit work on the main thread. Enable the load_extension() SQL function. (check-in: c273c171 user: drh tags: trunk)
17:33
In the command-line shell, allow a dot-command to occur after a multi-line c-style comment. (check-in: e2c94ab9 user: drh tags: trunk)
14:04
Improvements to some of the comments that are used to render documentation concerning loadable extensions. No changes to code. (check-in: 76f4e312 user: drh tags: trunk)
12:19
Update the command-line shell to give an exit code of 0 when the ".quit" command is run from the command-line. (check-in: 467e2181 user: drh tags: trunk)
2013-04-16
18:24
Omit sqlite3_compileoption_used() entries that are not explicitly stated on the compiler command-line, except keep SQLITE_THREADSAFE around so that there is always at least one compilation option. (check-in: 109d6767 user: drh tags: trunk)
14:58
Remove the unused SQLITE_CURDIR macro. (check-in: 16f7ba4a user: drh tags: trunk)
14:52
Disable memory-mapped I/O when the codec is enabled. (check-in: 340cca30 user: drh tags: trunk)
2013-04-15
20:08
Expand scope of the SQLITE_MAX_MMAP_SIZE define for the Win32 VFS. (check-in: f4b8faab user: mistachkin tags: trunk)
17:03
Refactoring the mmap interface. The controlling pragma is now "mmap_size" instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and SQLITE_FCNTL_MMAP_SIZE, respecctively. The default mmap_size is now always 0, meaning that memory mapped I/O is off by default. There is a new compile-time option SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size. Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic and causes it to be omitted from the build. An extra argument is added to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we know that it does not work, meaning that it cannot be turned on by mistake on those platforms. (check-in: ea1404a1 user: drh tags: trunk)
13:10
Fix a formatting typo in a comment. No changes to code. (check-in: 34124249 user: drh tags: trunk)
2013-04-14
23:51
Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Fix for ticket [2500cdb9be]. (check-in: d0d5af79 user: drh tags: trunk)
2013-04-13
19:59
Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Candidate fix for ticket [2500cdb9be]. (Closed-Leaf check-in: ad53924d user: drh tags: tkt-2500cdb9be)
2013-04-12
16:53
Add a test case for detaching a database referenced by an fts4aux table created in the temp schema. (check-in: 6d6f0592 user: dan tags: trunk)
16:47
Change the fts4aux virtual table module so that fts4aux tables created in the temp database may report on fts3/fts4 tables in any attached database. (check-in: 546a187f user: dan tags: trunk)
01:04
In mptester: improve the way that child processes are dispatched. Pass the --vfs option through to children. Log the command used to start child processes when the tracing level is high enough. (check-in: 55718ae3 user: drh tags: trunk)
2013-04-11
21:13
For the multi-process tester on Win32, make use of the GetCurrentProcessId API. (check-in: f1b524b9 user: mistachkin tags: trunk)
18:28
Fix the xCheckReservedLock() method on the windows VFS so that it cannot return a false positive when two or more processes use it at the same time on the same file. Ticket [7ff3120e4fa54abb55] (check-in: dd3510bb user: drh tags: trunk)
13:26
Fix pragma code generation so that it always outputs an OP_Trace opcode so that pragmas are shown in sqlite3_trace() output. (check-in: 663f04bd user: drh tags: trunk)
11:53
Show the process-id on log messages from mptester. (check-in: 6748a83d user: drh tags: trunk)
01:16
Have the UNIX VFS issue warnings via sqlite3_log() if a database file is renamed or unlinked or linked to more than one name while the file is open. (check-in: e238dcf9 user: drh tags: trunk)
00:13
Experimental changes to support a Win32 VSIX package flavor. (Closed-Leaf check-in: abedd7cb user: mistachkin tags: vsixWin32)
00:09
Enhance multi-process tester integration with the Win32 API. (check-in: 0fdc7435 user: mistachkin tags: trunk)
2013-04-10
23:48
Add new primary error codes SQLITE_NOTICE and SQLITE_WARNING for use with sqlite3_log(). Add new extended error codes SQLITE_NOTICE_RECOVER_WAL and SQLITE_NOTICE_RECOVER_ROLLBACK to use with sqlite3_log() messages that occur on each recovery. (check-in: be7d2c54 user: drh tags: trunk)
16:13
Add the sqlite3_strglob() interface. (check-in: 41d6ff32 user: drh tags: trunk)
12:01
Use symbolic names for tasks in mptester. (check-in: f0d95afc user: drh tags: trunk)
03:06
Fix typo in name of mptest executable files in clean targets. (check-in: 4c7d9e1e user: mistachkin tags: trunk)
02:56
Correct test numbering on several rtree tests. (check-in: 0adf8a3a user: mistachkin tags: trunk)
2013-04-09
20:04
Limit integrity_check output to 10 lines in mptester scripts. (check-in: 67ee0dc0 user: drh tags: trunk)
18:36
Change the rollback journal so that it invokes sqlite3_log() make a record of a recovery, just as the WAL journal does. (check-in: 7cd3f6cd user: drh tags: trunk)
16:19
Add extra #ifndef statements in os_unix.c and os_win.c to make sure the memory mapped I/O really is disabled when SQLITE_DISABLE_MMAP is set. (check-in: c1e2523c user: drh tags: trunk)
2013-04-08
20:47
Disable the use of memory-mapped I/O if the SQLITE_DISABLE_MMAP macro is defined. Automatically define this macro for OpenBSD and QNX. Other systems are likely to be added to the disabled list over time. (check-in: 8a4314a3 user: drh tags: trunk)
19:13
In mptester, handle startScript no-change commits using a retry rather than grabbing an exclusive transaction. (check-in: ae8bb24b user: drh tags: trunk)
18:58
Still more tests using mptester. Added test cases that leave rollback journals that must be recovered by other threads. (check-in: 437b674f user: drh tags: trunk)
17:57
Adding tests to the mptester scripts. (check-in: e121adce user: drh tags: trunk)
15:36
Change mptester to avoid reporting SQLITE_BUSY errors if the busy handler is turned off and the tracing level is set low. (check-in: d77407ae user: drh tags: trunk)
15:30
Handle the case in os_unix.c where SQLITE_FCNTL_MMAP_LIMIT requests that the mmap limit be set to a value smaller than the current mapping. (check-in: 36047349 user: dan tags: trunk)
14:41
Merge the multi-process tester into trunk. (check-in: ea53c45d user: drh tags: trunk)
14:28
Add the "mptester" target to the makefiles. Make mptester run with synchronous off by default. (Closed-Leaf check-in: 1397830b user: drh tags: mptest)
13:59
Fix harmless compiler warnings in mptest.c. (check-in: 59bdbb10 user: drh tags: mptest)
13:48
Add the vfsname() and eval() SQL functions to mptest.c. Enhancements to the test/config01.test script. (check-in: 91397a14 user: drh tags: mptest)
13:13
Add --if, --else, --endif processing to mptest.c. (check-in: 51265aca user: drh tags: mptest)
10:38
Fix an incorrect type cast in an assignment in vdbe.c. (check-in: 320b5295 user: dan tags: trunk)
2013-04-06
18:35
Fix the --source command so that its argument is relative to the script. Verify that the SQLite header and library match. Print SQLite version and compile-time configuration information on startup. (check-in: 15cb0db7 user: drh tags: mptest)
18:10
Merge trunk changes into the mptest branch. The mptest needs the SQLITE_MAX_SCHEMA_RETRY fix in particular. (check-in: fb7a7773 user: drh tags: mptest)
18:06
Increase the default SQLITE_MAX_SCHEMA_RETRY to 50. Make sure that macro covers every case where a prepared statement might need to be reprepared due to a schema change. The sqlite3_exec() interface now uses sqlite3_prepare_v2(). (check-in: c1d7304c user: drh tags: trunk)
14:30
Add SQLITE_CONFIG_LOG error logging to the mptest program. (check-in: 716c25bd user: drh tags: mptest)
14:16
Get the build of mptest working on mac. (check-in: a0bae686 user: drh tags: mptest)
14:04
Get the mptest program running on windows. (check-in: 3966b332 user: drh tags: mptest)
13:09
Many improvements to the mptest program. Added a simple test script. (check-in: 07b0401a user: drh tags: mptest)
11:03
Add tests to "permutations.test coverage-pager" to cover uncovered branches. (check-in: 07a0e4e9 user: dan tags: trunk)
00:19
Add a prototype TH3-script-style test harness that starts multiple processes operating on the same database file at the same time. (check-in: c318fafe user: drh tags: mptest)
2013-04-05
20:40
Improve the code coverage of "permutations.test coverage-pager". (check-in: b095e2cd user: dan tags: trunk)
2013-04-04
19:32
Add further multi-client tests to mmap1.test. (check-in: a107f75d user: dan tags: trunk)
17:28
Disable memory-mapped I/O for the win32lock.test module (check-in: 2b3d9805 user: drh tags: trunk)
01:54
Updates to the file-control documentation. No changes to code. (check-in: 51fab480 user: drh tags: trunk)
00:51
Increase the version number to 3.7.17. (check-in: 5c8c5a2a user: drh tags: trunk)
00:40
Try to use mmap() to speed access to the database file on windows, linux, and mac. (check-in: fff2be60 user: drh tags: trunk)
2013-04-03
21:23
Release resources prior to bailing out of the btreeCreateTable() routine following an OOM error. (Closed-Leaf check-in: b2a72be9 user: drh tags: experimental-mmap)
20:04
Remove an unreachable branch in the direct blob I/O logic of btree.c. (check-in: f97d7274 user: drh tags: experimental-mmap)
13:38
Fix a bug in the detection of iOS when setting the default mmap_limit. (check-in: ac1432b3 user: drh tags: experimental-mmap)
13:09
Change the mmap_limit pragma to report the new limit, or to report the existing limit if called with no arguments. Report the default mmap_limit as part of PRAGMA compile_options. Set the default mmmap_limit to 0 for all systems other than linux, mac, windows, and solaris. (check-in: 2d9f1327 user: drh tags: experimental-mmap)
11:52
Remove the restriction on using xFetch to load the root pages of tables and indexes. It appears to have been based on a misconception. (check-in: 5b082efe user: dan tags: experimental-mmap)
11:38
When moving a page to make way for the root page of a new table or index in an auto-vacuum database, save the positions of any cursors that may be holding xFetch references to the page being moved. (check-in: 9d9b1da5 user: dan tags: experimental-mmap)
11:17
In btree.c, save the positions of other cursors open on the same table when writing via an incremental blob handle. Otherwise, they may be left holding an out-of-date xFetch page reference. (check-in: 3f09fba1 user: dan tags: experimental-mmap)
10:50
Initialize the mmap_limit of temporary files to the configured mmap_limit. (check-in: 24bab759 user: drh tags: experimental-mmap)
03:53
Make use of xFetch, if it is available when doing a VACUUM or a backup. (check-in: 83bc37af user: drh tags: experimental-mmap)
01:26
Add the -mmap option to the command-line shell, for setting the default mmap_limit. (check-in: fc30d06c user: drh tags: experimental-mmap)
00:42
Fix the unix driver to check defined(_BSD_SOURCE) rather than just the plain _BSD_SOURCE macro. This fixes the build for OpenBSD. (check-in: 1dd42ef4 user: drh tags: experimental-mmap)
2013-04-02
20:55
Fix a resource leak in os_unix.c. (check-in: b29cda03 user: dan tags: experimental-mmap)
20:29
Adjustments to mmap1.test so that it works better on windows. It still gets some answers wrong, but it no longer crashes. (check-in: ee8d3cee user: drh tags: experimental-mmap)
20:19
Fix a bug in mmap2.test that was leaving an invalid sqlite3_log() callback installed, causing a crash. (check-in: c0cdaa07 user: dan tags: experimental-mmap)
20:13
Add assert to the Windows VFS pertaining to the size of the SIZE_T type. (check-in: 4eeea583 user: mistachkin tags: experimental-mmap)
18:33
Add test cases to mmap1.test and pagerfault.test. (check-in: 3050136b user: dan tags: experimental-mmap)
18:31
Change an assert in pager.c to acknowledge that it is possible for sqlite3PagerRollback() to return SQLITE_CORRUPT. (check-in: d641d3d2 user: dan tags: experimental-mmap)
18:25
Fix the build for Mac. (check-in: d36ce0bb user: drh tags: experimental-mmap)
15:37
Add new test file btreefault.test. (check-in: 7fe908af user: dan tags: experimental-mmap)
14:37
Fix a faulty assert() in the os_win.c VFS. (check-in: fd6ee549 user: drh tags: experimental-mmap)
13:56
If the SQLITE_TRACE_SIZE_LIMIT compile-time parameter is set to a positive integer then limit the expansion of strings and blobs in trace output to approximately that many bytes. (check-in: e5b71084 user: drh tags: trunk)
12:04
Add test cases for errors in mmap() or mremap() is os_unix.c. (check-in: 3098a3c1 user: dan tags: experimental-mmap)
10:29
Proposed template preprocessor magic for activating mmap only on platforms where we know it works. (check-in: d96272f0 user: drh tags: experimental-mmap)
01:45
Reorder two conditions to make coverage testing easier. (check-in: 793ba4e9 user: drh tags: experimental-mmap)
00:41
Remove an unreachable condition from pager.c. (check-in: 3628e86b user: drh tags: experimental-mmap)
00:15
Always send the SQLITE_FCNTL_MMAP_LIMIT pragma to the VFS, even if the limit is zero and even if the VFS does not support xFetch(). (check-in: 01ffdabb user: drh tags: experimental-mmap)
2013-04-01
22:42
Remove a debugging printf() accidently left in the previous check-in. (check-in: 8198cdd8 user: drh tags: experimental-mmap)
22:38
Add the SQLITE_CONFIG_MMAP_LIMIT configuration option for overriding the SQLITE_DEFAULT_MMAP_LIMIT compile-time setting. Enhance "PRAGMA mmap_limit" so that without a specific database name, it sets the limit on all database files and changes the default for any future databases that might be added using ATTACH. (check-in: 78141d0a user: drh tags: experimental-mmap)
18:25
Add a comment to xUnfetch on windows to say that the call to winUnmapfile() might be unnecessary. (check-in: e3c63c31 user: drh tags: experimental-mmap)
18:15
In windows, round down the size of the memory mapped region to the next smaller multiple of the page size. (check-in: 0e44ed1b user: drh tags: experimental-mmap)
17:58
Merge accidental fork. (check-in: 5f4437c0 user: dan tags: experimental-mmap)
17:56
Attempt to emulate mremap() on non-Linux systems by allocating a second mapping immediately following the first in virtual memory. (check-in: 4d67433d user: dan tags: experimental-mmap)
17:56
Bug fix in the winMapfile() subroutine: Be sure to record the map object handle in the sqlite3_file object. (check-in: ee4d188e user: drh tags: experimental-mmap)
17:22
Add xFetch and xUnfetch methods to the os_win.c VFS. (check-in: a1653a25 user: drh tags: experimental-mmap)
16:56
Ensure that a checkpoint does not use an out-of-date mapping. (check-in: a1040f03 user: dan tags: experimental-mmap)
14:35
Fix a typo in a log message in wal.c. (check-in: 83fc48d1 user: dan tags: experimental-mmap)
14:29
Fix a problem in btree.c that could cause a crash following an OOM. (check-in: b724aa58 user: dan tags: experimental-mmap)
2013-03-29
19:52
For the clean target, tidy up a couple more generated (or copied) source files. (check-in: 5687e5ee user: mistachkin tags: trunk)
13:44
Version 3.7.16.1 (check-in: 527231bc user: drh tags: trunk, release, version-3.7.16.1)
2013-03-28
11:40
Adjustment to an extreme corner case in the sqlite3Atoi64() routine. (check-in: 39534b4b user: drh tags: trunk)
2013-03-27
20:41
Fix harmless compiler warnings coming from MSVC64 in test code. No changes to the core. (check-in: 274d2a22 user: drh tags: trunk)
19:46
Increment the version number to 3.7.16.1. (check-in: 7e32eb7b user: drh tags: trunk)
17:20
In order to optimize out the ORDER BY clause, outer loops must generate values for ORDER BY terms that are unique or else the inner loops must generate no more than a single row. Fix for ticket [a179fe7465]. (check-in: 2936f746 user: drh tags: trunk)
16:42
Restore additional ORDER BY optimizations that where broken by the recent ORDER BY fix. (Closed-Leaf check-in: c77ee6e2 user: drh tags: orderby-fix)
16:05
Improved optimization of ORDER BY. (check-in: 97e5c70f user: drh tags: orderby-fix)
15:04
A fix and test-case for the ORDER BY problem identified by ticket [a179fe7465]. This change causes sorting to occur in some cases where it is not strictly necessary. Further work is needed to avoid those extra sorts. (check-in: 488089e6 user: drh tags: orderby-fix)
03:15
Candidate fix for ticket [6bfb98dfc0c]: Make sure invalid cursors drop all references to database pages prior to doing any insert or update. (check-in: 322a5f08 user: drh tags: trunk)
2013-03-26
18:48
Fix a comment in os_unix.c. No code changes. (check-in: 72813b8e user: drh tags: experimental-mmap)
14:36
Change the name of the Pager.pFree field to Pager.pMmapFreelist. (check-in: 611bd824 user: drh tags: experimental-mmap)
14:16
In btree.c, save the positions of any open cursors before moving any pages around to auto-vacuum the database on commit. (check-in: 30c0a693 user: dan tags: experimental-mmap)
01:07
Previous check-in accidently left mmap turned off by default. This checkin fixes that. Unfortunately, shared.test is now segfaulting. All other veryquick tests appear to work, however. (check-in: a850c731 user: drh tags: experimental-mmap)
2013-03-25
23:09
Memory-mapped I/O is now on by default. The "PRAGMA mmap_limit(N)" can be used to issue a hint to the VFS to limit mmap space to N bytes. The VFS is free to ignore that hint if desired. However, if "PRAGMA mmap_limit(0)" is used, xFetch is never called. (check-in: 1b37c4ef user: drh tags: experimental-mmap)
20:50
Add munmap and mremap to the set of os interfaces that can be overloaded in os_unix.c. (check-in: 8776047b user: drh tags: experimental-mmap)
20:30
Use mremap() on Linux. (check-in: 431aecc8 user: dan tags: experimental-mmap)
19:57
Merge all recent trunk changes into the experimental-mmap branch. (check-in: a607d63f user: drh tags: experimental-mmap)
19:05
Add a test that simulates an error in mmap(). (check-in: 6ec7367d user: dan tags: experimental-mmap)
18:25
Simulate OOM errors in the sqlite3OsFetch() function. Run malloc.test as part of the "mmap" permutation. (check-in: 77443ef2 user: dan tags: experimental-mmap)
17:00
Change the signature of the xUnfetch method to "int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p)". (check-in: 115b8305 user: dan tags: experimental-mmap)
16:28
Remove unnecessary code to round the size of a memory mapping to 4KB from os_unix.c. Rename SQLITE_IOERR_MREMAP to SQLITE_IOERR_MMAP. Fix other small issues in os_unix.c. (check-in: dce35c01 user: dan tags: experimental-mmap)
14:31
Do not return SQLITE_IOERR when the user attempts to open a small file that is not a database with mmap enabled. Instead return SQLITE_NOTADB. (check-in: bbcaab3e user: dan tags: experimental-mmap)
13:50
Fix a case in the pager where an xFetch() reference was being leaked following an OOM error. (check-in: 5885ba6c user: dan tags: experimental-mmap)
12:02
Add a second test for [38b1ae018f]. (check-in: 5062db67 user: dan tags: trunk)
11:38
In fts3, when filtering lists for hits in a specific column, edit the list in place in the same way as it is for NEAR filtering. Fix for [38b1ae018f]. (check-in: f85f9103 user: dan tags: trunk)
2013-03-24
22:56
Remove the SQLITE_OMIT_MERGE_SORT compile-time option and its related code. The merge sorter is now a required component. (check-in: 8b44d6fb user: drh tags: trunk)
2013-03-23
21:00
Replace the sqlite3_io_methods.xMremap interface with sqlite3_io_methods.xFetch and xUnfetch. (check-in: 1431be95 user: dan tags: experimental-mmap)
17:29
Improve a comment in wal.c. No code changes. (check-in: 60b9f5e4 user: dan tags: experimental-mmap)
14:20
Fix a case where a checkpoint operation could write to an invalid part of a memory mapped region. (check-in: 8dbe89d0 user: dan tags: experimental-mmap)
12:15
In the winMremap VFS function, unmap the region prior to attempting to truncate the file. (check-in: 8870c4cc user: mistachkin tags: experimental-mmap)
10:09
Do not unmap the mapped file region in winTruncate as there may be outstanding pointers to it. (check-in: f57a9c91 user: mistachkin tags: experimental-mmap)
09:56
Preliminary changes to support the xMremap VFS method on Windows. (check-in: 75a85a1c user: mistachkin tags: experimental-mmap)
2013-03-22
20:15
Update wal mode tests so that they work with the mmap test permutation. (check-in: f7295872 user: dan tags: experimental-mmap)
19:56
Fix a potential NULL-pointer dereference in btreeSwapOutMmap(). (check-in: e81ccdcd user: drh tags: experimental-mmap)
19:17
Fix a case where the mapped part of a database file may be written during a backup operation. (check-in: c8d67aef user: dan tags: experimental-mmap)
18:20
Allow the database file to be memory mapped in wal mode. (check-in: d190ddab user: dan tags: experimental-mmap)
17:46
Add a fix for the assert() statements added by the previous commit. (check-in: 19345416 user: dan tags: experimental-mmap)
08:58
Add assert statements to os_unix.c to ensure that any mapped region of the database file is not being read or written using the xRead() or xWrite() methods. (check-in: 765615f9 user: dan tags: experimental-mmap)
2013-03-21
21:20
Many spelling fixes in comments. No changes to code. (check-in: 6f6e2d50 user: mistachkin tags: trunk)
20:39
Fix cases where xRead() was being used to read from a memory mapped part of the database file. (check-in: 5c9e9df2 user: dan tags: experimental-mmap)
20:00
Avoid calling xRead() on a part of the database file that is memory mapped. (check-in: c8eac290 user: dan tags: experimental-mmap)
15:57
Fix a problem when opening a write-transaction while there exist read-only b-tree cursors in mmap mode. (check-in: 32e0bbb7 user: dan tags: experimental-mmap)
14:47
Do not use the Linux mremap() call. Use the same strategy for xMremap() as on OSX instead. (check-in: 5ed8ad78 user: dan tags: experimental-mmap)
2013-03-20
18:25
Optimize the xMremap method in os_unix.c some. (check-in: 9529ed88 user: dan tags: experimental-mmap)
14:26
When possible, use memory mapping when appending new pages to a database file. (check-in: 14135da3 user: dan tags: experimental-mmap)
12:04
Fix text-to-numeric type casting so that it works correctly on UTF16 strings that contain characters where the LSB is numeric but the MSB is non-zero. Ticket [689137afb6da41] (check-in: 5b22053f user: drh tags: trunk)
10:07
Add test file mmap1.test. (check-in: aee1f53a user: dan tags: experimental-mmap)
2013-03-19
19:28
Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". (check-in: 6183f1bd user: dan tags: experimental-mmap)
16:12
Bring makefiles and build scripts into alignment with the sessions branch. No changes to code. (check-in: d1f41089 user: drh tags: trunk)
2013-03-18
17:18
Clarifications to the documentation for the sqlite3_aggregate_context() API. Also, shorten an over-length source line in sqlite.h.in. (check-in: 4fe2db1d user: drh tags: trunk)
11:39
Version 3.7.16 (check-in: 66d5f2b7 user: drh tags: trunk, release, version-3.7.16)
2013-03-16
20:19
When possible, use memcpy() to and from the mapped region instead of xWrite() and xRead(). (check-in: f8ca5622 user: dan tags: experimental-mmap)
2013-03-15
19:13
Fix a dropped error code in pager.c. (check-in: 022fdc98 user: dan tags: experimental-mmap)
18:29
Allow read-only cursors to use mmap pages even if there is an open write transaction. (check-in: b387e2f9 user: dan tags: experimental-mmap)
2013-03-14
18:34
Use mmap() to read from the database file in rollback mode. This branch is unix only for now. (check-in: 6f21d9cb user: dan tags: experimental-mmap)
2013-03-13
20:52
Merge updates from trunk. (check-in: d63fa039 user: mistachkin tags: toTypeFuncs)
07:02
Enhance tests for ticket [4dd95f6943]. (check-in: 0b452734 user: dan tags: trunk)
06:48
Rename the experimental todouble() function to toreal(), update comments. (check-in: 12c318ef user: mistachkin tags: toTypeFuncs)
00:13
Fix the ORDER BY with IN constraint logic so that it works with all combinations of DESC on the ORDER BY clause, on the RHS of the IN operator, and in the index used by ORDER BY and IN. Fix for ticket [4dd95f6943fbd18]. (check-in: 839aa91f user: drh tags: trunk)
2013-03-12
23:58
Add a single new test case to the ORDER BY with IN logic verify that if the RHS of the IN is a descending index that it still works. Add testcase() macros to the ORDER BY with IN logic to help verify that corner cases are tested. (Closed-Leaf check-in: 7e7356f1 user: drh tags: desc-orderby-fix-1)
23:03
Fix typo in sqlite3_close() function documentation reported on the mailing list. (check-in: c9a75d89 user: mistachkin tags: trunk)
22:13
Fix a test case that had an ambiguous result. (check-in: 38c6bddf user: drh tags: desc-orderby-fix-1)
20:58
Fix typo in sqlite3_close() function documentation reported on the mailing list. (Closed-Leaf check-in: 7232093d user: mistachkin tags: docTypo)
20:38
Fix the ORDER BY optimization with IN constraints when the RHS of the IN constraint is a descending index. (check-in: 62316eba user: drh tags: desc-orderby-fix-1)
18:49
Revise the patch to make it easier to understand. (check-in: 3ce7eb02 user: drh tags: desc-orderby-fix-1)
18:44
Add test cases for [4dd95f6943]. (check-in: 723c144c user: dan tags: desc-orderby-fix-1)
18:40
Revised fix for the DESC ORDER BY and IN constraint bug, ticket [4dd95f6943fbd18]. The previous check-in was incorrect. (check-in: 8b2eb7a4 user: drh tags: desc-orderby-fix-1)
18:34
A proposed fix for the DESC ORDER BY bug of ticket [4dd95f6943fbd18]. Seems to work, but lots more testing is needed prior to moving to trunk. (check-in: 614a038a user: drh tags: desc-orderby-fix-1)
09:07
Increase strictness of the new experimental functions and add more tests. (check-in: 05c4463e user: mistachkin tags: toTypeFuncs)
2013-03-11
13:37
Define _BSD_SOURCE when building on OpenBSD. This is required for fchmod(). (check-in: f9027cb4 user: dan tags: trunk)
11:57
Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined. (check-in: 1da15adb user: dan tags: trunk)
11:49
Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined. (Closed-Leaf check-in: 938b91e8 user: dan tags: omit-fixes)
06:24
Add more tests. (check-in: f9468e33 user: mistachkin tags: toTypeFuncs)
01:23
Add experimental tointeger() and todouble() SQL functions. (check-in: 465fd853 user: mistachkin tags: toTypeFuncs)
2013-03-09
14:49
Add a test case for the problem fixed by the previous commit. (check-in: e899b058 user: dan tags: trunk)
14:40
Fix a problem with resolving "db.view.column" references that appear in UPDATE or DELETE statements executed against views. (check-in: ddee56c9 user: dan tags: trunk)
2013-03-08
18:16
If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on. (check-in: f2fecfb2 user: dan tags: trunk)
07:10
If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on. (Closed-Leaf check-in: 69746ef7 user: dan tags: experimental)
2013-03-07
14:00
Fix the char() function so that it works even if SQLITE_OMIT_UTF16 is defined. (check-in: af542c82 user: drh tags: trunk)
09:39
Skip tests that require UTF-16 support when compiled with SQLITE_OMIT_UTF16. (check-in: e3939142 user: mistachkin tags: trunk)
06:42
Fix two compilation issues, one warning and one error, that occur only when SQLITE_OMIT_UTF16 is defined. (check-in: 10ace06b user: mistachkin tags: trunk)
2013-03-06
11:44
Fix a problem in incrvacuum_ioerr.test. Do not run ioerr6.test with an in-memory journal. (check-in: 66576b45 user: dan tags: trunk)
01:55
Fix a bug (ticket [fc7bd6358f59]) that caused incorrect query results in three way queries that involved comparing INTEGER and TEXT columns for equality. (check-in: 7097241c user: drh tags: trunk)
01:48
Add the SQLITE_READONLY_ROLLBACK extended error code. Do not try to set the permissions on journal or wal files except if the filesize is initially zero (indicating that it is a new file.) (check-in: ce4ac66a user: drh tags: trunk)
01:41
Fix an operator precedence problem on the [1d8086902e] check-in. (Closed-Leaf check-in: 4f5f3aeb user: drh tags: ex-robust-open)
2013-03-05
16:54
Failed merge experimental branch with trunk. (check-in: 4e6e07a6 user: dan tags: ex-robust-open)
15:27
Do not attempt to set the permissions on an existing journal or wal file. Do this only immediately after creating a new file (or opening one zero bytes in size). (Closed-Leaf check-in: 1d808690 user: dan tags: experimental)
15:09
Add extended error code SQLITE_READONLY_ROLLBACK. Returned if a read-only connection cannot read the database because doing so would require it to roll back a hot-journal. (check-in: 39247b14 user: dan tags: experimental)
11:27
Fix a bug in the recent incremental-vacuum related changes. (check-in: 717863fc user: dan tags: trunk)
01:46
Simplified error message on the showdb utility. (check-in: 8e0ced1a user: drh tags: trunk)
2013-03-04
17:41
Omit a test that uses the progress handler callback from view.test if OMIT_PROGRESS_HANDLER is defined. (check-in: f40552ad user: dan tags: trunk)
16:35
Remove an assert() statement that has been incorrect since the recent incremental-vacuum related changes in [26e235b7a4]. (check-in: 090a4712 user: dan tags: trunk)
2013-03-03
20:26
Add the test_fs.c test module to Makefile.in. Adjust the success criteria on index5-1.3 so that it works under auto_vacuum configurations. (check-in: b457c887 user: drh tags: trunk)
2013-03-02
03:25
Update comments on the free-page allocator to accurately reflect the latest implementation. Add new asserts to the free-page allocator. (check-in: 9a135e37 user: drh tags: trunk)
2013-03-01
23:40
Complete the initialization of the loadable extension thunk table. Also fix other (harmless) compiler warnings. (check-in: 780d06c5 user: drh tags: trunk)
23:24
Update the cygwin interface to use the newer 1.7 APIs instead of the 1.5 APIs. Also shorten over-length source code lines in os_win.c. (check-in: 6b283833 user: drh tags: trunk)
23:13
Prevent Tcl file encoding issues in the tests for the unicode() and char() functions. (check-in: c9c2b82c user: mistachkin tags: trunk)
21:01
Fix an overly restrictive assert() in the pager. (check-in: f476eace user: drh tags: trunk)
15:02
Fix the handling of UTF16 surrogate pairs in the char() function. (check-in: ff67d878 user: drh tags: trunk)
01:07
Always use strncmp() rather than memcmp() when comparing strings where one or other string might be less than the length parameter, since optimized versions of memcmp() might read past the first difference and in so doing generate an access violation. (check-in: d7343558 user: drh tags: trunk)
2013-02-26
18:54
In the incrvacuum3 test, add missing call to the Tcl close command. (check-in: cd806723 user: mistachkin tags: trunk)
12:57
When comparing names during name resolution, make sure the names match exactly and that one name isn't merely a prefix of the other. Fix for ticket [7a31705a7e6c95d51]. (check-in: c2d5a23b user: drh tags: trunk)
06:14
Change the way test script incrvacuum3.test copies database files in order to avoid trying to read the (locked) 512 byte 'pending-byte' region. (check-in: fa1842e4 user: dan tags: trunk)
05:44
Prevent Tcl file encoding issues in the tests for the unicode() and char() functions. (Closed-Leaf check-in: d2e7dfca user: mistachkin tags: funcTestEncoding)
05:42
Remove extra use of the sqlite3_value_int64() function. (check-in: 6d797352 user: mistachkin tags: trunk)
2013-02-25
14:39
Add new SQL functions unicode() and char(). (check-in: be249390 user: drh tags: trunk)
13:55
Strengthen the final test case in index5.test. Also provide additional diagnostic information out the output. (check-in: 47b64182 user: drh tags: trunk)
13:44
Fix an error in test script index5.test. (check-in: d87e5acf user: dan tags: trunk)
13:31
Merge the incr-vacuum-opt branch with the trunk. (check-in: 26e235b7 user: dan tags: trunk)
12:06
Add test file incrvacuum3.test. No code changes. (Closed-Leaf check-in: bf575341 user: dan tags: incr-vacuum-opt)
07:12
Catch a dropped error code in backup.c. (check-in: ac8ca3ec user: dan tags: incr-vacuum-opt)
2013-02-24
11:50
Fix a case where database corruption may cause an assert() to fail. (check-in: ba33bb05 user: dan tags: incr-vacuum-opt)
2013-02-23
19:43
Fix a case in the incremental vacuum code where database corruption was going unreported. (check-in: 4cd30c72 user: dan tags: incr-vacuum-opt)
19:11
Fix a cut-and-paste bug causing the library to fail to report database corruption in a few cases. (check-in: f921df59 user: dan tags: incr-vacuum-opt)
18:58
Enhancements to test scripts. No code changes. (check-in: ccab94c1 user: dan tags: incr-vacuum-opt)
17:49
Fix off-by-one bug in [c3939d2491] uncovered by th3. (check-in: 66f9faa9 user: dan tags: incr-vacuum-opt)
16:40
If a rollback mode transaction reduces the size of the database file, avoid actually truncating the file until after the transaction has been committed (but before the db has been unlocked). This means pages that are removed from the database by truncating the file need not be journalled. (check-in: b73847f1 user: dan tags: incr-vacuum-opt)
2013-02-22
20:57
Fix a problem with the previous commit. (check-in: 720a3cea user: dan tags: incr-vacuum-opt)
20:16
Avoid moving pages more than once in an incremental vacuum operation. (check-in: c3939d24 user: dan tags: incr-vacuum-opt)
19:34
Two new SQL functions: unicode() and char(). (Closed-Leaf check-in: 209b2108 user: drh tags: unicode-function)
2013-02-20
00:54
On Minix, disable the ".timer" command in the shell in order to avoid calling getrusage(). (check-in: 9bd9bd9c user: drh tags: trunk)
2013-02-19
22:26
Enhance the showdb tool with options to show PTRMAP usage and content. (check-in: 06bd9130 user: drh tags: trunk)
20:25
Fix the showdb utility so that it displays the correct secondary usage of a page when reporting on an error of a page being used more than once. (check-in: 4507f0b3 user: drh tags: trunk)
18:45
Enhance the pgidx of the showdb utility so that it provides better information even if the sqlite_master table is corrupt. (check-in: d14263a7 user: drh tags: trunk)
18:34
Do not rollback the schema if a parsing error occurs while parsing the schema and writable_schema is set. (check-in: 680d3ab5 user: drh tags: trunk)
18:34
Truncate over-length source lines in sqliteInt.h to 80 characters or less. (check-in: d71abab0 user: drh tags: trunk)
11:51
Add the edit_cost_table= command to the spellfix1 virtual table, permitting the edit distance cost table to be changed at runtime. (check-in: 89d63682 user: drh tags: trunk)
2013-02-16
02:41
Fix an unsafe VM register deallocation. (check-in: cfba2c8d user: drh tags: trunk)
2013-02-15
04:21
Check for a NULL handle prior to manually calling winClose. (check-in: 843e1c54 user: mistachkin tags: trunk)
2013-02-14
16:16
Verify that the schema has not changed before running PRAGMA table_info, index_list, index_info, and foreign_key_list. (check-in: 82952d08 user: drh tags: trunk)
2013-02-13
22:54
On WinCE, fill in the winFile structure after winceCreateLock has succeeded. (check-in: ec13544c user: mistachkin tags: trunk)
14:04
Add recent API additions to the extension mechanism. (check-in: 7e10a62d user: drh tags: trunk)
01:00
Allow an index to be used for sorting even if prior terms of the index are constrained by IN operators. (check-in: 2cef8b68 user: drh tags: trunk)
2013-02-12
22:20
Improve memory allocation error handling on WinCE. (check-in: cdbca259 user: drh tags: trunk)
22:09
A bug report coming from from Firefox (https://bugzilla.mozilla.org/show_bug.cgi?id=840377) describes an infinite recursion. We are unable to reproduce the problem. Nevertheless, this check-in should prevent the problem from ever occurring again. (check-in: b7222a2b user: drh tags: trunk)
09:46
Improve memory allocation error handling on WinCE. (Closed-Leaf check-in: 09dfc0c9 user: mistachkin tags: wince)
2013-02-11
13:47
Add extended error codes for all SQLITE_CONSTRAINT errors. (check-in: 939d8282 user: drh tags: trunk)
2013-02-09
15:37
Rename SQLITE_CONSTRAINT_RAISE to SQLITE_CONSTRAINT_TRIGGER. Put the extended constraint error codes in alphabetical order. Add many test cases for the extended constraint error codes. (Closed-Leaf check-in: 3f674375 user: drh tags: constraint-error-codes)
13:58
Add extended error codes for constraint errors. (check-in: 54611046 user: drh tags: constraint-error-codes)
2013-02-08
23:18
Fix a potential NULL-pointer dereference following an OOM error in the query planner logic for virtual tables with OR-connected terms. (Closed-Leaf check-in: 71b6c260 user: drh tags: IN-with-ORDERBY)
20:39
Make sure the virtual tables that take advantage of IN operators sort the RHS of the IN operator in the correct order according to the ORDER BY clause. (check-in: b016b754 user: drh tags: IN-with-ORDERBY)
18:48
Loop through the elements on the RHS of an IN operator in reverse order when the ORDER BY clauses specifies DESC. (check-in: f78395c8 user: drh tags: IN-with-ORDERBY)
16:04
Allow the "a=?1 OR a=?2" to "a IN (?1,?2)" transformation to work on virtual tables again. This was formerly restricted because virtual tables could not optimize IN terms. (See check-in [fad88e71cf195e].) But IN terms are now used by virtual tables (as of check-in [3d65c70343]) so the restriction can now be removed. (check-in: a917c1f0 user: drh tags: IN-with-ORDERBY)
2013-02-07
21:15
Allow an index to be used for sorting even if prior terms of the index are constrained by IN operators. (check-in: 98bf668a user: drh tags: IN-with-ORDERBY)
09:33
Fix harmless compiler warnings. (check-in: 4a7b4ee0 user: drh tags: trunk)
05:12
Add the ability to skip defining the localtime() function when being compiled for WinCE. (check-in: e1640876 user: mistachkin tags: trunk)
2013-01-30
01:46
Remove some debugging logic accidently left in the limit.test module. (check-in: 7d346250 user: drh tags: trunk)
2013-01-29
23:55
Fix LIMIT and OFFSET so that they work and do not leak memory even on complex queries involving deeply nested views of UNION ALL compounds. Ticket [db4d96798da8]. Secondary to ticket [d58ccbb3f1b7]. (check-in: 497ee36c user: drh tags: trunk)
19:14
New debugging pragmas: PRAGMA vdbe_debug=ON is short-hand for the sql_trace, vdbe_listing, and vdbe_trace pragmas. PRAGMA vdbe_debug enables tracing of sqlite3VdbeAddOp() calls. None of this is active unless compiled with SQLITE_DEBUG. (check-in: ae565ff3 user: drh tags: trunk)
2013-01-28
22:52
Fix an issue with the SQLITE_TESTCTRL_EXPLAIN_STMT and compound queries with multiple terms. (check-in: a6499c25 user: drh tags: trunk)
19:00
Issue an error message and quit (rather than overflowing a reference counter) if the number of references to a table exceeds the maximum due to nested UNION views. Fix for ticket [d58ccbb3f1]. (check-in: c2462a95 user: drh tags: trunk)
18:18
Cause the command-line shell to issue an error message if you give something that does not look like a boolean value to a dot-command that wants a boolean argument. (check-in: b4d94947 user: drh tags: trunk)
2013-01-26
19:31
Add a single test case to fts4unicode.test to verify that title-case maps to lower case. (check-in: 955a9459 user: drh tags: trunk)
2013-01-25
19:11
Fix the test_spellfix.c extension so that it can be made loadable at run-time. Add spellfix to the shell when building using the build-shell.sh script. (check-in: 7813b17d user: drh tags: trunk)
18:33
Enhance the command-line shell so that adding a non-zero numeric argument to the ".exit" command causes an immediate exit without cleaning up. This can be used (for example) to cause journal files to be left behind. (check-in: 8ba951d1 user: drh tags: trunk)
15:59
Add btree-page decoding logic to showwal.c. Commands of the form: "showwal $FILE 123bmc" show the content of the btree page in frame 123. "b" means decode the btree. "c" means show cell content. "m" means give a map of the btree page. (check-in: 93b159da user: drh tags: trunk)
15:31
Further improvements to showwal.c: Reset the checksum after each frame so that only individual checksum failures are shown. And only show failures, not correct checksums. (check-in: 4e2bf575 user: drh tags: trunk)
15:09
Enhance the "showwal" utility program to show checksum failures on frames. (check-in: a7f6d198 user: drh tags: trunk)
2013-01-23
18:53
Improved parsing of the arguments to the ".backup" command in the command-line shell. (check-in: f1127e87 user: drh tags: trunk)
18:44
Fix a double-free() call that can occur when SQLITE_ENABLE_TREE_EXPLAIN is defined. (check-in: 5bfb5967 user: drh tags: trunk)
2013-01-20
00:18
Fix a typo in a comment in the test_regexp.c test file. (check-in: 68346af7 user: drh tags: trunk)
2013-01-18
03:35
The \xXX escape in the test_regexp.c must be followed by exactly two hex digits. (check-in: 82957495 user: drh tags: trunk)
2013-01-17
17:20
Enhance the query planner to exploit transitivity of join constraints. (check-in: 38852f15 user: drh tags: trunk)
17:05
Improved error messages on the RTREE virtual table. Make the "fs" virtual table used for testing available on windows. (check-in: c0b90d75 user: drh tags: trunk)
16:43
Add the ability to disable transitive constraints using the sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) interface. (Closed-Leaf check-in: 593d67c8 user: drh tags: transitive-constraints)
16:18
Avoid unnecessary collating sequence and affinity restrictions on the use of transitivity. Add test cases to show that the restrictions are not needed. (check-in: 56549f45 user: drh tags: transitive-constraints)
15:05
Make more aggressive use of transitivity in optimizing queries. Add a test case. (check-in: d9676284 user: drh tags: transitive-constraints)
03:18
Enhance RTree virtual table creation error messages that involve the getNodeSize() function. (Closed-Leaf check-in: 652233d6 user: mistachkin tags: rtreeErrMsg)
03:18
Make the 'fs' virtual table module portable to Windows. (Closed-Leaf check-in: dd473cae user: mistachkin tags: fsVfsWin)
00:08
Improved comments explaining the operation of the findTerm() utility routine in where.c. Increase the maximum number of levels of transitivity from 4 to 11. (check-in: fe152f8b user: drh tags: transitive-constraints)
2013-01-16
20:33
Fix the activate_extensions pragma so that it is a no-op when the required argument is omitted. (check-in: 6195ebd8 user: drh tags: trunk)
17:08
Enhance the query planner to exploit transitivity of join constraints in a multi-way join. (check-in: 13171eb5 user: drh tags: transitive-constraints)
00:46
Improvements to query planning for joins: Avoid unnecessary calls to "optimal scan" checks in cases where table reordering is not possible. Make sure optimal scan checks are carried out for CROSS JOINs and LEFT JOINs. (check-in: d5ebb787 user: drh tags: trunk)
2013-01-15
18:49
Fix a missing word in a comment. Enhance the "wheretrace" debugging output to show the estimated cost of each table option while planning the join order. (check-in: ac4e119a user: drh tags: trunk)
16:15
Clarification to a comment in where.c. No code changes. (check-in: 04507c17 user: drh tags: trunk)
2013-01-11
09:58
Add another test for the fts4 content= option. (check-in: 7e6007a0 user: dan tags: trunk)
2013-01-09
15:44
Check in an extra test for the fts4 "content=" option. No code changes. (check-in: 0d0e5ab8 user: dan tags: trunk)
11:31
Fix an over-aggressive optimization of ORDER BY on a three-way join where the second table is UNIQUE and the ORDER BY occurs on the third table. Ticket [c997b11c4d53a2]. (check-in: 5774f217 user: drh tags: trunk)
11:27
Fix the date on the new orderby3.test test case. (check-in: 7249bfc2 user: drh tags: trunk)
11:25
Add a test case that demonstrates ticket [c997b11c4d53a2ee9983]. (check-in: 598f5f75 user: drh tags: trunk)
2013-01-08
12:48
Do not raise an error if an unknown SQL function is found in a CHECK constraint while parsing the schema of an existing database. (check-in: cda79028 user: drh tags: trunk)
2013-01-05
17:17
More bug fixes to the test_regexp.c module. Bring test_regexp.c into alignment with the regexp.c file in the Fossil sources. (check-in: 7695b88f user: drh tags: trunk)
2013-01-04
22:26
Remove superfluous text from a comment. (check-in: e9ac5339 user: mistachkin tags: trunk)
20:45
Do not use umask() since it change the umask for the entire process, not just the thread using SQLite. Make whatever permission changes are needed using fchmod() after the file is created, instead. (check-in: 6c4c2b7d user: drh tags: trunk)
19:22
Fix an out-of-order local variable declaration in test_regexp.c. (check-in: 8285b15a user: drh tags: trunk)
14:06
Fix the zInit[] optimization of test_regexp.c when the initial string contains 3-byte UTF8 characters. (check-in: 357231ec user: drh tags: trunk)
2013-01-03
19:34
Bring back test_regexp changes that were made when porting to Fossil. Also fix some bugs that were introduced by the Fossil port. (check-in: 45c158b1 user: drh tags: trunk)
18:07
Improvements to column name resolution in queries with parenthesized FROM clauses. Also includes a fix for ticket [beba9cae6345a3]. (check-in: 99127a66 user: drh tags: trunk)
17:34
Further corner-case fixes to the name resolution logic. (Closed-Leaf check-in: 20730bad user: drh tags: name-resolution-fix)
16:54
Remove an incorrect assert() statement (ticket [beba9cae6345a]). Fix other minor problems in the name resolution logic. (check-in: afe96a11 user: drh tags: name-resolution-fix)
00:45
Now supports result sets of the form "TABLE.*" with nested FROM clauses. (check-in: 4cf5ed7e user: drh tags: name-resolution-fix)
2013-01-02
14:57
When resolving result-set name collisions, make them x:1, x:2, x:3, etc. instead of x:1, x:1:1, x:1;1;1. (check-in: ef01e304 user: drh tags: name-resolution-fix)
12:29
Merge all the latest trunk changes into the name-resolution enhancement branch. (check-in: a5f4d2b6 user: drh tags: name-resolution-fix)
2013-01-01
14:01
Reduce the size of the Index object (by 8 bytes on x64). (check-in: 5a2ac944 user: drh tags: trunk)
13:55
Enhance the table_info pragma so that the pk column shows the order of the columns in a multi-column primary key. (check-in: 3076a890 user: drh tags: trunk)
2012-12-31
20:16
More test cases for the REGEXP operator. Fix minor bugs uncovered by these test cases. (check-in: a611c750 user: drh tags: trunk)
19:18
Add the test_regexp.c module containing a cross-platform implementation of the REGEXP operator. (check-in: 46c8c01b user: drh tags: trunk)
2012-12-21
16:15
Ensure the database size field in the db header of a backup database is set correctly. Fix for [0cfd98ee201]. (check-in: ff6857b6 user: dan tags: trunk)
2012-12-20
01:15
Add PRAGMA foreign_key_check. Name the child and parent tables as part of a "foreign key mismatch" error. (check-in: e408dc90 user: drh tags: trunk)
00:32
Remove an unreachable branch operation from the foreign_key_check pragma. (Closed-Leaf check-in: b5a8f316 user: drh tags: foreign-key-check)
2012-12-19
16:58
Fix the segfault problem of ticket [a7b7803e8d1e869] which involved the use of "AS" named result columns as logical terms of the WHERE clause. (check-in: b3c9e8f8 user: drh tags: trunk)
16:32
A couple more test cases. (Closed-Leaf check-in: 0ae14217 user: drh tags: tkt-a7b7803e)
16:25
Additional test cases involving the use of a result column specified by its "AS" name as a logical term of the WHERE clause. Ticket [a7b7803e8d1e8699cd]. (check-in: d7cc364e user: drh tags: tkt-a7b7803e)
15:53
Proposed fix for ticket [a7b7803e8d1e8699cd8a]. (check-in: 3d0e00c7 user: drh tags: tkt-a7b7803e)
13:41
Add commentary to the ExprList object to explain how zSpan is overloaded. Add test cases for the new name resolution functionality. (check-in: 3e7d84db user: drh tags: name-resolution-fix)
02:36
Better resolution of table and column names in joins where some of the terms of the FROM clause are parenthesized. (check-in: 7344e791 user: drh tags: name-resolution-fix)
2012-12-18
19:36
Optimize the degenerate case of a FROM clause table name enclosed all by itself inside parentheses. Generate code as if the parentheses did not exist, rather than the old behavior of manifesting the parenthesized table into a transient table. Also, tag every FROM-clause SELECT subquery that is generated by a parenthesized FROM-clause expression using the SF_NestedFrom flag. The new SF_NestedFrom flag is not yet used for anything. (check-in: 7fecced4 user: drh tags: trunk)
16:07
Resolve names in FROM-clause subqueries prior to resolving names in the result set expressions of a SELECT statement. (check-in: 9b67c633 user: drh tags: trunk)
13:12
Remove old commented-out code from parse.y. Fix some over-length source lines in parse.y. No logical changes. (check-in: 7e30c021 user: drh tags: trunk)
11:59
On atomic-write capable systems, if copying the contents of an in-memory journal to disk fails, close the (on disk) journal file before returning the error to the caller. This causes the subsequent rollback operation to use the in-memory journal. Fix for [df678d738adb]. (check-in: 8183d8d7 user: dan tags: trunk)
2012-12-17
22:32
Added test cases for PRAGMA foreign_key_check. Fixed a bug that appears when the column order of the child and parent differ. (check-in: 25411f83 user: drh tags: foreign-key-check)
20:57
Add to the foreign_key_check pragma an extra output column "parent" that contains the name of the parent table for the constraint that failed. (check-in: 97f7f737 user: drh tags: foreign-key-check)
20:40
Enhance the error message for "foreign key mismatch" to include the names of the child and parent tables. Begin adding test cases for PRAGMA foreign_key_check. Make sure PRAGMA foreign_key_check gets all necessary table locks. (check-in: 0f996352 user: drh tags: foreign-key-check)
18:43
"PRAGMA foreign_key_check" with no argument checks the foreign keys on all tables. (check-in: 57d47423 user: drh tags: foreign-key-check)
18:05
Fix an issue with child keys that are not INTEGER PRIMARY KEY referencing INTEGER PRIMARY KEY in the parent. (check-in: 603b695b user: drh tags: foreign-key-check)
16:46
Prototype for PRAGMA that checks all foreign key constraints on a table. (check-in: 01c980e9 user: drh tags: foreign-key-check)
2012-12-14
17:54
Optimize IN operators in the WHERE clause of queries using virtual tables. (check-in: 3d65c703 user: drh tags: trunk)
17:48
Remove an unreachable branch. Improvements to comments. (Closed-Leaf check-in: d2fb7619 user: drh tags: vtab-IN-opt)
15:54
Merge in all the trunk changes that have occurred since this branch was opened. (check-in: 6d507e4d user: drh tags: vtab-IN-opt)
15:36
Fix the virtual table IN optimizer so that it work even if the virtual table implementation leaves the sqlite3_index_info.aConstraintUsage[].omit flag clear for an equality constraint that it intends to use. (check-in: d6e045f8 user: drh tags: vtab-IN-opt)
2012-12-13
18:57
Generalize the min/max optimization so that if an appropriate index exists, the index it can be used by any aggregate query that contains only a single max() or min() and does not contain a GROUP BY clause. (check-in: 52e75594 user: drh tags: trunk)
18:51
Increase the version number to 3.7.16 in advance of adding new features for the next release. (check-in: 8bcf5f51 user: drh tags: trunk)
16:37
Attempt to further generalize the min/max optimization so that, if an appropriate index exists, it can be used by any aggregate query that contains only a single aggregate of the form max(colname) or min(colname) and does not contain a GROUP BY clause. (Closed-Leaf check-in: 7280e14c user: dan tags: minmax-opt)
2012-12-12
14:30
Allow the error message from "PRAGMA integrity_check" to be longer than 20,000 bytes. (check-in: 120c82d5 user: drh tags: trunk)
13:36
Version 3.7.15 (check-in: cd0b37c5 user: dan tags: trunk, release, version-3.7.15)
2012-12-11
19:40
Update requirements marks and test cases for multi-VALUE INSERT and to fix typos in requirements text. (check-in: 81d9ee0f user: drh tags: trunk)
19:10
Fix a typo in a comment that is used to generate documentation. No changes to code. (check-in: e38adb60 user: drh tags: trunk)
2012-12-10
22:19
When an arithmetic operation with two integer operands must give a floating-point answer due to overflow, make sure the answer is not rounded back to integer by affinity. (check-in: bd7aeeb6 user: drh tags: trunk)
10:22
Modify releasetest.tcl so that it runs the "checksymbols" test on a build without SQLITE_DEBUG defined. If SQLITE_DEBUG is defined, the sqlite3WhereTrace variable causes the test to fail. (check-in: 75e545a9 user: dan tags: trunk)
09:08
Remove a reference to JumpOnce from a comment in vdbe.c. No code changes. (check-in: ee662c03 user: dan tags: trunk)
2012-12-08
22:14
Factor some work out of the index loop of the bestBtreeIndex() routine for a small performance increase. (check-in: 92c9ab56 user: drh tags: trunk)
21:51
Refactor collating-sequence handling as a fix for ticket [71e333e7d2e642]. The Expr.pColl field is removed from the Expr object. The COLLATE operator now becomes a separate instance of Expr in the expression tree. The code generator looks up the correct collating function as needed, rather than referring to Expr.pColl. (check-in: 8542e618 user: drh tags: trunk)
21:36
Adjustments to the collating-sequence refactoring to facilitate full-coverage testing and to fix some minor issues found by TH3. (Closed-Leaf check-in: cdbfa664 user: drh tags: ticket-71e333e7)
14:16
Make sure WHERE clause constraints A=B and B=A work the same even with COLLATE clauses. (check-in: b3f53668 user: drh tags: ticket-71e333e7)
13:26
Fix the header comment on the OP_Compare operator. (check-in: 2722f407 user: drh tags: ticket-71e333e7)
04:10
Duplicating check constraint expressions prior to code generation is no longer required, and so it is removed. (check-in: 1a9db8dc user: drh tags: ticket-71e333e7)
03:34
Veryquick passes all tests now. (check-in: 7b96115e user: drh tags: ticket-71e333e7)
00:52
Recognize TK_COLLATE operators that have been transformed into TK_REGISTER. Skip both TK_COLLATE and TK_AS operators when looking for the top of an expression. (check-in: f66c1db2 user: drh tags: ticket-71e333e7)
2012-12-07
23:23
Improved error messages when column integers in an ORDER BY clause are out of range. (check-in: bd960d93 user: drh tags: ticket-71e333e7)
23:10
For an ORDER BY on a compound SELECT, take the collating sequence from the left-most term of the compound. (check-in: 8e724b38 user: drh tags: ticket-71e333e7)
22:54
Do not report missing collating functions while parsing the schema. Also remove a stray comment. (check-in: e313edca user: drh tags: ticket-71e333e7)
22:18
Fix a long-standing issue with the distinct-as-aggregate optimization that only expressed when the new collating-sequence logic is turned on. (check-in: 0aaf52a3 user: drh tags: ticket-71e333e7)
21:02
Fix the processing of ORDER BY clauses with COLLATE terms on compound queries. 52 veryquick test failures remain. (check-in: 49654453 user: drh tags: ticket-71e333e7)
20:31
Many more tests are passing. Only about 100 failures remain in veryquick. (check-in: f9fa7581 user: drh tags: ticket-71e333e7)
19:28
Ensure the VerifyCookie sub-routine has been run before the database is accessed in an obscure case. Fix for ticket [d6b36be38]. (check-in: 2d5f37c9 user: dan tags: trunk)
18:38
Some errors in veryquick resolved. Many more to go. (check-in: 972443b4 user: drh tags: ticket-71e333e7)
14:02
Veryquick now runs to completion without segfaulting or asserting. But there are still lots of errors. (check-in: 7fafab12 user: drh tags: ticket-71e333e7)
10:55
Do not run test file malloc3.test as part of the inmemory_journal permutation. Explanation is in a comment at the top of malloc3.test. (check-in: df1827b1 user: dan tags: trunk)
09:08
Spelling and header fixes for the async extension. (check-in: 930ba852 user: mistachkin tags: trunk)
2012-12-06
23:16
In the async VFS, treat the new error code SQLITE_IOERR_DELETE_NOENT as success for xDelete. (check-in: c507ca4a user: mistachkin tags: trunk)
21:16
Remove the Expr.pColl field and compute the collating sequence as it is needed. This fixes the test script "shared9.test", though there is still a memory leak. And there are other problems. Consider this a work-in-progress. (check-in: fd011cb2 user: drh tags: ticket-71e333e7)
19:41
Merge the constant-refactoring-in-triggers branch with the trunk. (check-in: 79ef8e3c user: dan tags: trunk)
19:37
Apply the same restrictions on constant refactoring to statements within a trigger program as top-level statements. Candidate fix for [ae3c5670b6]. (Closed-Leaf check-in: 0c31a468 user: dan tags: constant-refactoring-in-triggers)
19:01
Add the SQLITE_FCNTL_TEMPFILENAME file control that asks the underlying VFS to return a new temporary filename. Per request from NSS team at Mozilla. (check-in: 1a63b1d5 user: drh tags: trunk)
15:15
Add a test case that demonstrates ticket [71e333e7d2e642]. (check-in: cc6e0785 user: drh tags: ticket-71e333e7)
04:33
For the sqlite3-all.c target, use backslashes when calling the splitter script via the MSVC makefile. (check-in: d507648d user: mistachkin tags: trunk)
04:19
Bring the ancient malloc3.test file closer into relevance with the latest core code. (check-in: 9793a21c user: mistachkin tags: trunk)
02:56
Stop using the TCL_LIBS configuration variable when linking with Tcl. Remove superfluous 'rm' command from the "clean" target. (check-in: 15512772 user: drh tags: trunk)
01:03
Remove obsolete comments from the definition of the CollSeq object. (check-in: 7b695101 user: drh tags: trunk)
00:16
Stop using the TCL_LIBS configuration variable when linking with Tcl. Remove superfluous 'rm' command. (Closed-Leaf check-in: e1feab98 user: mistachkin tags: noTclLibs)
2012-12-05
19:04
Disable a couple of tests in where.test when running the "no_optimization" permutation. (check-in: 5e961e37 user: dan tags: trunk)
16:44
Modify a query in test/thread001.test to ensure that results are returned in the order expected by the test. (check-in: 51cbddd5 user: dan tags: trunk)
14:37
Fixes to a test case in shared_err.test. The fix is to prevent sqlite3_prepare() from being called when the test intends to test the response of sqlite3_step() to an OOM condition. (check-in: 40c14395 user: dan tags: trunk)
14:31
Make sure memory is freed using a routine that is compatible with the routine used to allocate the memory. The SQLITE_MEMDEBUG compile-time option enforces this. (check-in: 9f6c6885 user: drh tags: trunk)
11:30
Since errors are ignored anyway, use sqlite3OsFileControlHint() instead of OsFileControl() to invoke the SQLITE_FCNTL_BUSY_HANDLER file-control. (check-in: bdceca27 user: dan tags: trunk)
10:01
If the atomic-write property is enabled, a transaction may be committed in journal_mode=DELETE mode without ever actually creating a journal file on disk. In this case, do not attempt to unlink() the journal file when committing the transaction. (check-in: 11aa47b0 user: dan tags: trunk)
09:12
Update a couple of test scripts so that they work in auto-vacuum mode. (check-in: 04ab2dc6 user: dan tags: trunk)
2012-12-04
11:03
Fix a harmless compiler warning. (check-in: 12693deb user: drh tags: trunk)
05:24
Add a test to ensure that the fix in [b0c1ba655d] has worked. (check-in: 41806de5 user: dan tags: trunk)
00:59
Improvements to the 'tcl' shell output mode. Escape doublequotes, set separator to space when mode is set, and skip separator after final column. (check-in: 487ba753 user: drh tags: trunk)
00:53
Fix an uninitialized variable detected by valgrind. (check-in: ffd1e514 user: drh tags: trunk)
00:37
Fix an out-of-order function declaration when compiled with MEMDEBUG. (check-in: 6d315578 user: mistachkin tags: trunk)
00:23
Improvements to the 'tcl' shell output mode. Escape double quotes, set separator to space when mode is set, and skip separator after final column. (Closed-Leaf check-in: 41fd9dd2 user: mistachkin tags: tclMode)
2012-12-03
19:42
Remove an unreachable condition. Replace it with an assert(). (check-in: 7d5fc1a3 user: drh tags: trunk)
17:04
Make sure that the optimization that set the maximum column that will be used on a particular query does not mistakenly change an opcode other than OP_OpenRead or OP_OpenWrite. In particular, make sure it does not overwrite the P4 field of an OP_SorterOpen. (check-in: b0c1ba65 user: drh tags: trunk)
2012-12-01
20:21
Do not exit the command-line shell if a ".read" command invokes a script that contains two errors. But reported on the mailing list. (check-in: 2e5e6515 user: drh tags: trunk)
2012-11-29
14:26
Mark the "async" module as deprecated as its functionality has been superceded by WAL mode. This closes ticket [f46ca03b55ae0e] (check-in: 3d548db7 user: drh tags: trunk)
2012-11-27
21:22
Add the SQLLOG capability to trunk. (check-in: f0843f88 user: drh tags: trunk)
21:12
Improved detection of file-does-not-exist in winDelete. (check-in: 92e9b5bc user: drh tags: trunk)
16:39
Get SQLLOG working on windows. Fix a couple of compiler warnings. (Closed-Leaf check-in: b3809c93 user: drh tags: sqllog)
15:56
Fix a problem causing the "number-of-documents" field maintained by FTS4 to be set incorrectly by REPLACE queries. (check-in: e38fb02d user: dan tags: trunk)
10:56
Fix problems in test_sqllog.c. Clarify the experimental SQLITE_CONFIG_SQLLOG interface. Handle at least the more likely error conditions in test_sqllog.c. (check-in: 429c5b20 user: dan tags: sqllog)
2012-11-26
19:50
Add an option to register global hooks used for logging all SQL executed by an application. (check-in: cd501bbc user: dan tags: sqllog)
2012-11-21
02:10
In winDelete, determine that a file does not exist by checking for a last error of ERROR_FILE_NOT_FOUND or ERROR_PATH_NOT_FOUND. (Closed-Leaf check-in: 692ad3c0 user: mistachkin tags: winNotFound)
2012-11-20
15:06
Have the windows implementation of xDelete return SQLITE_IOERR_DELETE_NOENT if the file to be deleted does not exist. The unix implementation was previously modified to behave this way. The current changes simply brings the two implementations into alignment. (check-in: d4c36d49 user: drh tags: trunk)
2012-11-13
11:16
Strive to use posix_fallocate() rather than ftruncate() when posix_fallocate() is available. Ticket [5eaa61ea18]. (check-in: 29980b08 user: drh tags: trunk)
11:08
Use preprocessor macros to automatically detect whether or not posix_allocate() is available. (It is generally available on Linux but not on Mac.) Ticket [5eaa61ea1881040b17449ca043b6f8fd9ca55dc3] (Closed-Leaf check-in: 597333f1 user: drh tags: tkt-5eaa61ea18)
10:54
When available, use posix_fallocate() rather than ftruncate() to allocate space for mmap()ed -shm files, since posix_fallocate() gives an error if no disk space is available whereas ftruncate() is silent and leaves the system vulnerable to a SIGBUS upon first write to the mmap()ed region. Ticket [5eaa61ea1881040b17449ca043b6f8fd9ca55dc3] (check-in: 35625961 user: drh tags: tkt-5eaa61ea18)
2012-11-09
21:40
Only log unlink() errors if the error is something other than SQLITE_IOERR_DELETE_NOENT. The error is still reported up the stack, it is simply not added to the sqlite3_log(). (check-in: 5a3b07f0 user: drh tags: trunk)
20:17
Change os_unix.c to propagate ENOENT errors back to sqlite as SQLITE_IOERR_DELETE_NOENT. Have SQLite ignore these where they are benign and propagate them back to the caller where they may indicate a file-system malfunction of some description. (check-in: bed9c172 user: dan tags: trunk)
18:32
Take into account the cost of inner loops when selecting which table of a join to use for the next outer loop. (check-in: 3f87f459 user: drh tags: trunk)
18:22
Disable the table selection rule that tried to prevent full table scans from migrating to the outer loop unless they were optimal. The new scaling of outer-loop costs by cost of inner loops obviates the need for that step. And, in fact, that step causes problems with the new inner-loop cost accounting. (Closed-Leaf check-in: 51bfd63b user: drh tags: inner-loop-cost)
17:59
Try to take into account the cost of inner loops when selecting which table of a join to use for the outer loop. (check-in: 94255634 user: drh tags: inner-loop-cost)
2012-11-06
20:39
Adjust the SQLITE_DBSTATUS_STMT_USED calculation to take the modified usage of sqlite3VdbeClearObject() into account. (check-in: 82eb7ead user: mistachkin tags: trunk)
18:41
In test_quota.c, provide a work-around for the missing _chsize_s() function in mingw. (check-in: 6b4979e8 user: drh tags: trunk)
2012-11-05
13:51
Add the INSTR() SQL function. (check-in: a4c181cb user: drh tags: trunk)
2012-11-02
23:42
Merge the fix for ticket [bfbf38e5e9956ac6] into trunk. (check-in: 4f7dfc32 user: drh tags: trunk)
19:08
Adding test cases for ticket [bfbf38e5e9956a] (Closed-Leaf check-in: 62ebfa74 user: drh tags: ticket-bfbf38e5e9)
18:48
Proposed fix for ticket [bfbf38e5e9]. (check-in: 18ae030d user: drh tags: ticket-bfbf38e5e9)
18:24
Fix an out-of-date comment. No changes to code. (check-in: 10cc12b1 user: drh tags: trunk)
2012-10-30
18:09
Enable the use of coroutines as an alternative to manifesting views used in a FROM clause. (check-in: 9dca18f5 user: drh tags: trunk)
15:31
Make sure that the optimizer never tries to create an automatic index on a coroutine subquery. (Closed-Leaf check-in: f83aa0de user: drh tags: subquery-as-coroutine)
14:44
Fix a typo in the header comment for the OpenPseudo opcode. (check-in: 4f106123 user: drh tags: subquery-as-coroutine)
14:39
Make it possible to disable the subquery-by-coroutine optimization using sqlite3_test_control(). Remove an always-false conditional. (check-in: 564631f3 user: drh tags: subquery-as-coroutine)
00:29
Add an optimization that attempts to run a subquery as a coroutine rather than manifesting it into a temporary table. (check-in: 7af3acbb user: drh tags: subquery-as-coroutine)
2012-10-29
14:27
Make the multiplexor and the IntArray extensions callable from C++. (check-in: cbd8fddf user: drh tags: trunk)
2012-10-28
19:35
Merge VSIX tooling and packaging enhancements to trunk. (check-in: 99f27d64 user: mistachkin tags: trunk)
2012-10-26
19:22
Fix a 32-bit integer overflow problem that could cause an error in a CREATE INDEX statement that writes more than 16GB of data. (check-in: e24ba5be user: dan tags: trunk)
18:40
Make sure the automatic index optimization is checked even if the covering index scan optimization was previously selected. (check-in: ac1d5d8a user: drh tags: trunk)
13:46
Add QNX-specific performance tweaks to the unix VFS. (Cherry-pick merge of [b02849e7bde458].) (check-in: 63a7dd75 user: drh tags: trunk)
00:55
Make sure all virtual table cursors have been closed on a prepared statement prior to unlinking the perpared statement from its database connection. The test case for this is in TH3, in the main39.test module. (check-in: 6d42d806 user: drh tags: trunk)
00:11
Make sure all virtual table cursors have been closed on a prepared statement prior to unlinking the perpared statement from its database connection. (Closed-Leaf check-in: f7c5abe8 user: drh tags: deferred-close-order)
2012-10-25
19:25
Fix a bug in fts3 causing it to return SQLITE_NOMEM when NEAR, OR and some auxiliary functions were used together. Also a segfault in vtab.c that could follow an OOM condition. (check-in: 33f4f981 user: dan tags: trunk)
15:43
Fix typo in usage text for the command-line shell. Also, in the same usage text, make the file name argument to -init uppercase for consistency. (check-in: a6d906cf user: mistachkin tags: trunk)
15:23
Improvements to the command-line argument parsing in the command-line shell. Command-line options can now occur either before or after the database name and first command and are still accepted and processed. Command-line options are processed even if no database name is given (and :memory: is assumed). (check-in: 317c80cb user: drh tags: trunk)
03:07
Implementation of the INSTR() SQL function, as found in SQL Server, MySQL, and Oracle. (Closed-Leaf check-in: 49ccae96 user: drh tags: instr)
2012-10-24
00:47
Translate the Debug/Release project configurations to the Debug/Retail VSIX package configurations. (Closed-Leaf check-in: 5023a7ad user: mistachkin tags: vsixFlavor)
2012-10-20
09:35
Modify clean target to handle all VSIX package flavors. (check-in: 023217ea user: mistachkin tags: vsixFlavor)
08:40
Modify VSIX build tools in support of an additional package flavor. (check-in: 702ebc64 user: mistachkin tags: vsixFlavor)
2012-10-19
02:10
Make sure substructure elements have proper alignment in the ICU tokenizers of FTS2 and FTS3. (check-in: aaa2d9b0 user: drh tags: trunk)
00:23
Add detailed comments to the build tools used to generate the VSIX package. Also, allow the build configurations and native library directories to be overridden for the multi-platform build tool for MSVC. (check-in: 0482c73b user: mistachkin tags: trunk)
2012-10-18
20:49
Put auxiliary libraries after libsqlite3.a in the testfixture target of the "main.mk" makefile. (check-in: 8fc8548f user: drh tags: trunk)
15:01
Merge Watcom compiler warning fixes into trunk. (check-in: 5be96788 user: drh tags: trunk)
10:35
More warning fixes. (Closed-Leaf check-in: 51a6a797 user: mistachkin tags: warnings)
09:39
Fix harmless compiler warnings. (check-in: 018e09c7 user: mistachkin tags: warnings)
2012-10-17
20:28
Add a comment to fts3_snippet.c. (check-in: b5f5ba31 user: dan tags: trunk)
20:15
Initialize variables used as outputs of custom tokenizer method calls in fts4. (check-in: 514505a8 user: dan tags: trunk)
16:20
Add a test for the problem fixed by [bf44d73d3e]. (check-in: db9b1fa5 user: dan tags: trunk)
15:28
Change the way the tcl crash-test code works to avoid triggering an assert() in os_unix.c. (check-in: b8b7b8f9 user: dan tags: trunk)
13:15
Remove an incorrect "#ifndef SQLITE_OMIT_AUTOVACUUM" from pager. (check-in: bf44d73d user: drh tags: trunk)
2012-10-16
23:17
Enable optimization of IN operators on constraints to virtual tables. (check-in: aa650746 user: drh tags: vtab-IN-opt)
2012-10-15
20:28
Correct comments and enhance readability of the mkvsix tool. (check-in: 2c3af657 user: mistachkin tags: trunk)
18:02
Hold the mutex on the shared-cache for the duration of a VACUUM operation. (check-in: 629a42d4 user: dan tags: trunk)
16:24
Dequote column names generated by the query flattener. (check-in: 5526e0aa user: drh tags: trunk)
11:28
Fix a failing assert() in wal.c. (check-in: 8745530b user: dan tags: trunk)
2012-10-13
23:16
Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients. (check-in: ca86138b user: drh tags: trunk)
20:55
Mark an always-true conditional as such. (Closed-Leaf check-in: ae025cae user: drh tags: zero-byte-backup-fix)
20:20
Modify backup4 test name prefix to make the resulting test names unique. (check-in: 637fb1c1 user: mistachkin tags: zero-byte-backup-fix)
19:58
Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients. (check-in: af5c9ee4 user: dan tags: zero-byte-backup-fix)
09:31
Allow the showdb tool to be compiled with MSVC. (check-in: dce391fc user: mistachkin tags: trunk)
2012-10-12
18:06
Tooling support for including the debug build in the VSIX package. (check-in: de784399 user: mistachkin tags: trunk)
2012-10-10
13:59
Fix duplicate test name in whereD.test. (check-in: 1182b54a user: mistachkin tags: trunk)
12:14
Define the sqlite3PagerWalFramesize() function even if SQLITE_OMIT_WAL is used. (check-in: 96247853 user: drh tags: trunk)
10:52
Add support for URI filenames in sqlite3_analyzer. (check-in: 6dc987d3 user: drh tags: trunk)
09:46
Move a couple of WAL-related function declarations in sqliteInt.h and pager.h into "#ifndef SQLITE_OMIT_WAL" blocks. Otherwise, the amalgamation fails to build using some compilers with SQLITE_OMIT_WAL (static function declared but not defined). (check-in: f7437153 user: dan tags: trunk)
2012-10-09
21:07
Merge the fix for ticket [d02e1406a58ea02] into trunk. (check-in: dd34bec3 user: drh tags: trunk)
18:51
Attempt to suppress warnings generated by Coverity. (check-in: 7b1a6e6c user: drh tags: trunk)
14:36
Avoid an assertion fault and/or freeing memory while it is still in use when an error occurs during virtual table construction. (check-in: a02599ad user: drh tags: trunk)
09:26
Bring some comments up to date in the query planner, and especially the ORDER BY optimizer. Also add testcase() macros. (check-in: bb5c0f1c user: drh tags: trunk)
01:39
Remove an unused variable. Fix code that occurs before a variable declaration. (check-in: 01dc032b user: drh tags: trunk)
01:23
Replace an always-false conditional with an assert(). (check-in: 981b9943 user: drh tags: trunk)
2012-10-08
23:25
Changes to facilitate full test coverage. (check-in: 28d1eb40 user: drh tags: trunk)
21:51
Merge ORDER BY optimization refactoring and repair into trunk. (check-in: c027a9af user: drh tags: trunk)
21:01
All test cases (veryquick.tcl and min.rc) pass. A few branch operations in ORDER BY optimization logic are untested by min.rc. (Closed-Leaf check-in: 8314fd60 user: drh tags: qp-enhancements)
20:27
Further tweaks to the ORDER BY optimizer, to fix a bug and to get the optimizer to recognize some additional cases. (check-in: bcb4f262 user: drh tags: qp-enhancements)
19:41
Bug fixes in the ORDER BY optimizer. (check-in: 301bbee4 user: drh tags: qp-enhancements)
18:23
Continued refactoring of the ORDER BY optimization logic. This check-in is close to working, but it still has issues. A few test cases fail. (check-in: adbdc663 user: drh tags: qp-enhancements)
14:36
Manually define the Win32 file-mapping APIs for WAL if SQLITE_WIN32_FILEMAPPING_API is defined. (check-in: 1c2c0a28 user: mistachkin tags: trunk)
2012-10-07
05:34
Corrections to test names to eliminate duplicates and follow naming conventions. (check-in: 50679889 user: mistachkin tags: trunk)
00:52
Manually define the Win32 file-mapping APIs for WAL if SQLITE_WIN32_FILEMAPPING_API is defined. (Closed-Leaf check-in: 585e2070 user: mistachkin tags: winFileMapping)
2012-10-06
03:48
Changes for WinRT compatibility. Also, allow version resource compilation and embedding to be disabled at compile-time. (check-in: 4b0facc1 user: mistachkin tags: trunk)
2012-10-05
19:43
Fix a problem in shared-cache mode where a COMMIT statement might cause a busy-handler belonging to a shared-cache connection other than the current writer to be invoked. (check-in: e0c889d6 user: dan tags: trunk)
17:44
Merge the shared-cache related fixes from the shared-cache-fix branch to the trunk. (check-in: 698ec776 user: dan tags: trunk)
17:18
Add a test for the collation-sequence/CHECK constraint problem fixed by the previous commit. (Closed-Leaf check-in: 82b6aa77 user: dan tags: shared-cache-fix)
16:30
Fix a problem with shared-cache mode and CHECK constraints causing one db handle to invoke a collation sequence function registered with another. (check-in: c2c776ab user: dan tags: shared-cache-fix)
14:43
Consolidate all occurrences of the "no such collation sequence" error message into a single spot. (check-in: 8ea67522 user: drh tags: trunk)
07:36
Rename a tool batch file subroutine to avoid confusion about its purpose. (check-in: 43155b15 user: mistachkin tags: trunk)
2012-10-04
19:33
Shared-cache mode fixes for views and virtual tables. (check-in: 2b370dea user: dan tags: shared-cache-fix)
12:10
Yet another refactoring of ORDER BY logic in the query planner. This particular check-in works mostly, but still has a few minor issues. (check-in: 8f448745 user: drh tags: qp-enhancements)
2012-10-03
18:09
Fix an out-of-order memset() that occurs before all variable declarations are finished. Also fix a line that exceeds the 80-character line length limit. (check-in: ba2f492f user: drh tags: trunk)
12:56
Update the query planner to recognize more cases where ORDER BY clauses can be optimized out. Add test cases to verify correct behavior of the ORDER BY optimization when the covering-index-scan optimization is disabled. Fix a harmless compiler warning in the TCL interface. (check-in: 956e4d7f user: drh tags: trunk)
12:38
Fix a query planner problem that only occurs when covering-index-scan is disabled. Fix to tests whose output changed due to the new and more aggressive ORDER BY optimization. (Closed-Leaf check-in: 0f9bb901 user: drh tags: qp-enhancements)
11:02
Fix the TCL interface so that SQL functions implemented in TCL honor the "nullvalue" setting. Also remove from the TCL interface some unused legacy UTF8 translation code left over from SQLite2. (check-in: c1f10a26 user: drh tags: trunk)
00:25
Further attempts to optimize out unnecessary ORDER BY clauses. (check-in: 6744d9a3 user: drh tags: qp-enhancements)
2012-10-02
22:54
Work around an optimization issue with the MSVC compiler for ARM. (check-in: 7d301fdf user: mistachkin tags: trunk)
15:19
More lenient handling of ORDER BY optimization in joins with mixed ASC/DESC. This is a better and less restrictive fix for the problem addressed by the previous check-in. (check-in: abcf6a5d user: drh tags: trunk)
14:11
Only continue an ORDER BY optimization into inner loops if the equality constraints on the inner loop match terms of an outer ordered index that are actually used by the ORDER BY clause. (check-in: b0e7b4df user: drh tags: trunk)
01:46
Factor an invariant out the loop termination condition for the ORDER BY satisfied-by-index analyzer routine. (check-in: 545bb336 user: drh tags: trunk)
01:25
Make sure the outer loop cursor numbers are recorded in time for them to be used by the ORDER BY optimizer. (check-in: 351dc8d9 user: drh tags: trunk)
01:10
Improvements to the wheretrace output. (check-in: 76b27765 user: drh tags: trunk)
2012-10-01
20:32
Fix harmless compiler warnings. (check-in: 59c2be75 user: drh tags: trunk)
20:12
Fix several compiler warnings seen with MSVC. (Closed-Leaf check-in: 8b5f617c user: mistachkin tags: msvcWarnings)
18:44
Add SQLITE_FCNTL_BUSYHANDLER. Invoked to provide access to the busy-handler callback to custom VFS implementations. (check-in: 1262d2f4 user: dan tags: trunk)
17:44
Minor changes to the query planner for improved test coverage. (check-in: c12044df user: drh tags: trunk)
12:44
Omit the sqlite3GetReservedNoMutex() routine in build configurations where it is not used. (check-in: f193dbb6 user: drh tags: trunk)
12:16
Make sure the size parameter to read and write VFS methods in the unix VFS do not become too big or go negative. This was not actually possible in the current code. The checks are added to make sure some future bug does not make it possible. (check-in: daebe3bd user: drh tags: trunk)
06:50
Ensure that the value returned by xSectorSize() is reasonable (currently defined as between 2^5 and 2^16 bytes) before using it to calculate the amount of padding to add to a wal file. (check-in: 6b4ff83b user: dan tags: trunk)
2012-09-29
19:10
Improved ORDER BY optimization when outer loops of a join return a single row. (check-in: 62225b4a user: drh tags: trunk)
15:45
Disable the bigfile tests on Macs. (check-in: d869edda user: drh tags: trunk)
14:45
Fix compiler warnings found on Lion. (check-in: fd74d3d9 user: drh tags: trunk)
2012-09-28
20:23
Avoid calling sqlite3BtreeEnter() in a corner case where the corresponding database handle mutex (sqlite3.mutex) may not be held. This prevents a potential deadlock or crash that can occur if the backup API, shared-cache mode and SQLITE_HAVE_CODEC are all in use. (check-in: 89b8c377 user: dan tags: trunk)
18:13
Modify the clearCell function to use SQLITE_CORRUPT_BKPT in the one place it was not. (check-in: 472beb30 user: mistachkin tags: trunk)
00:44
Query planner enhancements to be more agressive about optimizing out ORDER BY clauses - in particular the query planner now has the ability to omit ORDER BY clauses that span multiple tables in a join. (check-in: 1e874629 user: drh tags: trunk)
2012-09-27
23:27
Fix some corner case behavior in the new ORDER BY optimization logic. Remove the SQLITE_OrderByIdx bit from the SQLITE_TESTCTRL_OPTIMIZATIONS mask, since enabling it caused many TH3 tests to fail when the NO_OPT configuration parameter was engaged, and since there really isn't any need to turn that optimization off. The SQLITE_OrderByIdxJoin bit remains. (Closed-Leaf check-in: 98b63371 user: drh tags: qp-enhancements)
21:03
Modify generation of resource header file for MSVC so that it can work from outside the working directory. (check-in: 20caf80c user: mistachkin tags: trunk)
19:53
More test cases an bug fixes for the ORDER BY optimization of joins. All veryquick tests now pass. (check-in: 0d573320 user: drh tags: qp-enhancements)
17:31
Test cases and bug fixes applied to the ORDER BY optimization for joins. Some test cases fail, but except for the new orderby1.test failures, all failures appear to be issues with the tests, not with the core code. (check-in: 75cda864 user: drh tags: qp-enhancements)
15:05
Add more bits to the bit vector that is used to disable optimizations for built-in test. Add specific bit patterns to disable ORDER BY using an index in general and for joins. Use macros to test for bits in the disabled-optimization bit vector, in order to make the code clearer. (check-in: d2fcba1e user: drh tags: qp-enhancements)
14:11
Enable ORDER BY clauses that span joins to be optimized out. (check-in: c29538f9 user: drh tags: qp-enhancements)
12:11
Merge the "PRAGMA busy_timeout" change into trunk. (check-in: 1a679a1e user: drh tags: trunk)
12:05
Further tweaks to the query planner logic in preparation for adding ORDER BY opt-out for joins. (check-in: 53efc10a user: drh tags: qp-enhancements)
2012-09-26
23:17
Further refactoring of the ORDER BY related query-planning logic in order to make it easier to extend to support optimizing out ORDER BY on joins. No actual behavior changes, yet. (check-in: 96496dda user: drh tags: qp-enhancements)
2012-09-25
20:43
Augment the WhereBestIdx structure to pass down into the query planner information that might be used to better detect ORDER BY and DISTINCT optimizations spanning multiple tables of a join. (check-in: 4226e51f user: drh tags: qp-enhancements)
14:29
Pass information around between the major routines of the query planner using a single pointer to a structure rather than a long list of parameters. (check-in: 1104d42e user: drh tags: qp-enhancements)
2012-09-24
19:50
Remove an unused subfunction parameter and an obsolete comment from the query planner logic in where.c. (check-in: 349a55cd user: drh tags: trunk)
15:30
Change the internal sqlite3WhereBegin() to report that the ORDER BY clause is satisfied by indices using the WhereInfo.nOBSat field of the returned structure. (check-in: 22989f35 user: drh tags: trunk)
11:43
Update documentation to describe the threadsafety of sqlite3_enable_shared_cache(). (check-in: e081890c user: drh tags: trunk)
2012-09-21
22:50
Enable query planner tracing using the new (and undocumented) ".wheretrace 1" command in the command-line shell if both the shell and the core are compiled with SQLITE_DEBUG and SQLITE_ENABLE_WHERETRACE. This is not a supported API. Use for testing and debugging only. (check-in: 1be4b16b user: drh tags: trunk)
13:40
Command-line shell enhancements: Added the ".print" command. Enhanced the ".width" command so that negative widths will right-justify. (check-in: a1d8269d user: drh tags: trunk)
00:04
Consolidate more of the DISTINCT processing logic into a single spot in the code. Reduce the number of OP_Column operations needed to perform a WHERE_DISTINCT_ORDERED. (check-in: 79e922f7 user: drh tags: trunk)
2012-09-20
15:41
Continuing incremental enhancements of SELECT code generation: Remove the Select.affinity field. Use SelectDest.affSdst instead. (check-in: cf40b7b5 user: drh tags: trunk)
14:26
Refactoring of DISTINCT code. Change the name of the local variable "distinct" to "distinctTab". Generate cleaner code w/o unnecessary P4 and P5 values on the OP_Null for WHERE_DISTINCT_ORDERED. (check-in: 0cda241a user: drh tags: trunk)
2012-09-19
21:15
Tighter VDBE code for the WHERE_DISTINCT_ORDERED case of DISTINCT keyword handling. (check-in: 94b48064 user: drh tags: trunk)
17:31
Add comments to the WHERE_DISTINCT_* macros. No changes to code. (check-in: 82320501 user: drh tags: trunk)
00:35
Merge the covering-index-scan optimization into trunk. (check-in: ddd5d789 user: drh tags: trunk)
2012-09-18
23:21
Silence harmless compiler warning seen with SQLITE_OMIT_DEPRECATED. (check-in: c5cee969 user: mistachkin tags: trunk)
19:29
Enhance IN processing to allow efficient use of indices with numeric affinities. Add test cases for IN processing that would have spotted the error in the [2be661a48023f4] check-in. (check-in: 5ded9b68 user: drh tags: trunk)
17:08
Enhancements to the comments on sqlite3FindInIndex(). No code changes. (check-in: b1a4c394 user: drh tags: trunk)
14:00
Add the stack_usage.tcl script for analyzing the output of objdump on the amalgamation and estimating the sizes of stack frames on each function. (check-in: 030013ff user: drh tags: trunk)
13:20
Update the vdbe-compress.tcl script so that it accepts variable declarations inside of #ifdef...#endif. This enhancement is needed due to the change of check-in [39866c0ede5d6ef4]. (check-in: e7db056a user: drh tags: trunk)
2012-09-17
21:24
Make sure the WHERE_IDX_ONLY flag is not set on query plans that will not be using an index. (Closed-Leaf check-in: 698b2a28 user: drh tags: fullscan-covering-index)
20:44
Add the ability to disable the covering-index-scan optimization at compile-time, start-time, or at run-time. Add test cases to check this configurability. (check-in: ccb8ecc3 user: drh tags: fullscan-covering-index)
19:26
Merge recent trunk changes into the fullscan-covering-index branch. (check-in: 1c0bf030 user: drh tags: fullscan-covering-index)
19:12
Remove obsolete bits from the bitvector that defines disabled optimizations in the SQLITE_TESTCTRL_OPTIMIZATIONS verb of sqlite3_test_control(). (check-in: 4c21ee2d user: drh tags: trunk)
18:56
Remove an unnecessary parameter from sqlite3Utf8Read() resulting in a slight performance increase. (check-in: 8b962c94 user: drh tags: trunk)
17:16
Make sure the KeyInfo.aSortOrder array is always allocated so that we never have to test for KeyInfo.aSortOrder==0 in performance-critical loops. (check-in: 45793f0b user: drh tags: trunk)
15:36
Performance enhancement in the sqlite3VdbeSerialType() routine. (check-in: ad298f52 user: drh tags: trunk)
2012-09-15
18:45
Attempt to use a covering index even on a full table scan, under the theory that the index will be smaller and require less disk I/O and thus be faster. (check-in: cfaa7bc1 user: drh tags: fullscan-covering-index)
13:39
Make sure the name of rollback journal files are double-zero terminated when they are passed into the VFS. (check-in: 8711a844 user: drh tags: trunk)
13:29
Factor out the code that generates a co-routine for evaluating the SELECT on the RHS of an INSERT statement so that the same code can potentially be reused in other places. (check-in: a93ee09c user: drh tags: trunk)
2012-09-13
19:59
Improved alignment of fields in the Expr object gives an 8-byte size reduction on 64-bit machines. (check-in: 6b252a0d user: drh tags: trunk)
16:12
Fix WAL capability checking in one of the test files. (check-in: 0ebe7cc5 user: mistachkin tags: trunk)
15:26
Fix an unused variable warning with SQLITE_OMIT_WAL. (check-in: 39866c0e user: mistachkin tags: trunk)
15:24
Improved reporting of filename translation errors in the Windows VFS. (check-in: eb0f1c29 user: mistachkin tags: trunk)
14:42
Reduce the size of the Table object by 16 bytes on 64-bit machines, mostly by avoiding intermixing pointer fields with integer fields. (check-in: 1cb9aedf user: drh tags: trunk)
14:22
Change boolean fields in the Column object from unsigned characters into bits in a single bit mask variable. (check-in: 4163f5f1 user: drh tags: trunk)
12:10
Add the RTREE_INT_ONLY configuration parameter to the compile-time options logic. (check-in: 98b971fb user: drh tags: trunk)
01:51
Allow SQLite to work on Win32 with SQLITE_OS_WINNT=0 as long as WAL is disabled. (check-in: c1a85570 user: mistachkin tags: trunk)
2012-09-12
00:11
Update version number to 3.7.15. Delete some obsolete build scripts. (check-in: 9402f81f user: drh tags: trunk)
2012-09-11
02:00
Added sqlite3_errstr API to translate a result code to the corresponding error message. (check-in: bf8a9ca5 user: mistachkin tags: trunk)
2012-09-10
23:44
Correct two duplicated test names. (check-in: ced49974 user: mistachkin tags: trunk)
15:02
Remove the stale implementation of the ifnull and coalesce functions - code that has been commented out for ages. No functional changes. (check-in: c2ad6911 user: drh tags: trunk)
09:33
Avoid using the sqlite3ErrStr function in the Tcl package if USE_SYSTEM_SQLITE is defined. (check-in: a716b9a3 user: mistachkin tags: trunk)
08:48
Make header comments for some Tcl test commands more consistent. No changes to code. (check-in: af870ca9 user: mistachkin tags: trunk)
07:29
Refine error messages in the sqlite3 Tcl command when a NULL database connection is returned from sqlite3_open_v2. (check-in: f260d7d5 user: mistachkin tags: trunk)
06:02
Fix typo in documentation for sqlite3_open_v2. No changes to code. (check-in: b532120a user: mistachkin tags: trunk)
2012-09-07
20:10
Correct two test names to make them unique. (Closed-Leaf check-in: 43e474d3 user: mistachkin tags: busy-timeout-pragma)
18:49
Have PRAGMA busy_timeout return 0 if the busy handler has been changed or cancelled. (check-in: 7be5bc36 user: drh tags: busy-timeout-pragma)
16:46
Add an experimental busy_timeout pragma to facilitate access to the sqlite3_busy_timeout() interfaces for programmers that are working from behind a language wrapper that does not expose that interface. (check-in: 22ebc668 user: drh tags: busy-timeout-pragma)
2012-09-04
21:34
Avoid repeating calls to the sqlite3_trace() callback when the same statement is evaluted multiple times by sqlite3_step() due to an SQLITE_SCHEMA reprepare. (check-in: 39f763bf user: drh tags: trunk)
2012-09-03
15:42
Version 3.7.14 (check-in: c0d89d4a user: drh tags: trunk, release, version-3.7.14)
12:40
Fix compiler warnings in test_spellfix1.c (check-in: ebb08d0b user: drh tags: trunk)
11:39
Add resources describing the version number and other information to EXEs and DLLs generated using MSVC. (check-in: a15a7084 user: drh tags: trunk)
11:14
Insert additional tab character. (Closed-Leaf check-in: 3af7c1a6 user: mistachkin tags: win32Resources)
11:01
Linking and cleaning fixes for the tclsqlite3.exe target in the MSVC makefile. (check-in: 96d43c7a user: mistachkin tags: win32Resources)
10:32
Add Win32 version resources to the applicable binaries built by the MSVC makefile. (check-in: e2f27d28 user: mistachkin tags: win32Resources)
2012-08-31
14:55
In the spellfix phonehash() function, add letter W into the same character class as V. (check-in: 75361013 user: drh tags: trunk)
12:31
Changes for ERROR_PATH_NOT_FOUND in addition to ERROR_FILE_NOT_FOUND in winAccess(). (check-in: 527340ab user: drh tags: trunk)
2012-08-30
20:24
Exclude the atof1.test test script from the valgrind permutations test since valgrind sets up the floating point hardware in an unusual way that makes atof1 fail. (check-in: d3cf6832 user: drh tags: trunk)
11:22
Fix an out-of-bounds read in the demonstration code in test_spellfix.c. (check-in: 59194311 user: dan tags: trunk)
2012-08-29
10:28
Fix a typo in a comment in vdbe.c. No changes to code. (check-in: 9fbe858b user: drh tags: trunk)
2012-08-28
14:45
Fix a case where SQLite was failing to detect a syntax error in queries like "SELECT ... FROM (<select-1> UNION ALL <select-2>)" when <select-1> and <select-2> return different numbers of result columns. (check-in: 200a8135 user: dan tags: trunk)
04:20
Issue a log message if the temporary directory has not been set when running on WinRT. (check-in: 9ee39102 user: mistachkin tags: trunk)
01:44
Enable the use of a simpler command line when cross-compiling in the MSVC build environment. (check-in: 8ade136a user: mistachkin tags: trunk)
00:17
Formatting changes to the C code example in the documentation for sqlite3_temp_directory(). No changes to code. (check-in: 5b4b3978 user: drh tags: trunk)
00:09
Update API docs to include notes about the WinRT temporary directory. No changes to code. (check-in: eaeeb069 user: mistachkin tags: trunk)
2012-08-27
21:19
Add to #undef statements to the command-line shell, go make sure that the macros definitions that follow do not collide with system definitions. (check-in: 24420d6d user: drh tags: trunk)
14:39
Fix an incorrect assert in the virtual table logic - it could fire following an I/O error after sqlite3_close_v2() was added. (check-in: 4ccc18e9 user: drh tags: trunk)
2012-08-25
10:01
Fix all known instances of 'repeated the' style typos in comments. No changes to code. (check-in: 9b19b847 user: mistachkin tags: trunk)
02:11
Fix a harmless compiler warning. (check-in: 929b5184 user: drh tags: trunk)
2012-08-24
23:56
When the same index is used for all OR-terms in a WHERE clause, then try to use that index as a covering index. (check-in: 62678be3 user: drh tags: trunk)
23:24
Move field WhereLevel.pCovidx inside the union to WhereLevel.u.pCovidx. (Closed-Leaf check-in: b722143d user: drh tags: multi-or-covering-index)
21:54
Remove a NEVER() that is in fact reachable on an OOM. This probably has nothing to do with the multi-or-covering-index change but just happened to be found while testing that change. (check-in: 5499af53 user: drh tags: multi-or-covering-index)
19:58
Another test for whereD.test. (check-in: 29d58617 user: dan tags: multi-or-covering-index)
19:52
Add extra tests to whereD.test. (check-in: 7e961eef user: dan tags: multi-or-covering-index)
18:44
Fix a problem to do with multi-or queries and automatic indexes. (check-in: a3e26038 user: dan tags: multi-or-covering-index)
17:52
More test cases for OR-optimization covering indices. (check-in: e5c3190c user: drh tags: multi-or-covering-index)
15:29
Additional test cases for OR-optimization with covering indices, including one test case that currently fails. (check-in: d8b7ab37 user: drh tags: multi-or-covering-index)
10:52
Experimental change to support the covering index optimization for queries with OR terms in the WHERE clause that search a single index more than once. (check-in: 1dc8c7c7 user: dan tags: multi-or-covering-index)
01:07
Merge the nested aggregate query enhancements into trunk. (check-in: d4cd6017 user: drh tags: trunk)
2012-08-23
22:45
Merge changes for the new sqlite3_win32_set_directory API to trunk. (check-in: 20f184f2 user: mistachkin tags: trunk)
19:46
Add test cases and fix bugs associated with the previous check-in enhancements to nested aggregate subquery processing. (Closed-Leaf check-in: 00b1dc71 user: drh tags: nested-agg)
16:18
Further improvements to the processing of nested aggregate queries. (check-in: 3c3ffa90 user: drh tags: nested-agg)
2012-08-22
00:39
Modify the MSVC makefile to make it easier to select the heap subsystem to use. (check-in: b1dbf490 user: mistachkin tags: trunk)
00:18
Add assert to check that the memory block for the previous directory value was allocated via sqlite3_malloc or related function. (Closed-Leaf check-in: 1246f15b user: mistachkin tags: win32SetDir)
2012-08-21
23:33
Added sqlite3_win32_set_directory API to assist in portability to WinRT. (check-in: 600de08d user: mistachkin tags: win32SetDir)
17:44
Update the spellfix virtual table so that all OOM errors are reported out to the application. (check-in: 573770f5 user: drh tags: trunk)
2012-08-20
17:24
Add the SQLITE_DISABLE_FTS4_DEFERRED compile time option. (check-in: e799222f user: dan tags: trunk)
16:23
Change the checkSpacing utility program to ignore whitespace at end-of-line unless the --wseol option is used. (check-in: be1faade user: drh tags: trunk)
16:08
Silence harmless compiler warnings in the test code. (check-in: 7653973a user: drh tags: trunk)
15:53
Remove tab characters from source code files. Replace them with spaces. (check-in: 7edd10a9 user: drh tags: trunk)
15:46
Add a command-line program to tool/ that will check source code files for the presence of tabs, carriage-returns, whitespace at the ends of lines, and blank lines at the ends of files. (check-in: 656a9c8b user: drh tags: trunk)
2012-08-17
13:44
Clarify that the number-of-bytes parameter to sqlite3_bind_blob() must be non-negative. (check-in: b1b01c4c user: drh tags: trunk)
12:13
Fix MSVC compiler warning in the spellfix module. Also, add an assert. (check-in: e66cf040 user: mistachkin tags: trunk)
11:47
Skip defining some WAL specific things in the Win32 VFS code when compiling without WAL support. Also, fix an example command line in the MSVC makefile. (check-in: 61b1ae12 user: mistachkin tags: trunk)
2012-08-15
16:43
Changes to the spellfix test script to make the results deterministic. (check-in: 31c07db2 user: drh tags: trunk)
16:06
Change autoconf so that the --with-tcl=DIR option will override the TCL configuration that is found using tclsh. (check-in: 772d0de3 user: drh tags: trunk)
2012-08-14
19:04
Silence three harmless compiler warnings in vdbesort.c. (check-in: a5431c86 user: drh tags: trunk)
18:43
Add an assert() to the btree rebalancer in order to silence a clang/scan-build warning. (check-in: 6730579c user: drh tags: trunk)
17:29
Update the spellfix virtual table to the latest development code. (check-in: 6954fef0 user: drh tags: trunk)
01:45
Refer to the file mapping Win32 API functions only when absolutely necessary. (check-in: 1de2237d user: mistachkin tags: trunk)
2012-08-13
22:05
Refer to the WaitForSingleObjectEx and SetFilePointerEx Win32 functions only for platforms where they are going to be used. (check-in: 9888ce92 user: mistachkin tags: trunk)
2012-08-08
14:04
When populating an index b-tree as part of a CREATE INDEX or REINDEX statement, distribute cells between up to three siblings in balance_nonroot() instead of four. This produces identical database files, but is slightly faster. (check-in: b0d31e77 user: dan tags: trunk)
11:55
When building a b-tree as part of a CREATE INDEX or REINDEX statement, attempt to pack keys into pages as tightly as possible. (check-in: efea62b9 user: dan tags: trunk)
10:14
Change to securedel2.test so that it works even if SQLITE_DEFAULT_AUTOVACUUM=1 is defined. (check-in: 1e6f5ea4 user: dan tags: trunk)
2012-08-07
22:53
Simplifications to the sorter to support full-coverage testing. (check-in: de804f4c user: drh tags: trunk)
17:41
Add extra tests for secure-delete mode. (check-in: e380cd3c user: dan tags: trunk)
15:19
Fix a bug in hash.c introduced by [305b66672653]. (check-in: 17cb5e95 user: dan tags: trunk)
14:18
Do not run test script spellfix.test if SQLITE_OMIT_VIRTUAL_TABLE is defined. Fix walro.test so that it works if DEFAULT_AUTOVACUUM is defined. (check-in: 26428b45 user: dan tags: trunk)
13:55
Fix a bug in walthread.test causing intermittent failures. (check-in: a192a718 user: dan tags: trunk)
2012-08-06
22:29
Modify VSIX package generation tool to put the PDB files in the Debug directory. (check-in: 9d072083 user: mistachkin tags: trunk)
19:28
Merge the sorter-coalesce-writes branch into the trunk. This improves CREATE INDEX performance on some platforms. (check-in: e1e9cb08 user: dan tags: trunk)
19:12
Fix a crash that could follow an OOM condition. (Closed-Leaf check-in: 2e5741f7 user: dan tags: sorter-coalesce-writes)
18:50
When reusing pages as part of creating a new index, allocate the leaves from each free-list trunk page in ascending order, instead of trying to maximize localization for each individual allocation. This increases the chance that pages will be written to disk in ascending order by a large CREATE INDEX statement, improving overall performance. (check-in: d045f8b2 user: dan tags: sorter-coalesce-writes)
18:10
Update sorter-coalesce-writes branch with latest trunk changes. (check-in: 214f8cda user: dan tags: sorter-coalesce-writes)
10:51
Update description strings in the VSIX package. (check-in: 541e9310 user: mistachkin tags: trunk)
2012-08-03
10:00
Correct comment about WinRT compiler define. No changes to code. (check-in: 335e91e5 user: mistachkin tags: trunk)
2012-08-01
20:20
Fix typos of function names sqlite3_result_error_toobig and sqlite3_result_error_nomem in the documentation. No changes to code. (check-in: bec97c98 user: mistachkin tags: trunk)
2012-07-31
08:15
Make the list of platforms dynamic in the SDK manifest inside the VSIX package. (check-in: 22b72e49 user: mistachkin tags: trunk)
00:43
Modify metadata for the VSIX package and add tooling support for PDBs. (check-in: 12cbf6a9 user: mistachkin tags: trunk)
2012-07-30
14:53
Replace a few sqlite3_malloc()+memset() sequences with calls to sqlite3MallocZero(). (check-in: 305b6667 user: dan tags: trunk)
2012-07-27
23:03
Improve consistency in handling of build outputs and native library paths in the multi-platform build tool for MSVC. (check-in: e71f2de2 user: mistachkin tags: trunk)
22:29
Minor adjustments to the multi-platform build tool for MSVC. (check-in: e76b8f77 user: mistachkin tags: trunk)
08:33
For the clean makefile targets, delete the generated VSIX file as well. (check-in: d575d961 user: mistachkin tags: trunk)
08:21
Modify the multi-platform build tool for MSVC to support the latest RC version. (check-in: 95b65883 user: mistachkin tags: trunk)
07:13
Add tool to build the core DLL for multiple platforms using MSVC. (check-in: e42f5812 user: mistachkin tags: trunk)
02:36
Add tool to generate a VSIX package usable by Visual Studio 2012 RC. (check-in: 8b90e0c4 user: mistachkin tags: trunk)
2012-07-26
09:21
Update some comments in vdbesort.c. (check-in: f4b3fded user: dan tags: sorter-coalesce-writes)
2012-07-24
19:46
Mark parameters to sorter interfaces as const where appropriate. (check-in: d8da26f1 user: drh tags: trunk)
06:02
Add another define to the MSVC makefile that is sometimes required to build cleanly for WinRT. (check-in: d582cd89 user: mistachkin tags: trunk)
2012-07-23
21:43
Refactor field names in the SelectDest object to make them distinct and easier to grep for. (check-in: b589f1ef user: drh tags: trunk)
20:10
Fix an edge case in vdbesort.c. (check-in: 4ba266fc user: dan tags: sorter-coalesce-writes)
19:25
Modify the code in vdbesort.c so that most reads and writes to temporary files are aligned page-sized blocks. (check-in: 55e47ef3 user: dan tags: sorter-coalesce-writes)
2012-07-17
14:37
Ensure that there is always at least one aReadMark slot usable by an unprivileged reader while a checkpoint is running. Also, if one or more transactions are recovered from a log file, initialize one of the aReadMark slots to contain mxFrame as part of the recovery process. (check-in: e4163596 user: dan tags: trunk)
02:56
Amplification of a comment in wal.c. Change the aReadMark[] processing so that one read mark is left at zero when a WAL resets. (check-in: 8c9ee1d7 user: drh tags: trunk)
2012-07-16
23:13
Merge the spellfix1 changes for supporting matchlen into trunk. (check-in: 6f167adf user: drh tags: trunk)
22:16
Fix compiler warnings about unused code in spellfix. Fix the editDist3Core() routine to return the matchlen in characters instead of bytes. (Closed-Leaf check-in: f96d4e7b user: drh tags: spellfix-matchlen)
14:52
Fix a bug in the phonetic-hash routine in spellfix1: Even if the first character of a word is deemed to be "silent", do not apply the special handling intended for the first character of each word to the second. (check-in: 6333b42d user: dan tags: spellfix-matchlen)
10:25
Merge trunk changes. (check-in: 90df64ab user: dan tags: spellfix-matchlen)
10:06
If a specific database is nominated as part of a "PRAGMA integrity_check" or "PRAGMA quick_check" command, search for problems in the nominated database only. i.e. "PRAGMA main.quick_check" now only scans the main database, not all attached databases as before. (check-in: 4353e40b user: dan tags: trunk)
2012-07-13
19:26
Add the "matchlen" column to the spellfix1 virtual table. (check-in: f24b9d87 user: dan tags: spellfix-matchlen)
16:15
Update test_spellfix.c with latest changes. (check-in: cba2a658 user: dan tags: trunk)
2012-06-30
22:22
Setup the necessary library paths for cross-compilation with MSVC. (check-in: 7fac56ed user: mistachkin tags: trunk)
19:24
Simplify usage of some linker options in the MSVC makefile. (check-in: 03016020 user: mistachkin tags: trunk)
16:22
Make use of the predefined nmake command macro CC when possible instead of the literal string 'cl.exe'. Improve support for cross-compilation. Eliminate problematic use of double quotes in macro preprocessing expressions. (check-in: 6c88229a user: mistachkin tags: trunk)
2012-06-27
16:41
Another changes to the shell in support of SQLITE_OMIT_AUTOINIT. (check-in: 3b4f5add user: drh tags: trunk)
16:12
Update the shell so that it works with SQLITE_OMIT_FLOATING_POINT and SQLITE_OMIT_AUTOINIT. (check-in: 95c0c995 user: drh tags: trunk)
2012-06-21
17:21
Remove code that was incorrectly changing SQLITE_MISUSE errors into SQLITE_OK in sqlite3_finalize(). (check-in: d5e68802 user: drh tags: trunk)
15:51
Add the sqlite3_close_v2() interface (from the deferred-close branch) that allows close operations to happen out-of-order in bindings to garbage-collected langauges. (check-in: fb8893ab user: drh tags: trunk)
15:22
Merge changes to trunk that ensure that floating point values are exactly preserved on a round-trip through ".dump". (check-in: 4cebd607 user: drh tags: trunk)
15:12
Fix spelling typo. (check-in: 6131a000 user: mistachkin tags: trunk)
15:09
Remove more references to OS/2. (check-in: eebd594d user: mistachkin tags: trunk)
15:02
Disable the atof1.test module when compiling on MSVC. (Closed-Leaf check-in: 0f706acf user: drh tags: floating-point-conversions)
14:31
Increase the version number to 3.7.14 and rerun autoconf (check-in: 8c9f564a user: drh tags: trunk)
14:25
Fix the SQLITE_ZERO_MALLOC compile-time option so that it works on windows. (check-in: b80bc52f user: drh tags: trunk)
14:05
Merge several compiler compatibility fixes to trunk. (check-in: d3d491a5 user: mistachkin tags: trunk)
13:00
Remove support for OS/2 from the source tree. (check-in: ff828c67 user: drh tags: trunk)
04:21
When linking to the MSVC runtime library, use the debug library when necessary. Also, link dynamically to the MSVC runtime library when required (e.g. WinRT) or requested via the USE_CRT_DLL build macro. (check-in: f6be345a user: mistachkin tags: trunk)
2012-06-19
06:35
Add tests to check that the "unicode61" and "icu" tokenizers both identify white-space codepoints outside the ASCII range. (check-in: bfb2d473 user: dan tags: trunk)
04:36
Move variable declaration to fix compilation with MSVC. (check-in: d45f7a01 user: mistachkin tags: floating-point-conversions)
03:59
Fix an incorrect testcase for the round() function. All tests are passing now, including new real->text->real round-trip tests. (check-in: 963eb24f user: drh tags: floating-point-conversions)
03:35
Round-trip conversions of real->text->real are now lossless on x64 with GCC. Untested on other platforms so far. Still a corner-case problem with round(). (check-in: fd7bd4a5 user: drh tags: floating-point-conversions)
03:11
Improved accuracy on text-to-real and real-to-text conversions. Most conversions now round-trip correctly. Still need to fix some corner cases. (check-in: 8ecffca9 user: drh tags: floating-point-conversions)
00:45
Improved rounding accuracy on text-to-float conversions. (check-in: 699b792c user: drh tags: trunk)
2012-06-18
20:52
Fix a problem with identifying white-space characters outside of the ascii range in the ICU tokenizer. (check-in: 892b7411 user: dan tags: trunk)
17:15
Allow the SQLITE_API macro to apply to the sqlite3_win32_sleep function. (Closed-Leaf check-in: 21266c68 user: mistachkin tags: compiler-compat)
08:00
Fix a few compilation issues that can occur with certain compilers (e.g. GCC 2.95.3, MSVC). (check-in: f970a3de user: mistachkin tags: compiler-compat)
2012-06-16
15:26
In Lemon, when comparing the output to the *.h file to see if it has changed, make sure that the proposed new output and the preexisting output are the same size before deciding that they are the same. (check-in: 0c2fb18d user: drh tags: trunk)
2012-06-15
20:42
Fix compiler warning. (Closed-Leaf check-in: 37d9bc06 user: mistachkin tags: deferred-close)
2012-06-11
02:05
Version 3.7.13 (check-in: f5b5a13f user: drh tags: trunk, release, version-3.7.13)
2012-06-09
18:52
Add missing targets for fts3_unicode.lo and fts3_unicode2.lo to Makefile.in. (check-in: 0ae0ce63 user: dan tags: trunk)
2012-06-08
14:01
Fix an obscure memory leak in FTS3 that can come about when two memory allocations are immediately adjacent to one another. (check-in: 025227be user: drh tags: trunk)
11:48
Fix a problem in vtab1.test causing it to fail when run with any permutation that executes SQL within the tcl "sqlite3" command. (check-in: 006db555 user: dan tags: trunk)
2012-06-07
17:57
Documentation and evidence mark updates. Remove a redundant assert(). (check-in: cfcbf937 user: drh tags: trunk)
17:16
Fix a problem preventing a shared in-memory database from being attached to a read-only connection. (check-in: 7caca193 user: dan tags: trunk)
15:53
Add the "tokenchars=" and "separators=" options, for customizing the set of characters considered to be token separators, to the unicode61 tokenizer. (check-in: e56fb462 user: dan tags: trunk)
07:24
Fix a malloc/free mismatch in pager.c (sqlite3_free() called on a buffer allocated by sqlite3DbMalloc()). (check-in: 506008f0 user: dan tags: trunk)
02:35
Provide an (undocumented) compile-time option to disable the page cache overflow counter, in order to avoid a mutex. (check-in: 208825cd user: drh tags: trunk)
2012-06-06
23:59
Fix harmless Clang warnings. (check-in: 31fe1985 user: drh tags: trunk)
23:25
Fix an #if that is applicable to WinRT, even thought it is currently disabled by another #if. (check-in: baa8b783 user: mistachkin tags: trunk)
23:23
Merge the changes need to compile on WinRT into trunk. (check-in: 61360ca6 user: drh tags: trunk)
19:51
Disable FTS unicode61 by default. It is enabled by specifying compile time option SQLITE_ENABLE_FTS4_UNICODE61. (check-in: eccd6b65 user: dan tags: trunk)
19:30
Have the FTS unicode61 strip out diacritics when tokenizing text. This can be disabled by specifying the tokenizer option "remove_diacritics=0". (check-in: 790f76a5 user: dan tags: trunk)
19:01
Avoid resetting the shared-cache schema when on of the connections using the shared cache closes. Delay resetting the schema until the last connection closes. (check-in: 635e3a76 user: drh tags: trunk)
10:56
Make sure the Index.azColl pointers do not point to connection-specific memory. Also, remove an unnecessary reinitialization to sqlite3.pDfltColl. (Closed-Leaf check-in: c469850b user: drh tags: shared-schema)
2012-06-05
19:20
Merge the latest trunk changes into shared-schema branch. Also fix a C99-ism in that branch. (check-in: 42338e9e user: drh tags: shared-schema)
13:56
Add sqlite3_quota_ferror() and sqlite3_quota_file_available() interfaces to test_quota.c. Change sqlite3_quota_fwrite() to use a const input buffer. (check-in: 61669c95 user: drh tags: trunk)
02:24
Correct docs regarding use of malloc and free by the Windows VFS layer. No changes to code. (Closed-Leaf check-in: 8e8590a4 user: mistachkin tags: winrt)
2012-06-04
05:18
When not compiling for WinRT, skip using a couple Win32 APIs unavailable when compiling with MinGW. (check-in: eb29e2d9 user: mistachkin tags: winrt)
2012-06-02
17:09
Revert sqlite3_close() to legacy behavior. Create a new sqlite3_close_v2() interface that exhibits the deferred-close behavior. This minimizes the chance of breakage in legacy apps. (check-in: c4b86211 user: drh tags: deferred-close)
14:32
The sqlite3_close() interface returns SQLITE_OK even if there are outstanding sqlite3_stmt and sqlite3_backup objects. The connection becomes a zombie. Resource deallocation is deferred until the last sqlite3_stmt or sqlite3_backup object closes. This is intended to help SQLite play nicer with garbage collectors. (check-in: e276a02b user: drh tags: deferred-close)
2012-05-31
22:12
Update several APIs to enable compilation with newer revisions of WinRT. (check-in: 54de739f user: mistachkin tags: winrt)
13:10
Avoid calling fchown() if the process is not running as root. (check-in: 70c419a4 user: drh tags: trunk)
2012-05-29
19:25
Link the NDEBUG macro to SQLITE_DEBUG so that when SQLITE_DEBUG is defined, NDEBUG is automatically undefined an dwhen SQLITE_DEBUG is undefined NDEBUG is automatically defined. (check-in: 07935d10 user: drh tags: trunk)
17:59
Fix a typo (a repeated "or") in the documentation. No changes to code. (check-in: 6fec6cf1 user: drh tags: trunk)
17:02
Changes some NDEBUG macros to SQLITE_DEBUG in os_unix.c. The is a notational change only and really should not effect the code. (check-in: 8e302570 user: drh tags: trunk)
00:39
In the RTree module, make sure all double-to-float conversions round in a direction to increase the size of element bounding boxes. (check-in: 0abdc290 user: drh tags: trunk)
00:30
Refactor the float-to-double rounding routines so that they compile without warnings. (Closed-Leaf check-in: f607ad27 user: drh tags: rtree-32bit-rounding)
2012-05-28
20:22
Fix the MSVC makefile so that it works with the unicode61 tokenizer. (check-in: 48015814 user: drh tags: trunk)
20:16
Simplification to the coordinate rounding logic in RTree. (check-in: df24072d user: drh tags: rtree-32bit-rounding)
19:19
When converting 64-bit floating point coordinates to 32-bit in RTree, take care to round the values such that the size of the bounding box is enlarged. (check-in: f4e8ff03 user: drh tags: rtree-32bit-rounding)
17:51
Updates regarding URI query parameters and shared cache in the documentation derived from comments in sqlite.h.in. No changes to code. (check-in: bcc72d41 user: drh tags: trunk)
15:32
Fix Makefile.in so that it works with the new unicode tokenizer of FTS3/4. Update the version number to 3.7.13. (check-in: b8720d04 user: drh tags: trunk)
13:58
Add the mode=memory option to URI filenames, which when present forces the database to be an in-memory database. This enables named in-memory databases. (check-in: 651520fa user: drh tags: trunk)
12:22
Omit the fts3 unicode character class routines from the build if fts3/4 is disabled. (check-in: c00bb5d4 user: drh tags: trunk)
2012-05-27
22:42
Merge into trunk the changes that permit :memory: databases to use shared cache. (check-in: e72179f3 user: drh tags: trunk)
01:19
Have user interfaces report out the filename of in-memory databases as an empty string, as it always has. This simplifies the changes. (Closed-Leaf check-in: 595dfdbf user: drh tags: shared-cache-memdb)
2012-05-26
20:08
Only allow :memory: databases to share cache if there are created using a URI filename. This minimizes the risk of breakages in legacy applications that have shared-cache enabled but also use :memory: databases which they expect to keep separate. (check-in: e3ad61e0 user: drh tags: shared-cache-memdb)
18:42
Merge fts4-unicode branch with trunk. (check-in: 25ba1f84 user: dan tags: trunk)
18:28
If SQLITE_DISABLE_FTS3_UNICODE is defined, do not build the "unicode61" tokenizer. (Closed-Leaf check-in: e71495a8 user: dan tags: fts4-unicode)
18:06
Enable the use of shared cache for an in-memory database, so that separate database connections can share the same in-memory database. (check-in: 4590e433 user: drh tags: shared-cache-memdb)
17:57
Change the format of the tables used by sqlite3FtsUnicodeTolower() to make them a little smaller. (check-in: b89d3834 user: dan tags: fts4-unicode)
16:22
Add coverage tests for fts3_unicode.c. (check-in: 07d3ea8a user: dan tags: fts4-unicode)
15:44
Add fault-injection tests that use the unicode61 tokenizer. Fix a problem revealed by the same. (check-in: ed28c48a user: dan tags: fts4-unicode)
14:54
Change the name of the "unicode" tokenizer to "unicode61" to emphasize that the case folding and separator-character identification routines are based on unicode version 6.1. (check-in: 8f3e60aa user: dan tags: fts4-unicode)
2012-05-25
19:50
Add special fast paths to sqlite3FtsUnicodeTolower() and Isalnum() for codepoints in the ASCII range. (check-in: cf7b25d4 user: dan tags: fts4-unicode)
18:48
Fix comments in generated file fts3_unicode2.c. (check-in: 3dc567ef user: dan tags: fts4-unicode)
17:50
Add an experimental tokenizer to fts4 - "unicode". This tokenizer works in the same way except that it understands unicode "simple case folding" and recognizes all characters not classified as "Letters" or "Numbers" by unicode as token separators. (check-in: 0c13570e user: dan tags: fts4-unicode)
2012-05-22
19:25
Use the new test suite helper procedure 'get_pwd' to query the current directory from tests. (check-in: 1dd01e40 user: mistachkin tags: winrt)
17:39
Merge the 3.7.12.1 trunk changes into the WinRT branch. (check-in: b9ed0b26 user: drh tags: winrt)
02:45
Version 3.7.12.1 (check-in: 6d326d44 user: drh tags: trunk, release, version-3.7.12.1)
2012-05-21
22:45
Increase the version number to 3.7.12.1. Minor changes to test scripts. (check-in: 5519cc5e user: drh tags: trunk)
21:26
Merge the nested aggregate query fix (ticket [c2ad16f997ee9c8ed]) unto trunk. (check-in: e459c336 user: drh tags: trunk)
21:20
Mark and always-true conditional as such. Add the fuzz-oss1.test test module. (Closed-Leaf check-in: bdc01fd0 user: drh tags: nested-agg)
20:13
Candidate fix for the nested aggregate query problem of ticket [c2ad16f997ee9c8e]. (check-in: f3dd1faf user: drh tags: nested-agg)
19:11
Convert the NameContext object from using u8 booleans to using individual bits in a single u8 as its booleans. This change might become a basis for a fix for [c2ad16f997ee9c]. (check-in: 72226096 user: drh tags: nested-agg)
16:59
Make sure lookaside memory allocations are unusable after they are freed. (check-in: 3869aef6 user: drh tags: trunk)
12:25
Move some #defines earlier in the file for test_quota.c in order to avoid a use before definition. (check-in: fda1ea0b user: drh tags: trunk)
05:02
Allow the sqlite3ExplainBegin function to be compiled by MSVC. (check-in: 18555128 user: mistachkin tags: trunk)
03:15
Change the ".schema" command of the shell to output VIEWs in declared order, rather than alphabetical order, so that nested views will appear in the correct order. Fix for ticket [cfe84e86839e59e8]. (check-in: e092ff69 user: drh tags: trunk)
2012-05-20
20:23
Fix a test case so that it works even with very long pathnames. (check-in: ecd4a063 user: drh tags: trunk)
20:14
Check-in included unrelated debugging code by mistake. Was: Fix a test case in the shell1.test script so that it works even for very long pathnames. (Closed-Leaf check-in: 0c0a0398 user: drh tags: mistake)
2012-05-17
21:04
Merge updates from trunk. (check-in: 224c65e4 user: mistachkin tags: winrt)
2012-05-16
14:29
Return SQLITE_MISUSE if an application attempts to register a virtual table module with the same name as an existing module. (check-in: ea2cd55e user: dan tags: shared-schema)
01:24
Avoid using sqlite3ResetAllSchemasOfConnection() purely for its side-effects. (check-in: 5587c73b user: drh tags: shared-schema)
2012-05-15
18:28
The former sqlite3ResetInternalSchema() routine was really two different routines, selected by parameter, each with a confused mission. So split this routine up into three separate smaller routines, calling each separately as needed. Hopefully this will make further refactoring and schema reset collateral damage containment easier. (check-in: aa0c3493 user: drh tags: shared-schema)
17:15
When a connection disconnects from a shared-cache database, only delete the in-memory schema if there are no other connections. (check-in: 46f4eb54 user: dan tags: shared-schema)
12:49
Add assert()s to verify that Table objects in the schema never use lookaside memory. (check-in: 736d6ea6 user: drh tags: trunk)
2012-05-14
12:20
Add an assert() that verifies that the statement pointer from the sqlite3_prepare() family of functions is always NULL if the routines return other than SQLITE_OK. (check-in: 0bb1cfc6 user: drh tags: trunk)
01:41
Version 3.7.12 (check-in: 8654aa95 user: drh tags: trunk, release, version-3.7.12)
2012-05-12
22:36
Fix a typo in a comment which is used to generate documentation. No changes to code. (check-in: af525b5d user: drh tags: trunk)
18:29
Parser bug fix: Make sure the table constraints allowed by prior releases can still be parsed, even if they are technically not allowed by the syntax diagram. (check-in: e536ac04 user: drh tags: trunk)
05:30
Before running each test script, make sure the FTS enhanced query syntax is disabled. (check-in: f84d87bc user: dan tags: trunk)
01:14
Use the regexp result option for a test case in shell1.test. (check-in: 93061c6e user: drh tags: trunk)
2012-05-11
23:03
Adjust some of the pager tests to accommodate longer database pathnames. (check-in: 22eef1d8 user: drh tags: trunk)
23:01
Fix the wal2.test script so that it works on big-endian machines. (check-in: c4ab72f7 user: drh tags: trunk)
20:43
Fix a bug in the wal.test script so that it works on big-endian systems. (check-in: 40fe9088 user: drh tags: trunk)
15:53
Fix a harmless compiler warning inside an assert() statement within test code. (check-in: e68a3527 user: drh tags: trunk)
15:31
Fix an evidence-mark typo in the comments of sqlite3.h. No changes to code. (check-in: 2b074085 user: drh tags: trunk)
11:28
Fix a harmless compiler warning. (check-in: 2b77301b user: drh tags: trunk)
2012-05-10
17:43
Have the FTS auxiliary functions correctly handle terms that appear in non-matching branches of the FTS expression. Fix for [bdc6bbbb38]. (check-in: 4d3e1673 user: dan tags: trunk)
13:03
Merge the table constraint parser fixes from trunk. (check-in: 12bb31dd user: drh tags: winrt)
2012-05-08
11:17
Further changes to constraint parsing to support legacy syntax. (check-in: 38bf90af user: drh tags: trunk)
2012-05-07
22:29
Merge parser adjustments from the trunk. (check-in: 0d8b920b user: mistachkin tags: winrt)
20:28
Merge Windows directory checking changes from trunk. (check-in: 7a7466f4 user: mistachkin tags: winrt)
19:21
Adjust the parser so that certain legacy schema constructs (that are not valid according to the syntax diagram) continue to be accepted, so that older databases that happen to use those constructs are still readable. This fixes an issue introduced by check-in [1b75f301affac6] (check-in: a1c014d8 user: drh tags: trunk)
18:10
Merge Windows directory checking changes to trunk. (check-in: a4555a53 user: mistachkin tags: trunk)
17:16
Simplify directory checking for winOpen and add checking to winDelete. (Closed-Leaf check-in: b08530e1 user: mistachkin tags: win-check-dir)
13:15
Do not do the AV retry loop on open if the file that is attempting to be opened is really a directory. (check-in: 03875633 user: drh tags: win-check-dir)
2012-05-04
23:11
Sync the latest trunk changes into the winRT branch. (check-in: be4ab188 user: drh tags: winrt)
2012-05-01
14:21
Update a test in io.test to account for [05f98d4eec]. (check-in: bfa61e78 user: dan tags: trunk)
2012-04-27
16:38
Fix a minor deviation from the coding style guidelines. (check-in: 1e51bffe user: drh tags: trunk)
01:09
Enhance the processing of ORDER BY clauses on compound queries to better match terms of the order by against expressions in the result set, in order to enable better query optimization. (check-in: a49e909c user: drh tags: trunk)
01:08
Enhance the do_test proc in the test suite so that if the expected result is of the form "/.../" or "~/.../" then regular expression matching is done between result and the "..." part of the expectation. In the ~/.../ case, we expect there to be no match. (check-in: c9a73440 user: drh tags: trunk)
2012-04-26
22:47
Allow virtual table constructors to be invoked recursively. A test case for this has been added to TH3. (check-in: 696a5a40 user: drh tags: trunk)
2012-04-24
13:14
New test cases for the ".dump" and ".mode insert" commands of the shell. (check-in: dfce8569 user: drh tags: trunk)
12:46
Move the shell test scripts into the test/ subfolder so that they are run automatically by "make test". (check-in: 9fb7da69 user: drh tags: trunk)
12:12
Fix a sign-extension problem for BLOB output in ".insert" mode of the command-line shell. (check-in: 282f2a74 user: drh tags: trunk)
2012-04-23
12:38
Update the ".table" command in the shell to show all tables in all attached databases, and to avoid using the deprecated sqlite3_get_table() function. (check-in: ce2d06e2 user: drh tags: trunk)
2012-04-21
11:33
If terminating interactive input to the command-line shell with ^D, issue an extra \n to move the cursor to the next line before exiting. This check-in also accidently adds the test_spellfix.c file to the source tree. (check-in: feff1ef0 user: drh tags: trunk)
00:31
Merge the latest trunk changes into the WinRT branch (fixes for tickets [2a5629202f] and [385a5b56b9]). (check-in: 25478dcf user: mistachkin tags: winrt)
2012-04-20
16:59
Do not consider a DISTINCT clause redundant unless a subset of the result-set is collectively subject to a UNIQUE constraint and it can be guaranteed that all columns of the subset are NOT NULL (either due to NOT NULL constraints WHERE clause terms). Fix for [385a5b56b9]. (check-in: 7b8548b1 user: dan tags: trunk)
15:24
Fix for [2a5629202f]. When considering whether or not a UNIQUE index may be used to optimize an ORDER BY clause, do not assume that all index entries are distinct unless there is some reason to believe that the index contains no NULL values. (check-in: 9870e4c4 user: dan tags: trunk)
12:02
Remove obsolete art. (check-in: 372a90e2 user: drh tags: trunk)
08:23
Merge the latest trunk changes into the WinRT branch (fixes various MSVC compiler warnings). (check-in: 294a5cca user: mistachkin tags: winrt)
2012-04-19
18:04
Fix harmless compiler warnings on x64 MSVC, mostly in test code, but also in tclsqlite.c and in the FTS4 module. (check-in: 3281972e user: drh tags: trunk)
17:19
Fix a harmless compiler warning in tclsqlite.c for MSVC x64. Fix a test case associated with the FTS4 merge feature. (check-in: de3f7187 user: drh tags: trunk)
15:49
Fix harmless compiler warnings (unused parameter warnings) in the aggregate query analyzer. (check-in: 2d435620 user: drh tags: trunk)
2012-04-18
10:29
Merge build tool updates from trunk. Also, modify MSVC makefile to allow for debugging of build tool issues. (check-in: b2a2fdb0 user: mistachkin tags: winrt)
10:13
Fix a harmless compiler warning in the mkkeywordhash.c utility program. (check-in: 6015200b user: drh tags: trunk)
09:59
Fix a typecast problem in lemon that could cause problems on 64-bit machines. (check-in: 4a5641cc user: drh tags: trunk)
05:57
Import all the latest trunk changes into the WinRT branch. Refactor and/or remove WinCE-specific macros and functions used for file locking to improve clarity of presentation. (check-in: ad5cd15f user: mistachkin tags: winrt)
2012-04-17
21:00
When compiling for WinRT, always use the 'appcontainer' linker option. (check-in: 300bcfe3 user: mistachkin tags: winrt)
16:38
Improved handling of aggregate subqueries within an aggregate query. (check-in: 430bb59d user: drh tags: trunk)
09:09
Add an undocumented and possibly ephemeral ".breakpoint" command to the command-line shell, to call a no-op routine on which it is convenient to set a symbolic debugger breakpoint. (check-in: 8e2363ad user: drh tags: trunk)
2012-04-16
17:22
Fix a bug in the command-line shell logic that attempts to continue with a ".dump" even after encountering database corruption. (check-in: 020b5e90 user: drh tags: trunk)
2012-04-14
13:25
In the unix VFS, always set every open file to close-on-exec using either O_CLOEXEC at open (preferred) or FD_CLOEXEC in an ioctl after opening. Before this changes, many files were done this way, but not all. (check-in: 9efbeb11 user: drh tags: trunk)
11:48
Fix a typo in a comment that is extracted for documentation. No changes to code. (check-in: e87371c5 user: drh tags: trunk)
2012-04-11
23:22
Add a testcase() macro to ensure that the sqlite3AuthCheck() call inside the query flattener really is effective. (check-in: a134e6e7 user: drh tags: trunk)
11:38
Fix harmless static-analysis warnings, mosting having to do with memory leaks in the command-line shell. Add a clang analysis of the command-line shell to the "warnings-clang.sh" script. Other minor cleanups to the command-line shell code. (check-in: 93a0f452 user: drh tags: trunk)
2012-04-10
17:53
Add new interfaces to the test_quota.c module: sqlite3_quota_ftruncate(), sqlite3_quota_file_size(), sqlite3_quota_file_truesize(), and sqlite3_quota_file_mtime(). (check-in: 2fa9f543 user: drh tags: trunk)
16:05
Fix a copy/paste error in a comment in the fuzzer. No changes to code. (check-in: 7433f2b5 user: drh tags: trunk)
2012-04-07
00:09
Fix the application-defined function logic so that functions with a variable number of parameters can be replaced or deleted correctly. Also refactor some of the function-finder code for clarity of presentation. (check-in: 09d5581c user: drh tags: trunk)
2012-04-06
00:09
Update sqlite3_analyzer to correctly find all database files when the multiplexor is being used. (check-in: 1bfc30cb user: drh tags: trunk)
2012-04-05
20:04
Ignore the value of SQLITE_FCNTL_CHUNK_SIZE if it is negative. (check-in: 1b08fef9 user: drh tags: trunk)
01:37
Performance improvements for the RowSet object when it undergoes many cycles between RowSetInsert and RowSetTest. (check-in: 49d20ede user: drh tags: trunk)
2012-04-04
16:56
Add the ".trace" option to the command-line shell. (check-in: b9ac3d7e user: drh tags: trunk)
13:58
Fix the multiplexor logging so that it works with SQLITE_ENABLE_8_3_NAMES. (check-in: 9e1e2fe2 user: drh tags: trunk)
13:43
In the multiplexor extension, improve the error logging when a chunk fails to open. (check-in: 781453c6 user: drh tags: trunk)
2012-04-03
18:34
Do not run attempt to run test file fts4merge3.test unless the build includes FTS. (check-in: 0506bf86 user: dan tags: trunk)
18:33
Modify capi3.test and capi3c.test so that they work with SQLITE_OMIT_AUTORESET builds. (check-in: 1d5e744c user: dan tags: trunk)
17:43
Modify the integrity-check code to reduce the size of the large allocation from 4 bytes to 1 bit for each page in the database file. (check-in: fa3a498d user: dan tags: trunk)
17:05
Fix a typo in the rtree6.test script that prevented it from running. (check-in: 221fe4a8 user: drh tags: trunk)
17:01
Rerun autoconf to update the configure script for version 3.7.12 (check-in: 6d73eb20 user: drh tags: trunk)
15:10
If the SELECT that finds all root pages in the showdb fails, then report an error. (check-in: 4b161415 user: drh tags: trunk)
14:59
Enhance the "showdb" utility program with the "pgidx" option. Now requires linkage with the amalgamation. (check-in: 4b573701 user: drh tags: trunk)
2012-04-02
21:35
The SQLITE_RTREE_INT_ONLY compile-time option causes the RTree extension to use only integer math and store only integer coordinates. (check-in: 02b7640f user: drh tags: trunk)
17:18
Add #ifdefs to allow a test build to succeed even if SQLITE_ENABLE_FTS3 is not defined. (check-in: fb121980 user: drh tags: trunk)
2012-03-31
19:12
Fix a compiler warning by removing a redundant variable. (check-in: af602d87 user: drh tags: trunk)
17:50
Test cases for RELEASE and ROLLBACK TO of a nested savepoint while queries are pending. Ticket [27ca74af3c083] (check-in: d2bf0efa user: drh tags: trunk)
17:17
Do not abort pending queries on a RELEASE of a nested SAVEPOINT. This is a candidate fix for ticket [27ca74af3c083f787]. (check-in: 79a4a3a8 user: drh tags: trunk)
15:08
Modify selectColumnsFromExprList() to avoid ever incorrectly returning SQLITE_NOMEM. (check-in: e7cb6b73 user: dan tags: trunk)
11:58
Change the ICU tokenizer so that it does not attempt to call strlen(NULL). (check-in: 04298f1a user: dan tags: trunk)
09:59
Fix a bug in the EXPLAIN code for listing trigger programs that was causing an out-of-bounds read. (check-in: c9342ca5 user: dan tags: trunk)
02:34
Do more aggressive optimization of the AND operator where one side or the other is always false. (check-in: f9a7e179 user: drh tags: trunk)
2012-03-30
16:44
Avoid using the OVERLAPPED struct on WinCE. (check-in: 196ca3a8 user: mistachkin tags: trunk)
15:57
Simplify the winRead and winWrite VFS functions to reduce the number of system calls. (check-in: b3449186 user: drh tags: trunk)
15:48
When a named CHECK constraint fails, include the name of the constraint in the error message. (check-in: 1b75f301 user: drh tags: trunk)
14:59
Fix MSVC compiler warnings in test code. (check-in: cb7a8504 user: drh tags: trunk)
14:01
Merge the latest trunk changes into the winrt branch. (check-in: a1a85b84 user: drh tags: winrt)
13:34
Fix an FTS4 test script problem for windows. (check-in: 36aa6665 user: drh tags: trunk)
12:27
Simplify the winRead and winWrite VFS functions to reduce the number of system calls. (check-in: 10ce8467 user: mistachkin tags: winrt)
12:10
Change the name of a local variable from "not" to "bNot" to lessen the chances of it colliding with some prior #define in the appliation. (check-in: cbdd8638 user: drh tags: trunk)
00:05
In the ".output" command of the shell, if the first character of the output filename is '|' then use popen() instead of fopen(). (check-in: fa82062c user: drh tags: trunk)
00:00
Fix compiler warnings on GCC and MSVC and fix a C89-ism that broke the build for MSVC. (check-in: b451c0f9 user: drh tags: trunk)
2012-03-29
15:11
Merge fts4-incr-merge with trunk. (check-in: 4d6de3e9 user: dan tags: trunk)
14:29
Disable the LIKE optimization if the column on the left-hand-side of the LIKE operator belongs to a virtual table. (check-in: 0bacb879 user: dan tags: trunk)
07:51
Fix an out of date comment on sqlite3ArrayAllocate(). (check-in: 4afdd5ae user: dan tags: trunk)
2012-03-28
16:44
Merge in the latest changes from trunk. (Closed-Leaf check-in: 66c4aaad user: drh tags: fts4-incr-merge)
16:22
Avoid loading overflow pages just to satisfy typeof() or length() functions if the correct result can be computed without the extra page fetches. (check-in: 0733c98c user: drh tags: trunk)
16:14
Minor changes to the core of OP_Column for performance and to clarify the critical path. (Closed-Leaf check-in: 86839476 user: drh tags: faster-typeof-and-length)
13:55
Fix a problem in fts4merge3.test. (check-in: 64fc8b30 user: dan tags: fts4-incr-merge)
13:41
Improvements to comments. Minor changes to code in the hot path of OP_Column - with the hope of get a few cycles of performance improvement. (check-in: ca093103 user: drh tags: faster-typeof-and-length)
02:51
Test cases for length() of a large blob in an aggregate query. (check-in: d095fa4b user: drh tags: faster-typeof-and-length)
02:43
Fix the typeof() and length() optimization so that it works for aggregates as well as scalar queries. (check-in: bc18215a user: drh tags: faster-typeof-and-length)
01:34
Evaluate typeof(X) and length(Y) where X is any column and Y is a blob column without actually loading X and Y from disk. (check-in: b899dbeb user: drh tags: faster-typeof-and-length)
2012-03-27
18:00
Add output of PRAGMAs auto_vacuum and encoding to the "schema" command of the fts3view utility program. (check-in: e3107631 user: drh tags: fts4-incr-merge)
15:10
Really delete the fts3merge.test script (should have been deleted by the previous commit). (check-in: 83838149 user: dan tags: fts4-incr-merge)
15:00
Remove the fts3merge.test script in favour of changing the fts4merge.test script so that it runs tests using both fts4 and fts3. Fix some problems with incr-merge and FTS3 tables. (check-in: 5c447e22 user: dan tags: fts4-incr-merge)
14:54
In the fts3view utility, label the blank segments used to mark the end of a segment sequence for a level/idx as "null". Improve the alignment of root segment names. (check-in: 04aea024 user: drh tags: fts4-incr-merge)
13:51
Enhance the fts3view tool with the big-segment command and fix a bug in the display of doclists. (check-in: e9436d80 user: drh tags: fts4-incr-merge)
13:44
Merge the fts4-incr-merge-exp branch with fts4-incr-merge. (check-in: eb00b958 user: dan tags: fts4-incr-merge)
11:48
Allow multiple incremental merges to proceed concurrently. This is required to prevent a large crisis-merge from occuring while an even larger incremental-merge is underway. (Closed-Leaf check-in: 7ed9d2f2 user: dan tags: fts4-incr-merge-exp)
00:38
Minor correct errors in the file format description for FTS3/4 contained in the fts3.c header comment. (check-in: fb8aacdd user: drh tags: fts4-incr-merge)
00:34
Enhance fts3view to show decodes of segments and doclists. (check-in: 6d09de23 user: drh tags: fts4-incr-merge)
2012-03-26
21:57
Add the fts3view utility program. (check-in: f936c8ea user: drh tags: fts4-incr-merge)
14:36
Fix FTS3 so that it works even without SQLITE_DEBUG. (check-in: a18c1031 user: drh tags: fts4-incr-merge)
10:57
Modify the FTS integrity-check so that the checksums do not depend on the results of signed integer overflow, which is undefined in C. (check-in: f907fc3f user: dan tags: fts4-incr-merge)
10:47
Add a comment to explain how the FTS integrity-check works. (check-in: 64e8a116 user: dan tags: fts4-incr-merge)
10:36
Add an experimental integrity-check function to FTS. (check-in: 40fc8804 user: dan tags: fts4-incr-merge)
2012-03-25
17:25
Increase the version number to 3.7.12 (check-in: d95f9fb7 user: drh tags: trunk)
2012-03-24
20:09
Add SQLITE_DBSTATUS_CACHE_WRITE to the command-line shell. (check-in: 30b8dd32 user: drh tags: trunk)
20:06
Add SQLITE_DBSTATUS_CACHE_WRITE. Used to query a database connection for the cumulative number of database pages written. (check-in: 05f98d4e user: drh tags: trunk)
19:44
Add SQLITE_DBSTATUS_CACHE_WRITE. Used to query a database connection for the cumulative number of database pages written. (check-in: 3cb6a879 user: dan tags: fts4-incr-merge)
17:29
Enable fts3 tables to use incremental merge by automatically creating the %_stat table when it is needed. (check-in: cc051fc0 user: drh tags: fts4-incr-merge)
17:09
Fix a failing assert() in the FTS3_LOG_MERGES related code. (check-in: 4220d52c user: dan tags: fts4-incr-merge)
16:43
Add a comment to fts3SyncMethod() to justify the nMinMerge=64 constant. (check-in: af55ca5f user: dan tags: fts4-incr-merge)
16:18
Fix a bug in debugging code enabled when FTS3_LOG_MERGES is defined. (check-in: 2e06babf user: drh tags: fts4-incr-merge)
16:11
Remove the Fts3Table.mxLevel variable. (check-in: 67a0cffc user: dan tags: fts4-incr-merge)
14:45
Merge auto-incr-merge with incr-merge branch. (check-in: 1c68687a user: dan tags: fts4-incr-merge)
14:45
Modify the way the number of leaves written and the maximum relative level are calculated in the auto-incr-merge code. (Closed-Leaf check-in: 0d841c95 user: dan tags: fts4-auto-incr-merge)
02:20
An attempt at automatic incremental merging for FTS4. (check-in: ed69434c user: drh tags: fts4-auto-incr-merge)
2012-03-23
18:26
Fix a spurious SQLITE_CONSTRAINT error that may be returned by an incr-merge operation. (check-in: ed7c17ea user: dan tags: fts4-incr-merge)
15:38
Add a test to verify that sqlite3_total_changes() works with incr-merge operations. (check-in: 1c72cecc user: dan tags: fts4-incr-merge)
14:38
Remove an incorrect assert() statement. Fix a const-related warning. (check-in: 96ed4749 user: dan tags: fts4-incr-merge)
14:23
When an incremental blob cursor is invalidated (occurs when an SQL statement modifies or deletes the row the blob cursor points to) release all page references held by the cursor. Otherwise, the presence of these references may cause other code in btree.c to incorrectly infer that the database is corrupt. (check-in: 341b703c user: drh tags: trunk)
13:40
Fix another test case issue in trace2.test. (check-in: 02a8e423 user: dan tags: fts4-incr-merge)
12:28
Update MSVC makefile to support compiling for WinRT using one setting. (check-in: c10794bf user: mistachkin tags: winrt)
11:09
When an incremental blob cursor is invalidated (occurs when an SQL statement modifies or deletes the row the blob cursor points to) release all page references held by the cursor. Otherwise, the presence of these references may cause other code in btree.c to incorrectly infer that the database is corrupt. (check-in: 82c3f2ba user: dan tags: fts4-incr-merge)
11:07
Update a couple of existing test cases. (check-in: dcb8fa0f user: dan tags: fts4-incr-merge)
2012-03-22
17:48
Add test cases to fts4merge.test. (check-in: ecab2083 user: dan tags: fts4-incr-merge)
16:48
Following an incr-merge operation that does not completely consume its input segments, store context in the rowid==1 row of the %_stat table that allows the next incr-merge to pick up where the previous left off. (check-in: ab0a4f44 user: dan tags: fts4-incr-merge)
12:50
Always quote the names of tables in the output of the shell's ".dump" command, even if the name is pure alphabetic text, in case the name is a keyword. (check-in: 638b7115 user: drh tags: trunk)
2012-03-21
14:34
Add fts4merge3.test, for testing that older versions of FTS4 may interoperate with incr-merge capable versions. (check-in: 903ec512 user: dan tags: fts4-incr-merge)
2012-03-20
17:04
Merge trunk changes into the fts4-incr-merge branch. (check-in: f61d5fb0 user: drh tags: fts4-incr-merge)
15:10
Remove the _SafeInit() entry points from the TCL interface. They have long been no-ops. Removing them completely avoids confusion as to why they don't work. (check-in: 0fb26c7b user: drh tags: trunk)
11:35
Version 3.7.11 (check-in: 00bb9c9c user: drh tags: trunk, release, version-3.7.11)
03:10
Fix out-of-bounds array references in the "echo" virtual table module used for testing. No changes to the SQLite core. (check-in: 7b449b30 user: drh tags: trunk)
02:18
Add WinRT comments to MSVC makefile. (check-in: ddea657b user: mistachkin tags: winrt)
02:10
Remove version information from the MSVC makefile as it is no longer necessary. (check-in: 6f0c1f97 user: mistachkin tags: winrt)
2012-03-19
23:32
Merge updates from trunk. (check-in: 4ab1ffd4 user: mistachkin tags: winrt)
23:28
Fix typo, use the syscall table for osOutputDebugStringA. (check-in: 9598c2a3 user: mistachkin tags: winrt)
17:42
Add additional test cases to e_insert.test. Update evidence marks. no changes to core code. (check-in: 036395c0 user: drh tags: trunk)
14:57
Fix one more compiler warning missed by the previous check-in. (check-in: bc03d99a user: drh tags: trunk)
14:51
Suppress harmless compiler warnings on windows in FTS4 and RTREE. (check-in: 4fd68647 user: drh tags: trunk)
14:28
Avoid a compiler warning (an incorrect compiler warning, at that) in vs2010. (check-in: 7dd97f12 user: drh tags: trunk)
10:21
Ensure that compatible malloc and free functions are used with stat3 data if SQLITE_ENABLE_STAT3 is defined. (check-in: 32bb1ece user: dan tags: trunk)
2012-03-18
03:22
On Windows, when no temporary path is available, skip prepending the directory separator. (check-in: 32b5c20e user: mistachkin tags: winrt)
01:32
Add SQLITE_OMIT_SHUTDOWN_DIRECTORIES compile-time option to disable clearing the sqlite3_data_directory and sqlite3_temp_directory variables during sqlite3_shutdown. Also, only clear the variables if the heap was actually shutdown. (check-in: 1ae9f9e4 user: mistachkin tags: winrt)
2012-03-17
16:56
Fix various incorrect and missing comments and other style issues in and around the FTS incremental merge code. (check-in: 7aabb62c user: dan tags: fts4-incr-merge)
15:12
In pager1.test, use "file attr test.db -readonly 0" before "file attr test.db -perm rw-rw-rw-", not after.