SQLite

Timeline
Login

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

200 descendants and 200 ancestors of 4e8796af7d40d6ca

2015-06-23
02:37
Avoid computing cell sizes in balance_nonroot() until they are really needed. This gives an overall 1.7% performance gain for about 1000 extra bytes of code space. (check-in: 43844537e8 user: drh tags: btree-opt2)
2015-06-22
20:02
Change the way that balance_nonroot() partitions cells between the sibling pages such that a scan of the cell size array is not required. (check-in: 1687287151 user: drh tags: btree-opt2)
2015-06-20
18:13
Split out all four cases of cellSizePtr() into different methods, each optimized for the specific page type. This gives a 0.36% performance increase at a cost of about 300 bytes of code. (Leaf check-in: 522502ec18 user: drh tags: btree-opt)
14:11
Update the fuzztest data using the latest test vectors discovered by AFL. (check-in: b97f9cf73e user: drh tags: trunk)
13:18
Make sure that the likelihood() function does not mess up generation of result-set code when it is used (inappropropriately) in a result-set expression. (check-in: 7cdbae625e user: drh tags: trunk)
2015-06-19
20:31
Performance improvements in btreeParseCell() by inlining the varint decoder. (check-in: 172a864d14 user: drh tags: trunk)
20:08
Fix corner cases involving corrupt varint values in record headers. (Closed-Leaf check-in: 3189116b42 user: drh tags: btree-opt)
18:24
Performance improvements in btreeParseCell() by inlining the varint decoder. (check-in: faab0ed928 user: drh tags: btree-opt)
17:19
Add the MemPage.xParseCell method and provide various implementations (variations on the former btreeParseCellPtr()) depending on the page type. (check-in: 41d03d883c user: drh tags: trunk)
15:07
Make cellSizePtr() a method on the MemPage object, with alternative implementations depending on the page type. This results is a small performance improvement and size reduction. (check-in: 02f7e9d7d7 user: drh tags: trunk)
2015-06-18
15:26
Further #ifdef changes in speedtest1.c in order to support SQLite back to version 3.3.9 and perhaps even earlier. (check-in: 9246eca54a user: drh tags: trunk)
14:32
Pervent the likelihood() function from moving ON clause terms of a LEFT JOIN into the WHERE clause. Fix for ticket [5f60b11fc8e23490e2] (check-in: ed96e14adc user: drh tags: trunk)
14:09
Show the values of Expr.flag in the AST of ".selecttrace" (check-in: a84d1004cb user: drh tags: trunk)
12:37
Add #ifdefs to some features speedtest1.c so that it compiles with older versions of SQLite, going back to version 3.5.1. (check-in: f50dd154d3 user: drh tags: trunk)
2015-06-17
23:28
Performance improvement in sqlite3VdbeMemShallowCopy() for the common case where the receiver does not require prior resource deallocation. (check-in: d718ea36dc user: drh tags: trunk)
19:06
Use 'binary' mode for popen with MSVC. (Closed-Leaf check-in: 7b84641e55 user: mistachkin tags: popenMsvc)
18:57
Improve spacing and comment style for the shell. No changes to code. (check-in: 5b547da00d user: mistachkin tags: trunk)
18:24
Improved comments on the fuzzcheck.c test program. No changes to code. (check-in: a7e27d1928 user: drh tags: trunk)
18:18
Merge all recent enhancements and fixes from trunk. (check-in: 199bfb67fd user: drh tags: sessions)
17:08
Fix a uninitialized variable use in the command-line shell when the ".open" command is invoked without any arguments. (check-in: fc4f4d1ecc user: drh tags: trunk)
13:20
Performance optimization and comment fixes for the LIKE and GLOB operators. (check-in: c89d772628 user: drh tags: trunk)
02:11
Make getCellInfo() a real function instead of a macro, for a size reduction and a 0.2% performance gain. (check-in: 55c393ea14 user: drh tags: trunk)
01:31
Optimizations to two VDBE accessory routines for a 0.2% performance increase. (check-in: 66d033b9c9 user: drh tags: trunk)
2015-06-16
16:39
Ensure that the CREATE TABLE AS statement correctly undoes partial changes to the sqlite_master table if the SELECT on the right-hand side aborts with an error. Fix for ticket [873cae2b6e25b] (check-in: 400e025e7c user: drh tags: trunk)
2015-06-15
16:40
Adjust ICU tests to account for recent changes in the official Unicode definition of whitespace. (check-in: 0816525386 user: drh tags: trunk)
16:09
Fix a harmless comment typo. No code changes. (check-in: ae68765218 user: drh tags: trunk)
14:43
Fix harmless compiler warnings. (check-in: b0badb9902 user: drh tags: trunk)
12:58
Improved detection of database corruption in freeSpace(). (check-in: 29bcb56887 user: drh tags: trunk)
10:49
Comment typo fix. No code changes. (check-in: 17f185adb9 user: drh tags: trunk)
2015-06-13
19:05
Added test cases based on Bruce Momjian's talk on SQL NULLs. (Leaf check-in: 68c168b5e5 user: drh tags: is-distinct-from)
11:48
Add the IS DISTINCT FROM and IS NOT DISTINCT FROM operators. (check-in: 0be4478209 user: drh tags: is-distinct-from)
11:19
Omit mutex calls in pcache1 when the mutex is NULL, for a significant performance improvement. (check-in: caf8f574e5 user: drh tags: trunk)
11:10
Avoid unnecessary mutex usage in pcache1, for a significant speedup. (Closed-Leaf check-in: dcf4fb8d76 user: drh tags: faster-pcache1-fetch)
2015-06-12
13:49
Add a fast-path implementation of pcache1Fetch() for the common case of separate caches that do not use a mutex. (check-in: 760700edb3 user: drh tags: faster-pcache1-fetch)
13:04
Minor performance optimization in pcache1.c. (check-in: 2e8ad2ead9 user: drh tags: trunk)
12:54
Add the OP_ColumnsUsed opcode (when compiled with SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which columns of a btree cursor will be used. (check-in: 711a176cbf user: drh tags: trunk)
2015-06-11
18:01
Merge recent trunk enhancements and fixes. (check-in: c39cb0e257 user: drh tags: sessions)
17:58
Merge trunk fixes. (Leaf check-in: 1df8cbbea6 user: drh tags: view-optimization)
17:26
Add the sqlite3changegroup_xxx() APIs to the sessions module. For combining multiple changesets or patchsets. (check-in: 0c1a901cd6 user: dan tags: sessions)
14:19
Remove stray outputs from the test suite. (check-in: afc6db9b10 user: drh tags: trunk)
13:58
When generating code for partial indexes, be sure not to modify the index condition expression in the schema. (check-in: e63d01c69c user: drh tags: trunk)
2015-06-10
23:02
More test output refinements. (Closed-Leaf check-in: e64a568179 user: mistachkin tags: testerOutput)
22:51
Remove possibly stray output from various tests. (check-in: f38e0be56f user: mistachkin tags: testerOutput)
22:03
Fix minor typo in the quicktest MSVC makefile target. (check-in: 75b65f9d49 user: mistachkin tags: trunk)
20:00
Merge enhancements from trunk. (check-in: 0e23a079bd user: drh tags: view-optimization)
18:53
"test" targets on all makefiles use --verbose=file --output=test-out.txt. Add the new "quicktest" target to all makefiles - designed to run in under three minutes. The --quick option on releasetest.tcl now uses quicktest. (check-in: 6ddef2ad35 user: drh tags: trunk)
17:20
Resolve FROM-clause subqueries after query planning instead of before. Greatly reduce the estimated cost of automatic indexes for VIEWs and ephemeral tables since performance problems there cannot be mitigated via a CREATE INDEX. (check-in: a1eaf1718e user: drh tags: view-optimization)
14:27
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods. (check-in: 7b446771ca user: dan tags: trunk)
10:45
Fix the fts5 xRename() method. (check-in: 0f7fd51325 user: dan tags: fts5)
2015-06-09
20:58
Add the "columnsize=" option to fts5, similar to fts4's "matchinfo=fts3". (check-in: aa12f9d9b7 user: dan tags: fts5)
15:58
Add the --output=$file and --verbose=(0|1|file) options to tester.tcl. (check-in: f7b2c70362 user: dan tags: trunk)
10:58
Remove some repeated lines of source code. Probably introduced by careless cut'n'pasting. (Closed-Leaf check-in: a34cd71c8a user: dan tags: vtab-left-join)
2015-06-08
22:59
Code refactoring to try to shift FROM-clause subquery manifesting until after the query planner runs. Except this does not currently work because the query planner needs an estimated of the number of rows in the manifested table. Work in progress. (check-in: cabf218716 user: drh tags: view-optimization)
19:15
Add the valgrindfuzz target to unix makefile. (check-in: e62aed01f1 user: drh tags: trunk)
18:48
If a query contains "FROM t1 LEFT JOIN t2, t3, t4", ensure that tables t3 and t4 are not scanned before t2. The trunk already does this. (check-in: 0d9edfab9f user: dan tags: vtab-left-join)
18:05
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods. (check-in: 80ee56dda7 user: dan tags: vtab-left-join)
17:42
Fix typo in comment. No changes to code. (check-in: e49c291735 user: mistachkin tags: trunk)
17:40
Split out some source code into new files: wherecode.c, whereexpr.c, and treeview.c. Other minor refactoring changes. (check-in: 50f336818c user: drh tags: trunk)
15:08
Factor out the TreeView parse tree printing module into a separate file. (check-in: c32ce54ca4 user: drh tags: view-optimization)
14:23
Split more subfunctions of where.c out into a new whereexpr.c source file, for improved maintainability. (check-in: 46ef95c108 user: drh tags: view-optimization)
2015-06-06
20:12
Split out the bulk of the actual VDBE code generation logic from where.c into a new file, leaving behind the analysis logic. This makes the original where.c smaller and hopefully easier to edit. (check-in: faa0e420e9 user: drh tags: view-optimization)
19:23
Fix a comment in fts5.h. (check-in: e964b58774 user: dan tags: fts5)
18:30
Code simplifications in select.c and where.c. (check-in: 4f20ac90bc user: drh tags: view-optimization)
16:28
Fix handling of fts5 rowid constraints in the absence of a MATCH clause. Add tests to cover recently added branches. (check-in: 3a9cb64813 user: dan tags: fts5)
00:18
Minor cleanup of the sqlite3Select() procedure. (check-in: f4c90d06bb user: drh tags: view-optimization)
2015-06-05
22:33
Split FROM-clause subquery flattening and code generation into separate loops. (check-in: be8e3fc70e user: drh tags: view-optimization)
20:27
Provide one final Select tree dump prior to WHERE clause analysis when ".selecttrace 0x400" tracing bit is set with SELECTTRACE_ENABLED. Analysis and debug changes only - normal builds are unaffected. (check-in: 283bf0b64d user: drh tags: trunk)
19:05
Make use of range constraints on the rowid field of an fts5 table in full-text queries. (check-in: 32cbc0ed36 user: dan tags: fts5)
15:59
Add a new opcode to the VDBE that gives the b-tree a hint about the set of columns in a table or index that are actually used by the query. (Closed-Leaf check-in: f167bba446 user: drh tags: column-usage-hint)
2015-06-04
12:08
Change the name of SrcList.a[].zIndex to the more descriptive SrcList.a[0].zIndexedBy. (check-in: 6a9cf06337 user: drh tags: trunk)
2015-06-03
11:23
Fix an fts5 problem in extracting columns from position lists containing large varints. (check-in: 4ea015ab98 user: dan tags: fts5)
2015-06-02
19:38
Change the fts5 multi-column syntax to use parenthesis instead of square brackets. (check-in: ab85a6fc4f user: dan tags: fts5)
19:36
Always check for cell overflow before returning a slot from the pageFindSlot routine in btree.c. (check-in: 9f035c45a4 user: drh tags: trunk)
18:09
For FROM-clause subqueries that cannot be flattened, try to push relevant WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. Call this the "WHERE-clause push-down optimization". Do not confuse this with the completely different MySQL push-down optimization. (check-in: 6df18e949d user: drh tags: trunk)
18:07
Merge latest trunk changes with this branch. (check-in: c9ffda4abb user: dan tags: fts5)
17:25
Add test cases for type affinity rules. (check-in: 9678646d9a user: drh tags: trunk)
16:19
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB to avoid confusion with "no affinity". (check-in: 29ad9e9173 user: drh tags: trunk)
16:09
Add the built-in affinity() SQL function. This turns out to be not as useful as originally envisioned, so abandon it on a branch. (Leaf check-in: 80889306bf user: drh tags: affinity-func)
15:32
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. (Closed-Leaf check-in: bce3f04186 user: drh tags: blob-affinity-rename)
14:02
Fix a faulty assert() in btree.c. Update the database fuzz test file with new test cases. (check-in: 4e621af134 user: drh tags: trunk)
09:20
Add the "finish_test" command to the end of new test script sessionE.test. (check-in: fb39140707 user: dan tags: sessions)
09:19
Modify the sessions module to ignore all operations on tables with no primary keys as documented. (check-in: bdaf9575cd user: dan tags: sessions)
2015-06-01
20:28
For FROM-clause subqueries that cannot be flattened, try to push WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. (Closed-Leaf check-in: 297fae7551 user: drh tags: subquery-opt)
18:13
Corrections to comments in expr.c. No code changes. (check-in: f925389eaf user: drh tags: trunk)
17:32
Break out the query flattener into a separate source-code file. (Closed-Leaf check-in: e3fa8b936b user: drh tags: flattener-in-new-file)
11:10
Typo fixes and additional background information in README.md. (check-in: 9b8e5823bc user: drh tags: trunk)
2015-05-30
22:57
Updates to configure.ac to help it find where the TCL libraries hidden on Ubuntu 14.04. (check-in: c864ff912d user: drh tags: trunk)
22:05
Fix minor typo in comment. No changes to code. (check-in: 73fc058b3a user: mistachkin tags: trunk)
2015-05-29
19:04
Import recent enhancements from trunk. (check-in: 54bec164eb user: drh tags: sessions)
18:42
Ensure that allocateBtreePage() always clears the MemPage pointer when it fails due to an I/O or memory allocation error. (check-in: 09a38bf665 user: drh tags: trunk)
17:51
Move two unreachable conditionals inside of NEVER() or assert(). (check-in: db4e9728fa user: drh tags: trunk)
17:13
Remove a corruption test in balance_nonroot that is superceded by a prior better check. (check-in: 00693682d8 user: drh tags: trunk)
15:15
Omit the rowallock.test script (Read-Only WAL lock) from the inmemory_journal permutation. (check-in: d21db33089 user: drh tags: trunk)
14:47
Add support for automatic indexes on FROM-clause subqueries that are implemented via co-routine. (check-in: 020b8b106f user: drh tags: trunk)
14:36
Add some extra source-code comments and a test case. (Closed-Leaf check-in: 6d410442fb user: drh tags: coroutine-autoindex)
13:55
An attempt to allow automatic index creation on subqueries accessed via co-routine. (check-in: 521345add6 user: drh tags: coroutine-autoindex)
01:35
Using "SELECT ALL" instead of just "SELECT" on a query that uses a single unflattenable subquery or view in its FROM clause will force the subquery to be manifested into a temporary table rather than run incrementally using a co-routine. This is a stop-gap means of controlling the decision to manifest while we try to work out a better to make that decision automatically. (check-in: a29e117d7e user: drh tags: trunk)
2015-05-28
15:14
Added comments and testcase() macros to error cases in the btree search. (check-in: 7da7dc714b user: drh tags: trunk)
11:23
Earlier detection of incompatible sibling pages in balance_nonroot. (check-in: 60a09f17d8 user: drh tags: trunk)
03:45
Add new test cases to the fuzzdata3.db set of database fuzz tests. (check-in: 467b13a401 user: drh tags: trunk)
03:28
Add the btreeGetUnusedPage() routine to btree.c, and use it to detect content pages on the freelist and to cause that condition to trigger an SQLITE_CORRUPT. (check-in: fe15d1f703 user: drh tags: trunk)
00:54
Do not attempt to take any write lock on a read-only database on Windows. (check-in: a47ff0cdab user: drh tags: trunk)
2015-05-27
19:35
The fuzzoomtest makefile target is no longer supported, so update releasetest.tcl accordingly. (check-in: 06959d4ada user: drh tags: trunk)
18:19
Fix a minor and harmless memory leak in fuzzcheck. Adjust the makefiles to run fuzzcheck with --quiet on valgrind tests. (check-in: 8bfe834432 user: drh tags: trunk)
18:13
All bytes of a page are initialized, even bytes that follow a 2-byte cell on a malformed page. (check-in: 7373a004ed user: drh tags: trunk)
15:42
A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. (check-in: 95eaa49f4e user: drh tags: trunk)
15:10
Disallow the use of "rowid" in CTEs - it has never worked correctly and it makes no sense, so we might as well make it an explicit error. Also: add the PRAGMA cell_size_check=ON command. (check-in: 19e2cebc12 user: drh tags: trunk)
14:21
A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. (Closed-Leaf check-in: 7e9e1b6123 user: dan tags: avoid-buffer-overread)
13:06
CTEs have never had working rowids. So disallow the use of the "rowid" column within CTEs. (Closed-Leaf check-in: 0055df0445 user: drh tags: no-rowid-in-cte)
03:46
Add the "PRAGMA cell_size_check=ON" command. (Closed-Leaf check-in: 2ead43f074 user: drh tags: cell-size-check-pragma)
2015-05-26
20:31
Avoid a buffer overread when comparing against a corrupt record that spans at least one overflow page. (check-in: 62a5b3633a user: dan tags: trunk)
20:07
Avoid branching on an uninitalized variable when comparing SQL values with the undefined serial types 10 and 11 (which only appear in corrupt databases). (check-in: b4a45d3b78 user: dan tags: trunk)
19:08
The "make fuzztest" target now uses fuzzcheck instead of fuzzershell. Test data is added for database fuzz testing. (check-in: 5e3e410bf4 user: drh tags: trunk)
19:01
Merge accidental fork. (Closed-Leaf check-in: e85628e34a user: dan tags: test-using-fuzzcheck)
18:58
Fix a one-byte buffer overread that may follow a syntax error while preparing an SQL statement. (check-in: 075003930d user: dan tags: test-using-fuzzcheck)
18:58
Fix fuzzcheck so that it responds correctly to the TEST_FAILURE environment variable. (check-in: 76770c9e06 user: drh tags: test-using-fuzzcheck)
18:15
The "make fuzztest" target now uses fuzzcheck instead of fuzzershell. (check-in: 4a5f6f1f01 user: drh tags: test-using-fuzzcheck)
17:57
Enhance fuzzcheck with the ability to store descriptions in each source database and to run multiple source databases in a single invocation. (check-in: 193364c81c user: drh tags: trunk)
17:33
Add a cast to one side of the test added by [97806a78] in order to avoid a signed/unsigned comparison warning. (check-in: 5b46d2a78a user: dan tags: trunk)
17:29
Avoid using a zero-sized array within a struct in fts3 code. (check-in: b05cae36ce user: dan tags: trunk)
16:12
Fix another bug in the in-memory VFS for fuzzcheck. (check-in: 16878a314b user: drh tags: trunk)
14:57
Update test cases in corruptI.test so that they work with both SQLITE_ENABLE_OVERSIZE_CELL_CHECK and SQLITE_DEFAULT_AUTOVACUUM builds. (check-in: 22a1466378 user: dan tags: trunk)
12:18
Return SQLITE_CORRUPT to the user if an attempt is made to add database page 1 to the free page list. (check-in: 68876003f9 user: dan tags: trunk)
11:53
Fix a problem with ignoring UNIQUE constraints on WITHOUT ROWID tables rendered redundant by the PRIMARY KEY. (check-in: 3b936913f3 user: dan tags: trunk)
03:31
Silence harmless compiler warnings when building the command line utilities with MSVC. (check-in: d26060c468 user: mistachkin tags: trunk)
03:24
Add fuzzcheck to makefile clean targets. Also, for consistency, replace a few tabs with spaces. (check-in: eda2a43750 user: mistachkin tags: trunk)
00:28
Add the --result-trace option to fuzzcheck, and other interface enhancements. (check-in: c415bb7bbf user: drh tags: trunk)
2015-05-25
23:14
Fix an important bug in the xRead method of the in-memory VFS for fuzzcheck. (check-in: 58cd40e89f user: drh tags: trunk)
22:38
Add the fuzzcheck test program. (check-in: 341cb6abe7 user: drh tags: trunk)
22:29
Add fuzzcheck to all makefiles and fix compiler warnings. (Closed-Leaf check-in: 7b3d21906a user: drh tags: fuzzcheck)
22:18
Merge in trunk fixes. (check-in: c71c2e1a99 user: drh tags: fuzzcheck)
22:17
Improved tracing capabilities in fuzzcheck. (check-in: 864bfdbfe7 user: drh tags: fuzzcheck)
21:59
Add the --native-vfs option on fuzzcheck. (check-in: 12e95e3f17 user: drh tags: fuzzcheck)
20:04
Fix a case of a corrupt database causing SQLite to read from up to 4 bytes before the start of a memory allocation. (check-in: 7d2c4f7b66 user: dan tags: trunk)
19:37
Merge the btree fixes out of trunk. (check-in: f3cd8cecf4 user: drh tags: fuzzcheck)
19:35
Add the --dbid and --sqlid parameters to fuzzcheck. Other fuzzcheck fixes. (check-in: 75ec9299fa user: drh tags: fuzzcheck)
19:24
Have the b-tree layer return SQLITE_CORRUPT to any attempt to open a cursor with a root page number less than 1. (check-in: aa18c8e9d1 user: dan tags: trunk)
18:48
First code for a new utility program to rerun checks on a large number of fuzzer-generated test cases. (check-in: c5b4e36352 user: drh tags: fuzzcheck)
18:47
Fix a couple of btree asserts that would fail when encountering 32-bit rollover in cell payload size fields (cell payloads this large always indicate corruption). (check-in: 8fa0937a2f user: dan tags: trunk)
17:07
Fix a case where database corruption may cause SQLite to write past the end of a buffer. (check-in: 97806a7814 user: dan tags: trunk)
15:03
Fix an assert() in btree routine freeSpace() that may be false if the database is corrupt. (check-in: 00a473c561 user: dan tags: trunk)
10:57
Fix an fts4 matchinf() problem triggered by deferred tokens that are part of phrases that are part of AND expressions. (check-in: f1e942a1dd user: dan tags: trunk)
10:29
Fix an obsolete comment - no changes to code. (check-in: 4e4228c47f user: drh tags: trunk)
09:33
Remove an incorrect and pointless assert(). (check-in: 8c3929bd42 user: drh tags: trunk)
2015-05-24
21:46
The assert() changes removed in the previous check-in are needed after all. (check-in: 336fccc84c user: drh tags: trunk)
21:09
Better detection of corruption in allocateSpace() in btree.c. (check-in: bf7bb53ee2 user: drh tags: trunk)
10:18
Detect database corruption in the modifyPagePointer() routine and abort. (check-in: 4f0bba42f9 user: drh tags: trunk)
2015-05-23
19:53
Instead of early detection of corruption in balance_nonroot, simply ignore the error, as it is harmless and exceedingly uncommon. (check-in: 7bbf9b3cd6 user: drh tags: trunk)
19:29
Earlier detection of a specific kind of corruption in the balance_nonroot() routine. (check-in: ee6dc9913a user: drh tags: trunk)
02:44
Minor documentation improvements. No changes to code. (check-in: e446d9ce00 user: drh tags: trunk)
2015-05-22
23:51
Merge bug fixes from trunk. (check-in: 519054bb72 user: drh tags: sessions)
23:50
Improved error messages in fuzzershell when unable to open the database. (check-in: c404fcace8 user: drh tags: trunk)
23:45
Fix a bug in fuzzershell caused by an uninitialized local variable. (check-in: 745deab87a user: drh tags: trunk)
23:39
Fix another bad assert() in btree - one that can be false on a corrupt database file. (check-in: 89f0bbfde4 user: drh tags: trunk)
23:26
Merge enhancements from trunk, including the new sqlite3_value_dup() API and the addition of the apSqlParam field in the sqlite3_rtree_query_info object of R-Tree. (check-in: cdc0ca6fb3 user: drh tags: sessions)
23:17
Fix incorrect validation of the size of the BLOB returned by a geometry function on the RHS of a MATCH operator in RTree. The old code worked for 64-bit systems (by chance) but fails on 32-bit. (check-in: 10cc44f5a6 user: drh tags: trunk)
21:12
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use these interfaces to enhance R-Tree to add the sqlite3_rtree_query_info.apSqlParam field. (check-in: c1814242e6 user: drh tags: trunk)
21:04
Make sure sqlite3_value_dup() works correctly even for sqlite3_value objects that are marked SQLITE_STATIC. (Closed-Leaf check-in: f332ffc39b user: drh tags: value-dup)
19:55
Fix minor issues with the sqlite3_value_dup() interface. (check-in: 95edcf5010 user: drh tags: value-dup)
18:40
Update with fixes and enhancements from trunk. (check-in: 9605d008f5 user: drh tags: value-dup)
17:29
The SRT_Table type for the SelectDest object is now just an SRT_EphemTab for which the ephemeral table has already been allocated. (check-in: b9727e6bbf user: drh tags: trunk)
16:08
Have r-tree prefer to use the constraint "col MATCH ?" over "rowid = ?". (check-in: b9fb95194d user: dan tags: trunk)
13:09
Fix two faulty assert statements discovered by fuzzing. (check-in: 799817bfb2 user: drh tags: trunk)
12:37
Fix an assert in btree.c that can be false when using a corrupted database file. (check-in: a6eb2a3935 user: drh tags: trunk)
11:38
Add the --database option to the fuzzershell test program. (check-in: c6d5512f4b user: drh tags: trunk)
2015-05-21
20:26
Have r-tree prefer to use the constraint "col MATCH ?" over "rowid = ?". drh added later: All changes on this branch have been cherrypicked to trunk and will be merged into sessions from trunk. So this branch can close. (Closed-Leaf check-in: b9e45596d8 user: dan tags: sessions-value-dup)
2015-05-20
22:01
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces and use those to add the sqlite3_rtree_query_info.apSqlParam field to the query callback in R-Tree. (check-in: 2007391cec user: drh tags: sessions-value-dup)
21:28
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use these interfaces to enhance R-Tree to add the sqlite3_rtree_query_info.apSqlParam field. (check-in: a7ee40c4fc user: drh tags: value-dup)
17:36
Fix the initialization logic in CREATE TABLE AS so that the correct affinities are applied to all values being inserted into the new table, even if the RHS is a compound SELECT. Fix for ticket [f2ad7de056ab1dc9200]. (check-in: 6a0cf3ce9e user: drh tags: trunk)
17:25
Add a test case to verify that CREATE TABLE AS does not store INT values in TEXT columns. Ticket [f2ad7de056ab1dc92]. (Closed-Leaf check-in: 0e45e8f157 user: drh tags: create-table-as-type-fix)
17:18
Simplification of the initialization code for CREATE TABLE AS. (check-in: 937f659e89 user: drh tags: create-table-as-type-fix)
15:51
A proposed fix for the problem of CREATE TABLE AS generating a table that has INTEGER values in a TEXT column. Ticket [f2ad7de056ab1dc92]. (check-in: d5e2c1fc76 user: drh tags: create-table-as-type-fix)
00:15
Fix handling of queries with VALUES on the left and UNION ALL SELECT on the right and a LIMIT clause. (check-in: c403502cdc user: drh tags: trunk)
2015-05-19
23:56
Enhance the selecttrace display by showing Select.selFlags. (check-in: 45d3893c61 user: drh tags: trunk)
23:04
Merge the Makefile.msc fix and the compiler warning fix from trunk. Also fix another compiler warning in sqlite3session_diff(). (check-in: 7530e1bf55 user: drh tags: sessions)
22:56
Fix the MSVC makefile so that it works with OTA. Fix a harmless compiler warning in FTS3. (check-in: c7b1664530 user: drh tags: trunk)
22:42
Merge recent trunk changes, include the R-Tree enhancement that allows 8-byte BLOB arguments to geometry functions, and the fix for the TEXT affinity problem that could cause corrupt indexes. (check-in: 0a0de8b72c user: drh tags: sessions)
22:20
Allow R-Tree geometry functions to take 8-byte BLOB arguments which are passed directly through to the underlying callback, and which can be used to pass pointers into the callback. (check-in: b271ed5653 user: drh tags: trunk)
19:44
Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value. Fix for [34cd55d6]. (check-in: f5d0ce8079 user: dan tags: trunk)
17:48
Remove the sqlite3ota_open_v2() API. Add a new parameter to sqlite3ota_open() instead. (check-in: c74e0bc481 user: dan tags: trunk)
16:50
Merge the ota-update branch with trunk. (check-in: 08e2864ed7 user: dan tags: trunk)
16:26
Add a comment for SQLITE_FCNTL_OTA to sqlite.h.in. (Closed-Leaf check-in: efa20f8e41 user: dan tags: ota-update)
16:22
Allow OTA update state data to be stored in a database separate from the OTA update database. (check-in: 5af8db56af user: dan tags: ota-update)
14:14
Merge latest trunk changes with this branch. (check-in: 6055a6725c user: dan tags: ota-update)
2015-05-14
09:53
Merge changes from the index-is-operator branch into this one. Drop the partial support added for IS on this branch by [52e73eec]. (check-in: 16ab9cafd0 user: dan tags: ota-update)
08:58
Merge latest trunk changes with this branch. (check-in: 299ed55c90 user: dan tags: ota-update)
2015-04-23
19:38
Fix a problem in the "ota" utility program causing it to crash if SQLite failed to open the target database. (check-in: a1a2b4a2ef user: dan tags: ota-update)
19:32
Merge latest trunk changes into this branch. (check-in: 1506e99eca user: dan tags: ota-update)
19:18
Fix a performance problem in calls to sqlite3ota_close() made after the OTA update has been completely applied and checkpointed. (check-in: fa62093b25 user: dan tags: ota-update)
18:14
Have OTA maintain a small LRU cache of UPDATE statements. This reduces the amount of time it spends compiling UPDATE if a single data_xxx table contains many different ota_control strings. (check-in: baee3556ea user: dan tags: ota-update)
2015-04-22
11:34
Add comments related to database locking to sqlite3ota.h. (check-in: 77242965e7 user: dan tags: ota-update)
2015-04-21
15:35
Add a comment to sqlite3ota.h. No code changes. (check-in: 352fa09efd user: dan tags: ota-update)
2015-04-17
17:00
Ensure that filenames passed to the VFS xOpen() function are terminated by 2 '\0' bytes. (check-in: 66eff473c3 user: dan tags: ota-update)
16:29
Fix a memory leak in sqlite3ota.c that can follow an OOM error. (check-in: c3dc15e717 user: dan tags: ota-update)
08:36
Have OTA always specify SQLITE_CONFIG_URI when opening databases. Fix a test issue causing otacrash.test to fail. (check-in: 0d0e5ec064 user: dan tags: ota-update)
2015-04-16
18:49
Be sure to release any xShmLock locks held when closing an OTA handle. (check-in: d0fba72a47 user: dan tags: ota-update)
14:33
Fix a mismatched printf() argument and format specifier. Add ota files to Makefile.in. (check-in: 5db810a88d user: dan tags: ota-update)
10:55
Avoid attempting to rename the *-oal file while it is still open. (check-in: 658c3b0c80 user: dan tags: ota-update)
2015-04-15
14:26
Merge all recent trunk enhancements and fixes into the ota-update branch. (check-in: 9bd3e4453d user: drh tags: ota-update)
2015-04-08
14:01
Merge all changes for version 3.8.9 into the ota-update branch. (check-in: ec9d907a57 user: drh tags: ota-update)
2015-03-25
15:23
Extend [52e73eec] so that the IS optimization may be used on primary keys with more than 3 columns. (check-in: 4e8796af7d user: dan tags: ota-update)
2015-03-24
18:21
Merge the latest trunk changes into this branch. (check-in: 9d9b6c883b user: dan tags: ota-update)
18:03
When the OTA module updates or deletes a row, save only those fields that are part of an index or primary key to the ota update database. (check-in: 6326fd3249 user: dan tags: ota-update)
16:43
Prevent a virtual table from being destroyed while it is in use. Also: replace Vdbe.inVtabMethod with sqlite3.nVDestroy. Simplify the EXPLAIN output for P4.pVtab to only show the sqlite3_vtab pointer. (check-in: cbeb9a1aed user: drh tags: trunk)
14:57
Add tests to check that attempting to DROP a virtual table while it is use does not cause problems. (Closed-Leaf check-in: 5ee625b198 user: dan tags: nVDestroy)
14:57
Simplify the EXPLAIN output of virtual table P4 parameters to only show the pointer to the sqlite3_vtab object and omit the sqlite3_module object. (Closed-Leaf check-in: 85610bbbc6 user: drh tags: nVDestroy)
14:05
More defenses against virtual table being deleted out from under a running statement. (check-in: 116c998230 user: drh tags: nVDestroy)
13:32
Prevent a virtual table from being destroyed while it is in use. (check-in: fba674c083 user: drh tags: nVDestroy)
12:51
Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter. (check-in: 9faefb9627 user: drh tags: nVDestroy)
2015-03-23
21:32
Disable loadable extensions in the command-line shell on VxWorks user-space. (check-in: 0ee2d38deb user: drh tags: trunk)
19:55
Track total memory usage using a 64-bit integer on 64-bit systems. Add the sqlite3_status64() interface. Make the sqlite3_status() and sqlite3_status64() interfaces atomic using mutexes and verify correct mutex operation using assert() statements. (check-in: 6fc4e79a23 user: drh tags: trunk)
19:16
Fix a non-C89 variable declaration that causes problems for MSVC. (Closed-Leaf check-in: 3de085eab2 user: drh tags: status64)
19:03
Fix datetype size asserts in btree.c. (check-in: ff4812d0e8 user: drh tags: trunk)
18:52
Add the SQLITE_PTRSIZE macro. Use it to help sqlite3_status() run faster on 32-bit systems. (check-in: c742bd6047 user: drh tags: status64)
17:25
Add the sqlite3_status64() interface. Make the new interface and the legacy sqlite3_status() both atomic and threadsafe. Check threadsafety using assert()s. (check-in: 1ce8e8fa4b user: drh tags: status64)
17:10
Fix a broken assert() in the ota module. (check-in: 858de8a5e7 user: dan tags: ota-update)
2015-03-22
10:23
Fix a potential NULL pointer dereference following a syntax error. (check-in: 8d27e3e16a user: drh tags: trunk)
2015-03-21
23:38
Fix harmless compiler warnings with MSVC when assert() and SQLITE_MEMDEBUG are both enabled. (check-in: 9513dbd486 user: mistachkin tags: trunk)
22:23
Add more comments to the MSVC batch build tool. (check-in: 03522da378 user: mistachkin tags: trunk)
22:13
Increase the debugging level for the debug configuration in the MSVC batch build tool. (check-in: 041484ff91 user: mistachkin tags: trunk)
20:59
Do not invoke a C preprocessor macro with an empty argument, as (reportedly) some versions of GCC are unable to deal with that. (check-in: de9da317d4 user: drh tags: trunk)
20:50
Add a missing "int" on a constant declaration. (check-in: 235157de51 user: drh tags: trunk)
19:35
Avoid a segfault if NULL is passed as the first argument to SQL scalar function fts3_tokenizer(). (check-in: 6d0989695b user: dan tags: trunk)
16:40
Change walblock.test to block an external process for 10 seconds, not 5. 5 seconds is not long enough to tell the difference between a blocking lock and a series of retries. (check-in: 717335fcdb user: dan tags: trunk)
16:36
Fix the blocking WAL lock so that it works and so that it compiles on a Mac. (check-in: 67d69d21de user: drh tags: trunk)
12:25
Remove an unreachable branch from the OP_VCreate opcode (merge accidental fork in trunk). (check-in: 2fbfec62fc user: dan tags: trunk)
12:22
Avoid an integer overflow in fts3 causing gcc 4.7.1 with -O2 to behave counter-intuitively (perhaps because the behaviour is undefined). Add an "ifcapable trace" to a test in shell4.test. (check-in: e3e2346496 user: dan tags: trunk)
12:22
Remove an unreachable branch from the OP_VCreate opcode. (check-in: 5fca41a381 user: drh tags: trunk)
10:53
Add a missing "ifcapable fts3" to a test case in vtab2.test. (check-in: d845b0f690 user: dan tags: trunk)
03:18
Correctly detect the error of having a "*" wildcard on a SELECT without a FROM clause on the left-hand side of a recursive CTE. (check-in: b11d1793a0 user: drh tags: trunk)
02:58
If a column is both UNIQUE and a PRIMARY KEY, make sure the PRIMARY KEY designation takes precedence. (check-in: d871a79217 user: drh tags: trunk)
02:25
Remove superfluous define from the MSVC makefile. (check-in: 880d2513a0 user: mistachkin tags: trunk)
02:22
Improvements to the MSVC build. Fix harmless compiler warnings. Enable use of 'stdcall'. (check-in: 737630b873 user: mistachkin tags: trunk)
2015-03-20
16:54
Provide the BTREE_SEEK_EQ hint to the b-tree layer. (check-in: 3c367004da user: drh tags: trunk)
16:34
Fix to get SQLITE_SMALL_STACK working correctly again after the previous change. (Closed-Leaf check-in: 78df0ce13d user: drh tags: seek-eq)
14:57
Provide the BTREE_SEEK_EQ hint to the b-tree layer. (check-in: e750830f1e user: drh tags: seek-eq)
08:43
Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. (check-in: eddc05e7bb user: dan tags: trunk)
2015-03-19
20:09
If a virtual table is created with a malformed UTF8 name in a UTF16 database, make sure that does not cause problems. (check-in: b74cb0a92b user: drh tags: trunk)
19:59
Fix a crash that can occur following an OOM condition within a CREATE VIRTUAL TABLE statement on a utf-16 database. (Closed-Leaf check-in: 9453e7da04 user: dan tags: malformed-vtab-name)
18:56
Fix a problem with creating virtual table with names specified using malformed utf-8 within utf-16 databases. (check-in: 9969cff2d0 user: dan tags: malformed-vtab-name)
16:25
Fix an FTS3/4 problem with handling empty tokenizer declarations (e.g. "CREATE VIRTUAL TABLE t(tokenize=);"). (check-in: 26d2def8a5 user: dan tags: trunk)
15:52
Silently ignore any attempt to add a prefix index for prefixes zero bytes in size to an fts3/4 table. Or any prefix index size so large that it overflows a 32-bit signed integer. (check-in: ad4b19d2ac user: dan tags: trunk)
15:04
Add an assert() to check that the database mutex is held in sqlite3BtreeLeave(). (check-in: 31f54d7b07 user: dan tags: trunk)
14:48
Fix typo in shell error message. (check-in: 775a02d597 user: mistachkin tags: trunk)
13:30
Fix a bug in error handling in the ".trace" command of the command-line shell. (check-in: 6a48b5d794 user: drh tags: trunk)
2015-03-18
20:03
Allow whereShortCut() to use the PRIMARY KEY index of a WITHOUT ROWID table to optimize a vector of "IS" operators in a WHERE clause. (check-in: 52e73eeca0 user: dan tags: ota-update)
19:04
Clarify that OTA is unable to update or delete rows with NULL values in primary key fields. (check-in: 2e7c1e0a0d user: dan tags: ota-update)
16:00
Add another sqlite3FaultSim() to the multi-threaded sorter logic to improve testability. (check-in: 49ea2cded4 user: drh tags: trunk)
2015-03-17
20:39
Clarify the documentation on sqlite3_errcode(). No changes to code. (check-in: 2c0e0d87fb user: drh tags: trunk)
17:08
Also merge the WAL blocking lock tests that were somehow missed on the previous check-in. (check-in: 7214dab744 user: drh tags: trunk)
16:59
Transient locks in WAL mode can now block in order to resolve priority inversions. (check-in: ec2f46de53 user: drh tags: trunk)
16:01
Add a test for the change on this branch. (Closed-Leaf check-in: e22dde187e user: dan tags: wal-blocking-lock)
2015-03-16
20:40
Make SQLite slightly more likely to use an auto-index within a sub-query. (check-in: ab832336f4 user: dan tags: trunk)
18:08
Fix typo of test prefix in the new WHERE test file. (check-in: 34779c528f user: mistachkin tags: trunk)
17:48
When the WHERE clause contains two OR-connected terms with identical operands but different operators, try to combine them into a single term. Example: (X=A OR X>A) becomes (X>=A). (check-in: 8bdda827a3 user: drh tags: trunk)
17:07
Modify the fts3query.test script so that it works even when testfixture is built using a version of TCL that is unable to sort the integer -9223372036854775808 (check-in: f61fd24b4d user: drh tags: trunk)
16:44
When deleting the master journal to commit a multi-database transaction, do not sync the directory if PRAGMA synchronous=OFF for all participating database files. (check-in: 018d767140 user: drh tags: trunk)
16:28
When estimating the number of rows visited by a range scan for which the keys consist of more than one field, consider prefixes of stat4 samples as well as the full samples. This generates more accurate estimates. (check-in: 3e0590dee0 user: dan tags: trunk)
13:48
Use #ifdef to omit code that is only used for STAT3 and STAT4. (check-in: f2c9c5b57b user: drh tags: trunk)
13:12
Improved comments. No code changes. (Closed-Leaf check-in: 23f71a2638 user: drh tags: combine-disjuncts)
12:13
When a WHERE clause contains disjuncts with the same operands, try to combine them into a single operator. Example: (x=A OR x>A) becomes (x>=A). (check-in: 7a3097689d user: drh tags: combine-disjuncts)
09:21
Another test case for the planner change on this branch. (Closed-Leaf check-in: f2207a0691 user: dan tags: stat4-change)
2015-03-14
18:59
When estimating the number of rows visited by a range scan for which the keys consist of more than one field, consider prefixes of stat4 samples as well as the full samples. (check-in: e1caf93c9a user: dan tags: stat4-change)
2015-03-13
15:44
Add tests to ensure "PRAGMA incremental_vacuum" and "PRAGMA auto_vacuum = incremental" handle corrupt databases correctly. (check-in: 1c2166cb2a user: dan tags: trunk)
08:31
Extra tests for commit [0f250957]. (check-in: 5aa522dcb9 user: dan tags: trunk)
00:11
Remove debugging logic accidently included in the previous check-in. (check-in: 2887fb38ff user: drh tags: trunk)
2015-03-12
23:48
Fix the "now" option for date-time functions for cases when STAT4 is disabled. (check-in: 3ac1f6a3cf user: drh tags: trunk)
21:22
When STAT4 is enabled, allow probes of the STAT4 table using the value of constant functions computed at compile-time. (check-in: 0f250957cd user: drh tags: trunk)
21:02
Always disallow functions as the DEFAULT of a column. Add assert()s and (Closed-Leaf check-in: a991bb1a9e user: drh tags: stat4-function)
19:12
Disable multiplexing of master-journal files in the test_multiplex.c module. (check-in: b8684df395 user: dan tags: trunk)
18:38
If an error occurs in the compile-time evaluation of an application-defined function, then propagate back out the exact error code, not just the generic SQLITE_ERROR. (check-in: 93f42586cc user: drh tags: stat4-function)
06:46
The valueFromFunction() routine is better able to handle OOM errors. Omit unreachable branches. (check-in: 8fb6bd9be5 user: drh tags: stat4-function)
05:08
Improve the text on one of the opcode documentation comments in vdbe.c. (check-in: 08958f5797 user: drh tags: trunk)
2015-03-11
20:59
Allow the default value for columns added using ALTER TABLE ADD COLUMN to be a function in existing schemas loaded from disk. But prevent this version of SQLite from being used to create such a column. (check-in: ff868e22ca user: dan tags: stat4-function)
20:06
Allow the query planner to evaluate deterministic scalar SQL functions used in WHERE constraints if all arguments are SQL literals in order to compare the results with sqlite_stat4 sample data. (check-in: b7f1fc26d2 user: dan tags: stat4-function)
14:34
Expand the multi-process test cases to repeat each case 20 times and to repeat tests using different journal modes. (check-in: a2715b049a user: drh tags: trunk)
2015-03-10
20:22
Arrange for some of the transient locks in WAL mode to block, as a single to the OS to fix priority inversions. (check-in: c6e6d5f4e0 user: drh tags: wal-blocking-lock)
15:34
Fix an incrblob2 test case so that it works on 32-bit systems. (check-in: 8d0b11c96e user: drh tags: trunk)
13:50
Revise test cases in malloc5.test to accommodate varying allocation sizes returned by some system malloc() implementations. (check-in: fbae6bafd7 user: drh tags: trunk)
2015-03-09
13:24
Merge recent trunk enhancements into the ota-update branch. (check-in: 5489cb6892 user: drh tags: ota-update)
13:01
Fix the LIKE optimization so that it works even if there are additional range contraints on the column that is subject to the LIKE or GLOB. (check-in: 984c3fd526 user: drh tags: trunk)
12:11
Always use LIKE optimization range constraints in pairs. (Closed-Leaf check-in: 0e02dc94fd user: drh tags: like-opt-fix)
10:40
Increase the version number to 3.8.9 (check-in: e5da5e7d5d user: drh tags: trunk)
2015-03-07
20:32
Fix another problem with the LIKE optimization. (check-in: 465bfc72d2 user: drh tags: like-opt-fix)
13:56
Fix the LIKE optimization so that it finds BLOB entries in addition to text entries. Ticket [05f43be8fdda9f]. (check-in: 74cb0b032f user: drh tags: trunk)
12:58
New test cases for LIKE and GLOB with BLOB left-hand side values. (Closed-Leaf check-in: 50fa3c5fae user: drh tags: like-opt-fix)
03:02
Remove some code that is commented out. (check-in: 55ff429177 user: drh tags: like-opt-fix)
02:51
Fix problems with reverse order sorting and indexes in the LIKE optimization. (check-in: 564b8fe794 user: drh tags: like-opt-fix)
00:57
Refactor some jump opcodes in the VDBE. Add JumpZeroIncr and DecrJumpZero. Fix the LIKE optimization to work with DESC sort order. (check-in: 26cb5145bf user: drh tags: like-opt-fix)
2015-03-06
20:49
Test cases added. Comments fixed. Proposed solution for ticket [05f43be8fdda9fbd9]. (check-in: 6b993bd540 user: drh tags: like-opt-fix)
19:47
Fix the LIKE optimization even when comparing mixed-case BLOBs. (check-in: a58aafdb4e user: drh tags: like-opt-fix)
16:45
The LIKE optimization must be applied twice, once for strings and a second time for BLOBs. Ticket [05f43be8fdda9f]. This check-in is a proof-of-concept of how that might be done. (check-in: 5757e803cb user: drh tags: like-opt-fix)
04:37
Clearification of some documentation text. Added requirements marks. (check-in: 8c1e85aab9 user: drh tags: trunk)
03:31
Clarification of documentation on sqlite3_backup. (check-in: 31d5e9b42e user: drh tags: trunk)
2015-03-05
16:21
Fix some problems with OTA and empty target databases, or target databases with the wrong set of tables. Also add SQLITE_FCNTL_VFSNAME support to the OTA VFS. (check-in: 46119e8d8e user: dan tags: ota-update)
15:34
New test cases and requirements marks for PRAGMA index_info, index_xinfo, and index_list. (check-in: e5b13634d9 user: drh tags: trunk)
14:29
Revert "PRAGMA index_info" to output only three columns, for complete compatibility with prior versions. The new "PRAGMA index_xinfo" can be used to get the extra information in 4th, 5th, and 6th columns. (check-in: fc543c2c5c user: drh tags: trunk)
14:07
Add comments to sqlite3ota.h to make it clear that passing NULL in place of a parent VFS name to sqlite3ota_create_vfs() causes the new VFS to use the system default as its parent. (check-in: 158c1a4881 user: dan tags: ota-update)
13:43
Fix a typo in sqlite3ota.h. (check-in: 04087dec4c user: dan tags: ota-update)
01:29
New requirements marks on compound SELECT statements. (check-in: e7991bc510 user: drh tags: trunk)
2015-03-04
23:14
New requirements marks on INSERT and INDEXED BY and on some sqlite3_config() options. (check-in: c298ea0bd9 user: drh tags: trunk)
20:18
Fix harmless compiler warning. (check-in: 580dae4615 user: mistachkin tags: trunk)
15:35
Refinement to the wording of the documentation on depreciated functions. (check-in: 04a59d6f7e user: drh tags: trunk)
15:25
Remove a surplus </dl> mark in the documentation. No changes to code. (check-in: 5450e4650b user: drh tags: trunk)
2015-03-03
20:42
Clean up #ifdef logic dealing with VxWorks in os_unix.c. On VxWorks, automatically use posix advisory locking if it is available or fall back to named semaphore locking if not. (check-in: ac8c7ca3db user: drh tags: trunk)
19:56
Fix compiler warnings when compiling under VxWorks 7. (check-in: 55c21521a6 user: drh tags: trunk)
16:58
Enhance SQLITE_ALLOW_URI_AUTHORITITY to elide //localhost/ and to deal with dodgy URIs that contain too many "/" characters. (check-in: 39b566a2d0 user: drh tags: trunk)
14:00
Fix over-length source code lines in the main.c source file. (check-in: debba6f161 user: drh tags: trunk)
2015-03-02
22:06
Changes so that the amalgamation and the command-line shell build without modifications on VxWorks 7. Still gives a few compiler warnings, and still mostly untested on that platform. (check-in: 7d92f1f11e user: drh tags: trunk)
17:25
Ensure that automatic indexes are *not* considered when doing the the subqueries of the OR-optimization. (check-in: 17890292cf user: drh tags: trunk)
2015-02-28
14:03
In the command-line shell, the inability to read ~/.sqliterc is no longer a fatal error. A warning is issued, but processing continues. (check-in: 6bf6246306 user: drh tags: trunk)
01:04
More test cases and requirements marks for pragmas. (check-in: fc51037cd9 user: drh tags: trunk)
2015-02-27
21:53
Remove all references to SQLITE_DEFAULT_TEMP_CACHE_SIZE. Add requirements marks related to cache_size changing. (check-in: 766ad65025 user: drh tags: trunk)
20:28
New requirements marks and a few new test cases to go with them. No changes to code. (check-in: 8c2b29d9ac user: drh tags: trunk)
00:33
Add a couple of requirements marks. (check-in: d70b0fd4c9 user: drh tags: trunk)
2015-02-26
21:04
Fix potential memory leaks in the misc 'compress' extension. (check-in: 3bc34fd427 user: mistachkin tags: trunk)
16:40
Update a requirements mark to reflect a change of wording in the documentation. No changes to code. (check-in: 3038d0169b user: drh tags: trunk)
16:32
Fix a real bug (in test code) that was introduced while trying to eliminate harmless compiler warnings from OpenBSD (see check-in [10321910990195878c]). (check-in: a62ba58c73 user: drh tags: trunk)
02:33
Simplifications to the description of the nByte parameter to sqlite3_prepare() and friends. (check-in: 4bee8295e3 user: drh tags: trunk)
2015-02-25
14:25
Make sure the sqlite3_mutex.id field is initialized in the Win32 mutex implementation, even when SQLITE_DEBUG is turned off. (check-in: 6d132e7a22 user: drh tags: trunk)
13:48
Add support for the linenoise command-line editing library in shell.c. (check-in: 03bbb94719 user: drh tags: trunk)
10:54
Add support for linenoise to shell.c. (Closed-Leaf check-in: f7f2598c37 user: dan tags: linenoise)
01:06
When cleaning with MSVC, prevent superfluous output regarding 'missing' files and directories. (check-in: 034c16bd24 user: mistachkin tags: trunk)
00:24
Remove an always-false conditional from constructAutomaticIndex(). Put an assert() in its place to prove that the conditional is always false. (check-in: 3af300bf6f user: drh tags: trunk)
2015-02-24
20:10
Prevent partial indexes on the table on the left hand side of a LEFT JOIN from being incorrectly qualified by a constraint in the ON clause of the join. This relaxes the rule introduced by the previous commit (as the partial indexes on the table on the rhs of the LEFT JOIN may now be qualified by terms within the ON clause). (check-in: 1d6fb43a57 user: dan tags: trunk)
20:04
Make sure partial indexes are not qualified incorrectly by a constraint that is inside the ON clause of a LEFT JOIN. Fix for ticket [2326c258d02ead33]. (check-in: 491cfe9b3f user: drh tags: trunk)
18:39
More test cases to help ensure that partial indexes do not get used if their qualifing constraint is inside the ON clause of a LEFT JOIN. (Closed-Leaf check-in: c6399958a1 user: drh tags: tkt-2326c258)
16:48
This additional fix prevents a partial index from being qualified for use if the constraint that qualifies the partial index is part of the ON clause of a LEFT JOIN. (check-in: 1a1516e4da user: drh tags: tkt-2326c258)
16:05
Make sure partial automatic indexes are not based on terms in the ON clause of a LEFT JOIN. Fix for ticket [2326c258d02ead3]. UPDATE: This fix does not work where the partial index is a named index. (check-in: c0f4e308a5 user: drh tags: tkt-2326c258)
2015-02-23
20:09
Fix building with ENABLE_OTA and OMIT_LOAD_EXTENSION. (check-in: d6d21ff552 user: dan tags: ota-update)
16:17
Merge latest trunk changes with this branch. (check-in: e5ca79d2d3 user: dan tags: ota-update)
15:41
Change SQLITE_FCNTL_ZIPVFS_PAGER to SQLITE_FCNTL_ZIPVFS. (check-in: f7865b9428 user: dan tags: ota-update)
15:02
Update the sqlite3ota_db() API to account for the fact that each OTA handle now uses two SQLite database handles. (check-in: ef08ecceb7 user: dan tags: ota-update)
12:22
Improve tests for resuming ota updates following power failures. Fix a problem revealed by the same. (check-in: 1cb675e539 user: dan tags: ota-update)
2015-02-21
20:08
Fix some problems with resuming ota updates if saving the state is interrupted by a power failure or system crash. (check-in: 6d5ed70d0d user: dan tags: ota-update)
15:42
Update document on sqlite3_mprintf() and related functions. Discuss the %w format and point out that obscure ANSI-C formats are not supported. No changes to code. (check-in: f8917ba4d9 user: drh tags: trunk)
00:56
Fix a compiler warning associated with USE_PREAD64. (check-in: c299e55a66 user: drh tags: trunk)
00:49
Fix over-length source code lines in os_unix.c. (check-in: 7560a9fa50 user: drh tags: trunk)
00:19
Keep track of the optimal number of reserved bytes (by looking at reserve byte requests in calls to sqlite3BtreeSetPageSize()) and then change the reserve byte count to the optimal when doing a VACUUM or when using the backup API. (check-in: 28c2b72628 user: drh tags: trunk)
2015-02-20
14:36
Add some missing comments and fix other minor code issues in sqlite3ota.c. (check-in: 718fd8b673 user: dan tags: ota-update)
2015-02-19
19:59
Ensure the mutex used to protect the linked list of all main database files opened by a single ota vfs is allocated. (check-in: 9c8682d665 user: dan tags: ota-update)
18:06
Update various documentation comments in sqlite3ota.c and sqlite3ota.h. (check-in: 60e0a46b82 user: dan tags: ota-update)
17:16
Fix errors in the EBCDIC upper-case to lower-case translation table. (check-in: 905009f672 user: drh tags: trunk)
16:12
Remove a redundant call to statfs() in the xOpen() method of the unix VFS. Also fix an unused local variable warning. (check-in: 8215727dda user: drh tags: trunk)
14:41
Merge latest trunk changes with this branch. (check-in: 6f5888a5e4 user: dan tags: ota-update)
13:36
Add tests for a couple of previously untested branches in the ota code. (check-in: a3c1bc5d5e user: dan tags: ota-update)
02:43
Move the os_unix.c file closer to apple-osx. (check-in: 81f242e338 user: drh tags: trunk)
00:29
First small steps toward brining trunk and apple-osx closer together. (check-in: 28284ccc0d user: drh tags: trunk)
2015-02-18
20:17
Add new file ota12.test, containing tests for applying ota updates to live databases with other active reader/writer clients. (check-in: 0864d127fe user: dan tags: ota-update)
20:16
Add ota tests to increase code coverage. Fix some minor issues in error handling within the ota code. (check-in: 2b10c5d2b8 user: dan tags: ota-update)
17:40
Fix a problem with OTA updates in the presence of database readers. (check-in: 144bb29ffc user: dan tags: ota-update)
2015-02-17
20:49
Improve test coverage of ota code a bit. (check-in: a438fa6c9a user: dan tags: ota-update)
2015-02-16
21:13
Add extra tests and fixes for ota. (check-in: e0b7151962 user: dan tags: ota-update)
11:48
Add further tests and fixes for ota. (check-in: 62dc1fffc3 user: dan tags: ota-update)
06:27
Move tcl test code from sqlite3ota.c to new file ext/ota/test_ota.c. (check-in: f20779a6e8 user: dan tags: ota-update)
2015-02-14
18:58
Change the way the "incremental checkpoint" function of OTA works in order to reduce the effect on the SQLite core code. (check-in: b64a11a754 user: dan tags: ota-update)
2015-02-13
16:36
Improvements to SQLITE_ENABLE_API_ARMOR. (check-in: 823ad40ccb user: drh tags: trunk)
12:05
Make sure the prepared statement auto-resets on extended error codes of SQLITE_BUSY and SQLITE_LOCKED even when compiled using SQLITE_OMIT_AUTORESET. (check-in: 3c6ca41487 user: drh tags: trunk)
2015-02-12
22:45
For the shell '.import' command, make sure the last column value present is considered before NULL filling any missing ones. (check-in: 9c5bcad1f7 user: mistachkin tags: trunk)
2015-02-11
17:05
Merge the ota-update-no-pager_ota_mode branch into this one. (check-in: 71887cd9b3 user: dan tags: ota-update)
16:54
Merge latest trunk changes with this branch. (Closed-Leaf check-in: 0b63e8dcba user: dan tags: ota-update-no-pager_ota_mode)
16:25
Ensure that an error is reported if an attempt is made to update a wal mode database via ota. (check-in: 6fc5d4d26a user: dan tags: ota-update-no-pager_ota_mode)
2015-02-10
20:00
Further tweaks to work with zipvfs. (check-in: 0f152416be user: dan tags: ota-update-no-pager_ota_mode)
17:08
Add documentation and test cases for sqlite3ota_create_vfs(). Also code to detect errors in zipvfs/ota setup. (check-in: e729668168 user: dan tags: ota-update-no-pager_ota_mode)
2015-02-09
20:07
Add the sqlite3ota_create_vfs() and sqlite3ota_destroy_vfs() functions. (check-in: 96443ecb69 user: dan tags: ota-update-no-pager_ota_mode)
18:28
Propagate COLLATE operators upward through function calls and CASE operations. And do not flatten an aggregate subquery into a query that uses other subqueries. Fixes for tickets [ca0d20b6cdddec5] and [2f7170d73bf9], respectively. (check-in: 24e78b8d65 user: drh tags: trunk)
17:46
Fix WITHOUT ROWID table handing in sqlite3_analyzer. (check-in: 937e0fe700 user: dan tags: trunk)
16:34
Add test cases for the query flattener fix for ticket [2f7170d73bf9abf8]. (Closed-Leaf check-in: dd8f7f7511 user: drh tags: tkt-2f7170d7)
16:09
Propagate the COLLATE operator upward through function calls. Initial fix for ticket [ca0d20b6cdddec5e8]. (check-in: c053448a55 user: drh tags: tkt-2f7170d7)
15:21
Disable the query flattener for aggregate subqueries if the parent query uses other subqueries in its result set or WHERE clause or ORDER BY clause. Preliminary fix for ticket [2f7170d73bf9abf8]. However it still contains a defect similar to the COLLATE problem of [ca0d20b6cddd]. (check-in: 0b7d65e3fd user: drh tags: tkt-2f7170d7)
14:07
Rename the internal "EP_Constant" bitmask to a less misleading "EP_ConstFunc". (check-in: 4ef7ceced2 user: drh tags: trunk)
13:42
In selecttrace 0x100 mode, show the parse tree after name resolution instead of before flattening, so that it is always seen even if flattening does not occur. Also: add the hex pointer value to the top of each SELECT tree. (check-in: aa093fef2d user: drh tags: trunk)
11:54
In selecttrace mode 0x100, show a complete parse-tree both before and after query flattening. This is a change to debugging code only. (check-in: b3c6b8a3c1 user: drh tags: trunk)
10:20
Fix over-length source code lines in resolver.c. No logic changes. (check-in: c12edb8507 user: drh tags: trunk)
2015-02-07
20:20
Add comments to explain the role of the ota vfs. (check-in: 7bb633639d user: dan tags: ota-update-no-pager_ota_mode)
19:17
Remove "PRAGMA pager_ota_mode". (check-in: 8ac58e4678 user: dan tags: ota-update-no-pager_ota_mode)
15:16
Fix potential 32-bit integer overflow problems on the offset and length parameters to sqlite3_blob_read() and sqlite3_blob_write(). For sqlite3_blob_open(), make sure the *ppBlob return parameter is zeroed if the interface fails with SQLITE_MISUSE. (check-in: 5df02f50f8 user: drh tags: trunk)
2015-02-06
15:03
Merge the command-line shell enhancements from trunk. (check-in: c3931db560 user: drh tags: ota-update)
14:51
Change the name of ".info" to ".dbinfo" and add an optional second argument which is the ATTACH-ed DB about which information is provided. Provide ".indexes" as an alternative name to the legacy ".indices" command. (check-in: 0f65a7e2e0 user: drh tags: trunk)
14:19
Add the ".info" command to the shell. (check-in: 0a3100a7f2 user: drh tags: trunk)
01:07
Add the index_xinfo pragma which gives information about the fields that reference the table PRIMARY KEY in addition to the index key fields. Add extra columns "desc", "coll", and "key" to the index_info and index_xinfo pragmas. Add the "origin" and "partial" columns to the index_list pragma. (check-in: 2743846cdb user: drh tags: trunk)
00:31
Revise the way that the index structure for a WITHOUT ROWID table is discovered. (check-in: 7f10a0eaf1 user: drh tags: ota-update)
2015-02-05
17:46
Change a comment in sqlite3ota.h to make it clear that it is not possible to insert a NULL value into an INTEGER PRIMARY KEY column using ota. (check-in: a5e86bea4a user: dan tags: ota-update)
17:36
Prevent ota updates from violating NOT NULL constraints. Add a comment to the "limitations" section of sqlite3ota.h saying that CHECK constraints are not enforced. (check-in: 74e073dd60 user: dan tags: ota-update)
01:49
Figure out the primary-key type of a table using queries of sqlite_master and the table_info and index_list pragmas, obviating the need for SQLITE_TESTCTRL_TBLTYPE. (check-in: 50ecdfc443 user: drh tags: ota-update)
2015-02-04
23:51
Merge all changes from index_xinfo, including the move of the pragma table into the separate pragma.h file. (check-in: 21e95d28a5 user: drh tags: ota-update)
23:13
Merge all recent trunk changes, including the movement of the pragma table into the separate pragma.h header file. (Closed-Leaf check-in: 3af19f8444 user: drh tags: index_xinfo)
20:56
Fix a missing mutex in SQLITE_TESTCTRL_IMPOSTER. (check-in: 71691c4be5 user: drh tags: trunk)
19:20
Fix the error messages returned by ota if an update violates a unique constraint. (check-in: c4845a3b59 user: dan tags: ota-update)
16:32
Avoid a linear scan of the entire table when ota updates or deletes a row from a table with an external primary key index. (check-in: 1db198ccca user: dan tags: ota-update)
11:08
Fix a memory leak that could follow an OOM error in ota. (check-in: 0d5415f264 user: dan tags: ota-update)
2015-02-03
19:20
Fix a typo in the --help output for speedtest1. Fix a dependency error in the Makefile.in for speedtest1. (check-in: f30a057aee user: drh tags: trunk)
18:43
Fix some problems surrounding WITHOUT ROWID tables with DESC primary key indexes . (check-in: a21fefb79a user: dan tags: ota-update)
15:56
Remove "PRAGMA ota_mode". (check-in: 1c111447a0 user: dan tags: ota-update)
2015-02-02
21:34
Break out the (script-generated) pragma parsing tables into a separate file, pragma.h, to make editing easier. (check-in: 32c0325bcb user: drh tags: trunk)
2015-01-31
20:42
Have ota use imposter tables to write to indexes instead of the sqlite3_index_writer() interface. The error handling in this version is broken in a few small ways. (check-in: cdaeab467f user: dan tags: ota-update)
02:34
Merge in support for the index_xinfo pragma. (check-in: f9b6dc7702 user: drh tags: ota-update)
02:00
Add the "index_xinfo" pragma. Add new columns to the "index_info" and "index_list" pragmas. (check-in: 30f51d7b3b user: drh tags: index_xinfo)
2015-01-30
21:00
Merge the SQLITE_TESTCTRL_IMPOSTER changes from trunk. (check-in: 3ed6eb2fab user: drh tags: ota-update)
20:59
Change SQLITE_TESTCTRL_INITMODE to SQLITE_TESTCTRL_IMPOSTER. Revise the order of parameters. Give it the ability to reset the schema parse table so that imposter tables can be erased. (check-in: 42d5601739 user: drh tags: trunk)
16:36
Merge all recent trunk changes, and especially the SQLITE_TESTCTRL_INITMODE enhancement. (check-in: 36436dde74 user: drh tags: ota-update)