SQLite

Timeline
Login

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

1263 check-ins using file src/test_intarray.c version 6c610a21

2018-12-14
20:28
Add a missing OP_ColumnsUsed opcode to code for expressions like "? IN (SELECT ...)" in cases where expression can use an index that may contain NULL values. (Backported fix from version 3.14.0). (Leaf check-in: 11368e67 user: drh tags: branch-3.8.9)
20:20
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. (Backport from 3.8.11) (check-in: b29e02f8 user: drh tags: branch-3.8.9)
2017-11-14
18:26
Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. This is a modified cherrypick of [dae4a97a]. (check-in: b2679d3b user: dan tags: branch-3.8.9)
2017-11-09
04:13
Disallow ORDER BY and LIMIT on UPDATE and DELETE of views and WITHOUT ROWID tables. This is a temporary fix for ticket [d4beea1633f1b88f] until a better solution can be found. (check-in: 30aa941f user: drh tags: branch-3.8.9)
2017-07-27
22:16
Enhance the like optimization so that it works with an ESCAPE clause. (check-in: 2495acf7 user: drh tags: branch-3.8.9)
2017-07-17
19:37
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. This is a cherry-pick of [6df18e949d36] with bug fixes. (check-in: cd6ac078 user: drh tags: branch-3.8.9)
19:25
When checking for the WHERE-clause push-down optimization, verify that all terms of the compound inner SELECT are non-aggregate, not just the last term. Fix for ticket [f7f8c97e97597]. (Closed-Leaf check-in: adc082c1 user: drh tags: push-down-backport)
19:14
Do not apply the WHERE-clause pushdown optimization to terms that originate in the ON or USING clause of a LEFT JOIN. Fix for ticket [c2a19d81652f40568c]. (check-in: 52674f94 user: drh tags: push-down-backport)
19:07
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. Cherry-pick from [6df18e949d36]. Still need to backport bug fixes associated with that check-in. (check-in: 043d6ce8 user: drh tags: push-down-backport)
2017-07-08
01:01
Fix the covering index OR optimization (check-in [fcbd6abd]) so that it works with SQLITE_MAX_ATTACHED>30. Broken by a bad cherry-pick merge. (check-in: d227de8a user: drh tags: branch-3.8.9)
2017-07-05
16:20
Make use of covering indexes in the OR optimization. (check-in: fcbd6abd user: drh tags: branch-3.8.9)
14:54
Add the count-of-view optimization when compiled using SQLITE_COUNTOFVIEW_OPTIMIZATION. (check-in: b7ae4b87 user: drh tags: branch-3.8.9)
2017-06-06
18:22
Add the SQLITE_DEFAULT_ROWEST compile-time option for changing the estimated number of rows in tables that lack sqlite_stat1 entries. (check-in: 802b82f3 user: drh tags: branch-3.8.9)
2017-05-24
04:32
Fix a problem in STAT4 equality estimation for multi-column indexes introduced by check-in [3e0590dee0e68cc1599]. (check-in: 19dad0a7 user: drh tags: branch-3.8.9)
2017-05-22
00:27
When planning a query using sorting, resolve ties in the solver by selecting loop plans with the smaller unsorted cost. (check-in: 962531e7 user: drh tags: branch-3.8.9)
2017-01-11
14:21
In the STAT4 computations, ensure that the aAvgEq values do not go negative. (check-in: 4f83f680 user: drh tags: branch-3.8.9)
2016-11-02
16:29
When the block sorting optimization is used in a scalar subquery, be sure to exit the loop as soon as the first valid output row is received. Fix for ticket [cb3aa0641d9a4] backported to the 3.8.9 branch. (check-in: 8e4ba115 user: drh tags: branch-3.8.9)
2016-09-23
18:06
Fix the ORDER BY LIMIT optimization backport so that it works when the ORDER BY uses the DESC direction. (check-in: 0c3cafb7 user: drh tags: branch-3.8.9)
2016-09-14
01:43
Backport the ORDER BY LIMIT optimization to version 3.8.9. (check-in: db361482 user: drh tags: branch-3.8.9)
2016-08-10
03:35
Try to make pcache1TruncateUnsafe() run faster for the case where iLimit is very close to iMaxKey. (Leaf check-in: 9ab53605 user: drh tags: debug)
02:54
Remove all timers and other debugging logs except for the one timer on pcache1TruncateUnsafe(). (check-in: 5980e625 user: drh tags: debug)
2016-08-09
11:44
Add another timer on pcache1TruncateUnsafe(). (check-in: 42ce53f6 user: drh tags: debug)
11:23
Add a debug timer to pcache1Truncate(). Change the formatting of some other messages to make them easier to read. (check-in: 7d0af4b5 user: dan tags: debug)
01:21
Refocus the timer on the pager_end_transaction() routine. (check-in: 9d4eb6e4 user: drh tags: debug)
2016-08-04
14:08
Add extra logging calls to this branch. (check-in: 491f1ef3 user: dan tags: debug)
2016-07-30
03:33
A new version of the slow mutex log that uses gettimeofday() instead of trying to access the hardware timer. (check-in: 92b9fead user: drh tags: debug)
2016-07-29
16:32
Turn memory status off by default. (check-in: ea3c7162 user: drh tags: debug)
14:31
Enhance a debugging log message to better identify a mutex. (check-in: e60cb6d8 user: dan tags: debug)
14:23
Use __sync_synchronous(), when available, instead of a mutex when a memory barrier is needed. (check-in: 7d4562e9 user: drh tags: debug)
14:10
Add calls to sqlite3_log() when sqlite3_mutex_enter() takes more than 100,000 CPU cycles. (check-in: 33c7ef7a user: drh tags: debug)
2016-07-16
11:47
Temporarily add extra sqlite3_log() calls to this version to help with debugging a performance problem. (check-in: 613c1cea user: dan tags: debug)
2016-07-14
20:19
Experimental patch restore the slight bias in btree-balancing immediately after the change to reduces the amount of memcpy() work done by balancing. (Leaf check-in: 46bd9533 user: drh tags: btree-balance-bias)
2015-08-11
18:18
Fix the retry mechanism on file locks. (check-in: 600df309 user: drh tags: apple-osx)
2015-05-13
17:15
Change fts5 doclist-index structures to be trees instead of flat lists. This only makes a difference for databases that contain millions of instances of the same token. (check-in: aa34bf66 user: dan tags: fts5)
2015-05-09
18:28
Allow the fts5vocab table to optionally provide data on a per-column basis. (check-in: 39222761 user: dan tags: fts5)
2015-05-08
20:21
Add the fts5vocab module, for direct access to the fts5 index. (check-in: 6bf93e3b user: dan tags: fts5)
09:21
Improve the error message returned by FTS5 if it encounters an unknown file format. (check-in: f369caec user: dan tags: fts5)
2015-05-07
19:29
Change to storing all keys in a single merge-tree structure instead of one main structure and a separate one for each prefix index. This is a file-format change. Also introduce a mechanism for managing file-format changes. (check-in: a684b5e2 user: dan tags: fts5)
2015-05-02
20:35
Reorganize some of the fts5 expression parsing code. Improve test coverage of the same. (check-in: c4456dc5 user: dan tags: fts5)
2015-05-01
20:38
Further improvements to test coverage of fts5 code. (check-in: d4331943 user: dan tags: fts5)
12:14
Improve test coverage of fts5.c. (check-in: add4f468 user: dan tags: fts5)
2015-04-29
20:54
Improve fts5 tests. (check-in: c1f07a3a user: dan tags: fts5)
00:35
Improved support for OSTRACE on Windows. (check-in: ca43812b user: drh tags: trunk)
2015-04-28
23:34
Revise when the sqlite3ErrName() function is defined. (Closed-Leaf check-in: 9e593fb3 user: mistachkin tags: winTest)
20:24
Fix an fts5 bug in handling writes while there are active cursors. (check-in: 07f70955 user: dan tags: fts5)
18:35
Improve coverage of fts5 tests. (check-in: 8e8136f2 user: dan tags: fts5)
14:49
Update the test/fuzzdata1.txt file with the latest cases discovered by AFL. (check-in: f2063f53 user: drh tags: trunk)
14:07
Fix an assert() failure that could occur if the internal sqlite3_rename_parent() SQL scalar function was invoked directly. (check-in: 36e51526 user: dan tags: trunk)
14:00
Fix sqlite3VdbeMakeWritable() to always clear the MEM_Ephem flag. Change the OP_Move opcode to always deephemeralize moved content. (check-in: fbb06727 user: drh tags: trunk)
13:11
Oops - the deephemerialization needs to occur before the move, not after. Was: Rather than try to keep track of the parent of an ephermeral register when the register moves, just deephemeralize all registers touched by the OP_Move opcode. (Closed-Leaf check-in: 091cfe8e user: drh tags: mistake)
12:44
Shift the Mem.pScopyFrom pointer in the correct direction in OP_Move. Fix for a defective check-in [a2135ad13049] and ticket [d6352363751]. Debugging code only - does not affect normal operation. (check-in: add4e043 user: drh tags: trunk)
12:27
Add code to the shell to optionally initialize the dbstat virtual table. (Closed-Leaf check-in: 7ed86dd3 user: drh tags: stat-vtab-in-shell)
01:28
Fix comment typos. No code changes. (check-in: 60174cf5 user: drh tags: trunk)
00:53
Add a TCL script that can be run to generate the fuzzdata1.txt file. (check-in: fdc79fd1 user: drh tags: trunk)
2015-04-27
19:53
Add fault-injection tests for the code in test_stat.c. (check-in: ea5e0b74 user: dan tags: trunk)
16:21
Change the fts5 content= option so that it matches fts5 columns with the underlying table columns by name, not by their position within the CREATE TABLE statement. (check-in: e38e2bb6 user: dan tags: fts5)
15:08
Update the fuzzer test data after having run it through afl-cmin to remove redundant test cases. (check-in: 8134d41b user: drh tags: trunk)
11:31
Further tests for fts5. (check-in: ffeb3ef3 user: dan tags: fts5)
2015-04-25
20:29
Improve coverage of fts5_index.c slightly. (check-in: e5aaa013 user: dan tags: fts5)
18:56
Add tests for fts5. (check-in: e748651c user: dan tags: fts5)
18:39
Fix compiler warnings in sqldiff. (check-in: 5f48d6f6 user: drh tags: trunk)
17:45
Update the AFL fuzzer data with newly discovered paths. (check-in: d9821980 user: drh tags: trunk)
16:39
Fuzzershell: change the error summary output to work with releasetest.tcl. Reduce the maximum number of OOM interations. (check-in: f5e6c4b2 user: drh tags: trunk)
13:39
Add the fuzzoomtest target to the makefiles. Invoke fuzzoomtest from releasetest.tcl. (check-in: f60657c2 user: drh tags: trunk)
12:20
Fix an obscure memory leak that could follow an OOM in where.c. (check-in: 08ec9f2f user: dan tags: trunk)
11:35
In fuzzershell: (1) comment fixes. (2) Set and clear g.zTestName[] correctly. (3) Use the value in g.zTestName[] in error messages. (check-in: b7394755 user: drh tags: trunk)
11:19
In the fuzzershell, always invoke the trace and log callbacks even if output is suppressed. Keep track of the current test name in a global variable for simplified debugging. (check-in: 3045f454 user: drh tags: trunk)
00:32
Do not send the extra ";" and "\000" tokens to the parser if a prior error has occurred. (check-in: 9aa70ddf user: drh tags: trunk)
00:20
Add fflush() calls to fuzzershell to keep stderr and stdout synchronized. (check-in: 2b98a252 user: drh tags: trunk)
2015-04-24
23:45
Add the --oom option to fuzzershell. (check-in: 14a9e4a3 user: drh tags: trunk)
20:18
Merge latest trunk changes with this branch. (check-in: 1c78d892 user: dan tags: fts5)
19:41
Add the "unindexed" column option to fts5. (check-in: 86309961 user: dan tags: fts5)
18:31
Fix fuzzershell so that it works with SQLITE_OMIT_TRACE. (check-in: dc88fe7e user: drh tags: trunk)
17:50
Add the --with-tcl=DIR option to the test/releasetest.tcl script. (check-in: 4dda916a user: drh tags: trunk)
16:53
Run fuzzershell as part of the valgrindtest makefile target. (check-in: 0bb96a03 user: drh tags: trunk)
16:16
Add the fuzztest target to the MSVC makefile. (check-in: 98edc615 user: drh tags: trunk)
16:09
Add AFL-generated test cases in the test/fuzzdata1.txt file. Automatically run fuzzershell against those cases on a "make test". (check-in: 627ea83c user: drh tags: trunk)
15:56
Add extra tests for corrupt database handling in fts5. (check-in: 41449f7a user: dan tags: fts5)
14:47
Add the --unique-cases option to fuzzershell. (check-in: 7cb71849 user: drh tags: trunk)
13:00
Fuzzershell enhancements: (1) Add the --verbose and --quiet flags (2) Show percentage complete and final test count for multi-test inputs (3) Omit trace and result logs unless the --verbose flag is used. (check-in: ed202ffa user: drh tags: trunk)
06:02
Fix an fts5 build problem in main.mk. (check-in: 60045ced user: dan tags: fts5)
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: a1a2b4a2 user: dan tags: ota-update)
19:32
Merge latest trunk changes into this branch. (check-in: 1506e99e 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: fa62093b 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: baee3556 user: dan tags: ota-update)
17:22
Modify the sqlite3session_diff() API so that tables with no PRIMARY KEYs are ignored. This matches the other sessions APIs. Also change sqlite3session_diff() so that it returns SQLITE_SCHEMA, instead of SQLITE_ERROR, if the tables being compared do not have compatible schemas. (check-in: aada0ad0 user: dan tags: sessions)
15:03
Fix the error message returned by sqlite3session_diff() for tables with no PRIMARY KEY. (check-in: 4d34a3d4 user: dan tags: sessions)
14:40
Fix a performance problem in sqlite3session_diff(). (check-in: ea400eca user: dan tags: sessions)
13:49
Merge the latest trunk enhancements and fixes into the sessions branch. (check-in: 4e5f17d1 user: drh tags: sessions)
13:37
Fix a faulty assert() in the "AS" alias resolution logic of the parser. (check-in: b5e43602 user: drh tags: trunk)
13:00
Improvement to "ID" formatting on the ".selecttrace 0x1ff" debugging function. (check-in: 01c50cee user: drh tags: trunk)
11:52
Fix a problem causing the fts3 integrity-check to fail if run inside a transaction. (check-in: 3b925189 user: dan tags: trunk)
2015-04-22
20:58
Add extra OOM tests for fts5. (check-in: 2dd59b57 user: dan tags: fts5)
20:14
Fix problems with doclist-indexes involving very large rowids. (check-in: 1e599409 user: dan tags: fts5)
14:41
Prototype for an sqlite3_db_log() interface. (Leaf check-in: 658e20f5 user: drh tags: sqlite3_db_log)
13:16
Improved filtering of input for fuzzershell for modes other than generic. (check-in: 025e8370 user: drh tags: trunk)
11:34
Add comments related to database locking to sqlite3ota.h. (check-in: 77242965 user: dan tags: ota-update)
11:16
Change the printf, strftime, and glob modes of fuzzershell so that they reject all inputs that do not start with a string literal followed by a comma. This helps the fuzzer focus in on the kinds of behavior those modes are intended to test. (check-in: 1cceefa7 user: drh tags: trunk)
09:40
Update this branch with latest trunk changes. (check-in: 9797482d user: dan tags: fts5)
01:33
When compiling for UAP, link against the new minimal MSVC runtime. (check-in: 2cb94511 user: mistachkin tags: trunk)
2015-04-21
20:13
Fix a problem in fts5fault1.test. (check-in: a21d60cb user: dan tags: fts5)
19:07
Fix an fts5 problem with large deletes. (check-in: e50e8031 user: dan tags: fts5)
17:17
Alternative fix for the double-initialization of type and collating sequence problem that leaves the estimated table size intact. (check-in: 623ddbdb user: drh tags: trunk)
17:07
Make sure the datatype and collating sequence of transients tables are not initialized more than once. Otherwise a memory leak results. (check-in: 9e6beda2 user: drh tags: trunk)
16:38
Ensure that tables names are dequoted exactly once by the trigger logic. (check-in: 9d887b92 user: dan tags: trunk)
16:09
Fix a memory leak in the SELECT code generator tracing logic (code that is omitted in non-debugging builds). (check-in: b623ebd8 user: drh tags: trunk)
15:49
Fix an obscure problem with "INSERT INTO tbl(cols) SELECT" statements where the SELECT is a compound with an ORDER BY and "cols" is a strict subset of tbl's columns. (check-in: 718d5d0e user: dan tags: trunk)
15:35
Add a comment to sqlite3ota.h. No code changes. (check-in: 352fa09e user: dan tags: ota-update)
15:16
Change an assert() in the aggregate query code generator into a testcase(). (check-in: d1e6bc91 user: drh tags: trunk)
12:06
Fix an fts4 problem to do with the handling of phrases that contain zero tokens. (check-in: caba5be0 user: dan tags: trunk)
03:13
Fix some identifier name de-quoting issues in the foreign key and trigger logic. (check-in: 59e92bd9 user: drh tags: trunk)
02:17
Test case for the previous check-in. (check-in: a526f58b user: drh tags: trunk)
02:12
Make sure the whereSplit() routine in the query planner is not confused by the likely() operator. (check-in: 588db14f user: drh tags: trunk)
00:23
Enable compilation and VSIX package creation with the Visual Studio 2015 CTP. (check-in: 03b725a7 user: mistachkin tags: trunk)
2015-04-20
23:53
Merge updates from trunk. (Closed-Leaf check-in: 583a79a0 user: mistachkin tags: vsix2015)
22:36
Add the --mode option to fuzzershell. (check-in: b940b0fa user: drh tags: trunk)
18:58
Many new configuration options for fuzzershell. (check-in: 41c95439 user: drh tags: trunk)
18:48
Fix some fts5 problems with very large position lists. (check-in: 2ea8f9cb user: dan tags: fts5)
15:13
Fix a memory leak caused by duplicate entries in the sqlite_stat1 table. (check-in: 2f58c8c9 user: dan tags: trunk)
13:59
Fix an obscure memory leak in sqlite3Stat4ProbeFree() (check-in: c72abbe2 user: drh tags: trunk)
12:50
Enhance fuzzershell to support multiple blocks of SQL, each run in its own private in-memory database. (check-in: ab0a96ca user: drh tags: trunk)
01:32
Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: b8ef1cde user: drh tags: sessions)
01:25
Merge all recent trunk enhancements and fixes into the apple-osx branch. (check-in: 74b7bf17 user: drh tags: apple-osx)
01:13
Add an ALWAYS() around a new branch that was made unreachable by an even newer change. (check-in: 592c0104 user: drh tags: trunk)
2015-04-19
23:48
Fix another harmless compiler warning. (check-in: 5ae853aa user: mistachkin tags: vsix2015)
23:40
Merge updates from trunk. (check-in: 59d1a3bb user: mistachkin tags: vsix2015)
23:39
Modify the 'mkvsix' tool itself to support the Visual Studio 2015 CTP. (check-in: e0b7a191 user: mistachkin tags: vsix2015)
23:11
Fix an off-by-one assert() in the virtual table argument tokenizer. (check-in: c83052e4 user: drh tags: trunk)
22:41
Fix a broken assert() and comparison for INSERT INTO ... SELECT when the SELECT uses an unknown collating sequence. (check-in: e73ac0cb user: drh tags: trunk)
22:31
Silently ignore parser stack overflow when parsing a malformed schema in PRAGMA writable_schema mode. (check-in: 2cb37b95 user: drh tags: trunk)
21:59
Fix another assert() that is not true if the database schema is corrupt. (check-in: bc97cec6 user: drh tags: trunk)
21:43
Fix harmless compiler warnings seen with MSVC 2015. (check-in: d05becd8 user: mistachkin tags: vsix2015)
20:39
Fix a faulty assert in the schema parsing logic. (check-in: b1ed9495 user: drh tags: trunk)
19:53
Document the NMAKE_ARGS environment variable as well. (check-in: 977fd39c user: mistachkin tags: vsix2015)
19:21
Fix a potential NULL pointer deference on a corrupt database schema. (check-in: dc61b292 user: drh tags: trunk)
18:58
Improve documentation and comments in the MSVC batch build tool. (check-in: ca64ef07 user: mistachkin tags: vsix2015)
18:32
Bring comments on the INSERT code generator up-to-date. Fix the INSERT code generator so that it correctly handles inserts from a SELECT into a virtual table with non-terminal hidden columns. (check-in: 4ac81fac user: drh tags: trunk)
06:18
Work in progress on making VSIX packages for the Visual Studio 2015 CTP. (check-in: 8469d651 user: mistachkin tags: vsix2015)
2015-04-18
19:20
The sqlite3_trace() callback does not try to expand parameters in statements that have no parameter. (check-in: 917e3c36 user: drh tags: trunk)
17:43
Fix an incorrect assert() statement in the CREATE INDEX code generator. (check-in: 2eed41fd user: drh tags: trunk)
16:25
Ensure that if a "ROLLBACK TO" statement is used to rollback (but not close) theoutermost transaction, the xRollbackTo() method of any virtual tables involved in the transaction is invoked. (check-in: e98d481d user: dan tags: trunk)
04:45
Disregard leading zeros when converting strings to 32-bit integers. (check-in: 691cc201 user: drh tags: trunk)
00:22
Fix an incorrect assert() in the sqlite3_trace() logic. (check-in: eabde339 user: drh tags: trunk)
2015-04-17
20:51
Fix a problem affecting some fts3 UPDATE and DELETE statements on order=DESC tables. (check-in: 284c1623 user: dan tags: trunk)
19:41
In the expression-tree comparison routine, do not compiler Expr.iColumn and Expr.iTable for TK_STRING expressions. (check-in: b67bb16c user: drh tags: trunk)
18:52
Always resolve symbols in all ORDER BY clauses of a compound-SELECT, even illegal ORDER BY clauses. (check-in: 6c39ef73 user: drh tags: trunk)
18:22
Remove unnecessary parser error count increments. Let the sqlite3ErrorMsg() take care of doing that. (check-in: 3f3b0f68 user: drh tags: trunk)
17:00
Ensure that filenames passed to the VFS xOpen() function are terminated by 2 '\0' bytes. (check-in: 66eff473 user: dan tags: ota-update)
16:29
Fix a memory leak in sqlite3ota.c that can follow an OOM error. (check-in: c3dc15e7 user: dan tags: ota-update)
16:12
Remove an ALWAYS() that turns out to be false when there is a semantic error on a compound SELECT. (check-in: ad67a67c user: drh tags: trunk)
15:58
Ensure that semantic SQL errors are always reported back up to the syntax parser. Also: Improve the defense against invalid PRAGMA synchronous settings. (check-in: 7aeade9a user: drh tags: trunk)
15:16
Fix a faulty assert() in sqlite3SelectNew(). (check-in: 620d19c3 user: drh tags: trunk)
14:30
Add the tool/fuzzershell.c utility program. (check-in: db8d9af4 user: drh tags: trunk)
12:16
Fix the header comment on the sqldiff utility program. No code changes. (check-in: b355ca3a user: drh tags: trunk)
11:31
Hold the database mutex for the duration of sqlite3session_diff(). (check-in: 6f330501 user: dan tags: sessions)
08:36
Have OTA always specify SQLITE_CONFIG_URI when opening databases. Fix a test issue causing otacrash.test to fail. (check-in: 0d0e5ec0 user: dan tags: ota-update)
2015-04-16
23:04
Restrict the scope of a local-use function in the parser. (check-in: cd6598f4 user: drh tags: trunk)
21:57
Use a heap rather than a bitmap for cell coverage and overlap testing on btree pages in PRAGMA integrity_check. (check-in: e94b2ef2 user: drh tags: trunk)
20:27
Fix a couple of unreachable branches. (check-in: 8f391dff user: drh tags: trunk)
20:10
Fix a boundry-value condition in the phrase poslist extractor of FTS3/4. (check-in: 55d10baf user: drh tags: trunk)
18:49
Be sure to release any xShmLock locks held when closing an OTA handle. (check-in: d0fba72a user: dan tags: ota-update)
18:11
Make sure all cursors are closed when returning from a VDBE subprogram that implements a foreign-key construct. (check-in: d04d354d user: drh tags: trunk)
17:31
Fix the VDBE so that it always uses the original opcode for profiling and debugging even after the pOp pointer has been updated due to a jump. (check-in: 647495cf user: drh tags: trunk)
16:27
Restore SQLITE_FORCE_OS_TRACE to the MSVC makefile, which was removed during a merge. (check-in: c37f4d49 user: mistachkin tags: winTest)
16:22
Fix a faulty assert() in the compound-SELECT code generator. (check-in: 10715b05 user: drh tags: trunk)
16:04
Silently ignore requests to change the PRAGMA synchronous setting to an illegal integer value, rather than raising an assertion. (check-in: e0a88176 user: drh tags: trunk)
15:47
Make sure errors in coding triggers are propagated back up to the parser. (check-in: 928f973c user: drh tags: trunk)
15:05
Add the --backslash option to the command-line shell for testing purposes. (check-in: dd96211e user: drh tags: trunk)
14:33
Fix a faulty assert() in the compound select code generator. (check-in: 9d336be1 user: drh tags: trunk)
14:33
Fix a mismatched printf() argument and format specifier. Add ota files to Makefile.in. (check-in: 5db810a8 user: dan tags: ota-update)
14:13
Improvements to the way VALUES clauses are parsed. (check-in: ec5a493a user: drh tags: trunk)
13:52
Fix a stray backslash character in a printf format string in sessionDiffFindModified() (check-in: abb192a1 user: drh tags: sessions)
12:12
Fix the corruptC.test module due to a change in error message text. (check-in: 7c0deed2 user: drh tags: trunk)
12:09
Checked in the wrong fix. (Closed-Leaf check-in: 4b0f4484 user: drh tags: mistake)
11:56
Use a heap instead of a bitmap for cell overlap and coverage testing of btree pages in PRAGMA integrity_check. (Closed-Leaf check-in: 5619c959 user: drh tags: integrity-check-heap)
10:55
Avoid attempting to rename the *-oal file while it is still open. (check-in: 658c3b0c user: dan tags: ota-update)
08:54
Fix a problem in test file e_reindex.test. (check-in: 5b3de939 user: dan tags: trunk)
07:19
Ensure the sqlite3Select() routine always returns non-zero if an error has occurred. (check-in: b51028ed user: dan tags: trunk)
04:20
Merge updates from trunk. (Closed-Leaf check-in: 22827542 user: mistachkin tags: expShell)
03:56
Move OSTRACE defines so they are visible to all source files that need them. (check-in: 72485c97 user: mistachkin tags: winTest)
03:37
Make sure the sqlite3DebugPrintf() function is defined for OSTRACE as well. (check-in: ae5af704 user: mistachkin tags: winTest)
03:24
Merge updates from trunk. Make OSTRACE changes work on Linux. (check-in: cd154266 user: mistachkin tags: winTest)
00:26
When parsing the schema, ignore any SQL that does not begin with "CREATE". (check-in: d3c00d61 user: drh tags: trunk)
2015-04-15
19:25
Fix a potential one-byte buffer overread in the command-line shell. (check-in: e018f4bf user: drh tags: trunk)
19:13
Add the BtCursor.pPage field which is the current page to which the cursor points, for a very small performance gain. (Leaf check-in: a200e1ea user: drh tags: btree-current-page-cache)
18:49
Logically store updates as (insert+delete) within the FTS tree. This allows keys to be annihilated more quickly under some circumstances. (check-in: 50fae1f0 user: dan tags: fts5)
17:26
Prevent the fetchPayload() routine from reporting a cell size that extends off the end of the page on a pathologically corrupted database file. (check-in: f71053cf user: drh tags: trunk)
16:01
Fix a problem preventing doclist indexes from being loaded. (check-in: b29109a0 user: dan tags: fts5)
15:29
Enhance the showdb utility program so that it can read the last partial page of a truncated database file. (check-in: 61d72e17 user: drh tags: trunk)
14:52
Add the --msvc command-line option to the releasetest.tcl script. This is only a partial merge from the winTest branch as the OS_TRACE changes are omitted. (check-in: b8768f12 user: drh tags: trunk)
14:26
Merge all recent trunk enhancements and fixes into the ota-update branch. (check-in: 9bd3e445 user: drh tags: ota-update)
14:14
Merge all recent trunk fixes and enhancements into the sessions branch. (check-in: e65e65f9 user: drh tags: sessions)
13:51
Merge recent trunk fixes and enhancements into the apple-osx branch. (check-in: bfc7142a user: drh tags: apple-osx)
09:16
Remove an incorrect assert() statement from sqlite3Fts3Dequote(). (check-in: bd06eeb8 user: dan tags: trunk)
08:37
Remove a branch that became unreachable due to one of the earlier check-ins today. (check-in: fa0956ed user: drh tags: trunk)
08:20
Fix a problem causing an assert() to fail if a snippet containing 0 tokens was requested from fts3. (check-in: eafd0a1e user: dan tags: trunk)
07:57
Fix the error message generator for illegal token errors so that it does not leak memory if it immediately follows another erroneous SQL statement. (check-in: 3576973f user: drh tags: trunk)
07:34
Remove an incorrect ALWAYS() from the automatic index generator. (check-in: eeb4bd06 user: drh tags: trunk)
07:19
Remove an incorrect ALWAYS() from the table_info pragma. (check-in: 0e087c01 user: drh tags: trunk)
07:10
Change the multiSelectOrderBy() routine to return non-zero if there has been any prior error. (check-in: 14784c31 user: drh tags: trunk)
06:45
Fix a faulty assert() statement in the name resolver associated with the optimization that converts compound selects with ORDER BY COLLATE into subqueries. (check-in: c72324ef user: drh tags: trunk)
05:57
Correctly handle COLLATE operators applied to COLLATE operators in an ORDER BY clause. (check-in: 9e1f837b user: drh tags: trunk)
05:38
Fix a faulty assert() in the sqlite3StrAccumAppend() routine. (check-in: 998cfdb8 user: drh tags: trunk)
05:31
Correctly deal with an unknown collating sequence on an indexed DISTINCT query. (check-in: a0b6e2fe user: drh tags: trunk)
05:20
When adding the implied "LIMIT 1" to the end of a scalar subquery, make sure that subquery is not a VALUES-only query as such queries cannot deal with LIMIT clauses. (check-in: 7c27310b user: drh tags: trunk)
04:51
When doing the (dubious) conversion of double-quoted identifier into string literal for MySQL compatibility, be sure to also clear the iTable value from the Expr entry to avoid an assert. (check-in: d7211b68 user: drh tags: trunk)
04:20
Add a test case for what was formerly thought to be an unreachable condition: when the LHS of an OR operator contains an error and the RHS contains an IN operator. (check-in: 38727425 user: drh tags: trunk)
04:10
An oversize hex literal can cause a parsing error while generating code for constants that are factored out of the main body of the VDBE program. So allow for that case. (check-in: a084690b user: drh tags: trunk)
2015-04-14
20:15
Begin changing fts5 to use a delete flag so that delete markers may be annihilated more quickly. (check-in: 9341c070 user: dan tags: fts5)
19:01
Add the --summary option to the sqldiff command-line tool. (check-in: 88b22761 user: drh tags: trunk)
15:14
Update API documentation to identify many functions as methods on objects. No changes to code. (check-in: b549cbce user: drh tags: trunk)
2015-04-13
23:11
Merge all recent trunk enhances into the apple-osx branch. (check-in: e709d3b4 user: drh tags: apple-osx)
23:05
Add #ifdef magic for HAVE_GETHOSTUUID so that the build will hopefully now work on more verions of MacOS with SQLITE_ENABLE_LOCKING_STYLE turned on. (check-in: 211411d0 user: drh tags: trunk)
22:26
On a DETACH statement, keep all schemas intact except fo the one that is being detached, and thus avoid unnecessary schema reparsing. (check-in: 661db19b user: drh tags: trunk)
21:39
Omit the "pc" or "program counter" variable from the VDBE loop for 0.6% performance increase. (check-in: d2f10c41 user: drh tags: trunk)
19:14
Remove the out2-prerelease VDBE opcode property and its associated code, for a 0.5% performance improvement. (check-in: e29c7f2c user: drh tags: trunk)
17:43
Add a comment to wal.c to explain why a race condition is safe. (check-in: bc33af86 user: dan tags: trunk)
14:44
Remove a faulty assert() from the btree balancing logic. (check-in: d06669d9 user: drh tags: trunk)
14:08
Test that if the definition of a collation sequence is changed and VACUUM run, the new database contains records sorted in the (new) correct order. (check-in: ce6eaac1 user: dan tags: trunk)
14:03
Remove an unreachable branch from the VACUUM logic. (check-in: 65ace4b0 user: drh tags: trunk)
12:45
Remove an unreachable branch from the vdbeSorterCompareInt() routine. (check-in: f666ef06 user: drh tags: trunk)
2015-04-12
21:28
Update the version number to 3.8.10 because of the new sort optimizations from check-in [79326d6eec]. (check-in: bd2cfa1d user: drh tags: trunk)
17:35
Fix a problem with a stale Select.pWith pointer when a CTE is used together with a compound query and an ORDER BY clause. (check-in: 9a453f52 user: drh tags: trunk)
01:33
Merge all recent trunk enhancements into the sessions branch. (check-in: 5f14f34f user: drh tags: sessions)
01:22
Avoid problems when a query has a GROUP BY and an ORDER BY but no FROM clause. (check-in: e527d96a user: drh tags: trunk)
2015-04-11
20:44
Optimizations for VACUUM, CREATE INDEX and some cases of ORDER BY. (check-in: 79326d6e user: dan tags: trunk)
20:20
Fix a problem with sorting large amounts of partially ordered data. (check-in: acca97ef user: dan tags: trunk)
18:45
Merge latest trunk changes with this branch. (Closed-Leaf check-in: cf7590f6 user: dan tags: sorter-opt)
18:25
Have fts5 integrity check verify that prefix indexes contain the same values as returned by prefix queries on the main terms index. (check-in: bdb8e82a user: dan tags: fts5)
17:09
Merge the sessions-diff branch with this one. (check-in: 805baa57 user: dan tags: sessions)
16:23
Improve fts5 integrity-check so that it checks that DESC queries return the same as ASC. Change the poslist format slightly to make room for a delete-flag. (check-in: 49c1e745 user: dan tags: fts5)
13:49
Add the --changeset option to the sqldiff utility program, for generating a sessions changeset file instead of an SQL diff. (check-in: f9a3a839 user: drh tags: trunk)
13:48
The --changeset option now appears to be working. (Closed-Leaf check-in: 1a2e2803 user: drh tags: sqldiff-changeset)
12:07
First complete attempt to generate a working changeset. Still contains bugs. (check-in: 5611fa9b user: drh tags: sqldiff-changeset)
11:53
Update tests in whereD.test to account for the change in the previous commit. (check-in: da49700c user: dan tags: trunk)
11:44
Do not assume an index contains unique entries unless it is declared UNIQUE and NOT NULL is specified for all columns. Fix for [7b4fee9f6c]. (check-in: e3b1f625 user: dan tags: trunk)
02:08
Detect and report oversized records constructed from multiple zeroblobs. (check-in: 9e139afd user: drh tags: trunk)
2015-04-10
21:16
Minor build enhancements for MSVC. (check-in: 40c417a7 user: mistachkin tags: trunk)
19:41
Work toward adding the --changeset option to the sqldiff utility program. Changes are incomplete. This is an incremental check-in. (check-in: 463e38d7 user: drh tags: sqldiff-changeset)
16:05
In sqlite3_declare_vtab(), avoid accessing the database structure until after the "api-armour" safety-check has completed and the db mutex has been obtained. (check-in: 860e4f8a user: dan tags: trunk)
12:04
Fix foreign key CASCADE for cases where the parent key is an INTEGER PRIMARY KEY and the parent table contains other columns named "rowid", "_rowid_", and "oid". (check-in: ed3cbaab user: drh tags: trunk)
08:28
Update this branch with the latest changes from sorter-opt. (Leaf check-in: 08c0b19b user: dan tags: insert-select-opt)
08:20
Update this branch with latest trunk changes. (check-in: 60be9c1c user: dan tags: sorter-opt)
07:55
Do not allow virtual table constructors to be called recursively. (check-in: 0a72726d user: dan tags: trunk)
2015-04-09
19:39
Fix incorrect column names in UPDATE statements generated by the sqldiff utility. (check-in: ee53b460 user: drh tags: trunk)
19:19
Updates to comments describing the changeset and patchset formats. (check-in: 5342f721 user: dan tags: sessions)
18:14
Add the --primarykey option to the sqldiff tool, which causes it to use the schema-defined PRIMARY KEY. (check-in: 5063f907 user: drh tags: trunk)
16:30
Remove two pointless assert() statements. This should silence harmless compiler warnings reported at https://bugzilla.mozilla.org/show_bug.cgi?id=1152845 (check-in: 83b342a4 user: drh tags: trunk)
13:40
Fix comment typos in the sqldiff.c utility program. (check-in: 32ab2bb9 user: drh tags: trunk)
13:34
Add the "sqldiff" utility program. (check-in: 88da5bf5 user: drh tags: trunk)
11:24
Remove a variable initializion to silence a harmless compiler warning. (check-in: 79861adb user: drh tags: trunk)
2015-04-08
16:43
Fix problems in the sessions module causing it to produce spurious SQLITE_NOMEM errors when handling SQL text or blob values zero bytes in size. (check-in: b9459d59 user: dan tags: sessions)
16:01
Add experimental API sqlite3session_diff(). (Closed-Leaf check-in: c4340b2e user: dan tags: sessions-diff)
14:01
Merge all changes for version 3.8.9 into the ota-update branch. (check-in: ec9d907a user: drh tags: ota-update)
12:47
Merge in all version 3.8.9 changes from trunk. (check-in: 30121870 user: drh tags: apple-osx)
12:16
Version 3.8.9 (check-in: 8a8ffc86 user: drh tags: trunk, release, version-3.8.9)
2015-04-07
23:10
Merge printf() width and precision overflow fixes from trunk. (check-in: aeca95ac user: drh tags: sessions)
21:18
Merge updates from trunk. (check-in: c458db41 user: mistachkin tags: expShell)
21:17
Correct typo in new test numbering. (check-in: d176c9fa user: mistachkin tags: expShell)
21:16
Enhance the shell export to support emitting column names in 'insert' mode when headers are enabled. (check-in: 6e504cd0 user: mistachkin tags: expShell)
15:39
Avoid signed integer overflow when converting oversized in-line integer widths and precisions in printf(). (check-in: 8e4ac2ce user: drh tags: trunk)
14:38
Another change to avoid a problem caused by integer overflow in the printf() code. (check-in: 95625ef3 user: dan tags: trunk)
13:28
Further changes to guard against integer overflow in the width and precision of printf() arguments. (check-in: 5ce4e7d7 user: drh tags: trunk)
12:41
Guard against excessive width and precision in floating-point conversions in the printf routines. (check-in: c494171f user: drh tags: trunk)
2015-04-06
12:08
Merge obscure problem fixes from trunk. (check-in: 271c110b user: drh tags: sessions)
11:04
Fix a problem with fts3 prefix terms within phrase queries on "order=DESC" tables with a mix of negative and positive rowids. (check-in: 3ad829e5 user: dan tags: trunk)
09:05
Fix a problem with fts3 prefix terms within phrase queries on "order=DESC" tables with a mix of negative and positive rowids. (Closed-Leaf check-in: 0cdf5028 user: dan tags: fts3-prefix-query-fix)
2015-04-04
16:49
Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. (check-in: edc1de2a user: dan tags: trunk)
16:43
Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. (Closed-Leaf check-in: 427b50fb user: dan tags: compound-order-by-fix)
00:02
Enhance the 'releasetest.tcl' tool to support MSVC. (check-in: f664bfdc user: mistachkin tags: winTest)
2015-04-03
20:33
Disable the SQLITE_FCNTL_WAL_BLOCK feature for now. It needs more work and is not yet ready for release. (check-in: 4ae9a3ac user: drh tags: trunk)
18:33
Add source code to the "showlocks" utility program in the tool/ subdirectory. (check-in: 6868cc66 user: drh tags: trunk)
2015-04-02
17:46
Fix build with OSTRACE enabled on Windows when building using separate source files. (check-in: 5f6e3580 user: mistachkin tags: winTest)
15:24
Disable e_walauto.test on OpenBSD, as it requires a coherent cache. (check-in: 90701227 user: dan tags: trunk)
09:06
Fix a problem in vdbesort.c to do with caching unpacked records. (check-in: 80a00539 user: dan tags: sorter-opt)
2015-04-01
18:22
Merge latest trunk changes with this branch. (check-in: 4621b2ee user: dan tags: sorter-opt)
18:20
When vacuuming an index that uses no collations other than BINARY, assume that the order of index entries will not be changed by the VACUUM. (check-in: e403460b user: dan tags: sorter-opt)
16:39
Merge recent enhancements from trunk. (check-in: aea439bd user: drh tags: sessions)
16:18
Reduce the CPU used by CREATE INDEX statements by taking better advantage of the fact that keys are inserted in sorted order. (check-in: 592cdc5d user: dan tags: sorter-opt)
16:13
Merge all recent trunk fixes and enhancements into the apple-osx branch. (check-in: 71b6f507 user: drh tags: apple-osx)
13:21
Improved detection and suppression of endless loops in clearDatabasePage(). (check-in: 30011ad2 user: drh tags: trunk)
01:26
The build is still broken. Multiple definitions of sqlite3OSTrace when compiled using separate source files. (check-in: 5c965a71 user: drh tags: winTest)
2015-03-31
19:40
On windows, flush the mapping view when syncing content to disk. (check-in: a828e73d user: drh tags: trunk)
19:17
Set the winShm.id member when it is going to be traced. (check-in: fa7916b6 user: mistachkin tags: winTest)
19:06
Build fixes for OSTRACE enhancements. (check-in: f79c236f user: mistachkin tags: winTest)
18:18
Path portability enhancements for mptester.exe. (check-in: c8694657 user: drh tags: winTest)
18:05
Add the "mptest" target to main.mk. Change TRUNCATE and PERSIST to DELETE for mptest.c on Windows because of problems trying to delete the journal. (check-in: ea697e6d user: drh tags: trunk)
17:58
Path handling portability enhancements for mptester. (check-in: da49634b user: mistachkin tags: winTest)
17:45
Testing enhancements on Windows. (check-in: 9cc70eee user: mistachkin tags: winTest)
17:32
Change the sqlite3_log() message generated on a retry after delay in os_win to be an SQLITE_NOTICE instead of SQLITE_IOERR. (check-in: 5d533eee user: drh tags: trunk)
17:01
Fix configure.ac and Makefile.in so that they generate pkgIndex.tcl correctly. (check-in: 3deff252 user: drh tags: trunk)
16:42
Minor tweaks to the MSVC Makefile. (check-in: 7244ea59 user: mistachkin tags: trunk)
16:33
Handle very large URI pathnames for in-memory shared-cache databases. (check-in: 586a94e8 user: drh tags: trunk)
15:15
Fix harmless compiler warnings in lemon.c (check-in: bbe7dcda user: drh tags: trunk)
14:31
Fix the corruptJ.test case so that it works with and without SQLITE_SECURE_DELETE. (check-in: 0c0ecfd6 user: drh tags: trunk)
14:18
Additional logging information output by mptester. (check-in: 0cbbf6e4 user: drh tags: trunk)
13:46
Add the "mptest" target to Makefile.msc (check-in: 1e814e0b user: drh tags: trunk)
11:42
Ensure that comparison operators do not mess up the MEM_Dyn flag on registers when reverting affinity changes. (check-in: 02e3c88f user: drh tags: trunk)
00:10
Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: df94e61f user: drh tags: sessions)
2015-03-30
23:52
Merge the latest trunk enhancements, and especially the fix for the infinite loop on a DROP TABLE in a corrupt database, into the apple-osx branch. (check-in: 4d42bf5e user: drh tags: apple-osx)
23:43
Prevent a possible infinite loop when trying to DROP a table from a corrupt database. (check-in: 395bb3e6 user: drh tags: trunk)
15:45
Merge sorter optimizations with this branch. (check-in: 9bf1cfb4 user: dan tags: insert-select-opt)
12:06
Improve performance of multi-field sorts where the first field has a low cardinality. (check-in: 601e7b6b user: dan tags: sorter-opt)
09:58
Remove some unnecessary code from vdbesort.c. (check-in: b58191e9 user: dan tags: sorter-opt)
2015-03-28
19:56
Further optimizations for sorting records that begin with integer or text values. (check-in: 24fe9f25 user: dan tags: sorter-opt)
2015-03-27
18:22
Merge updates from trunk. (Closed-Leaf check-in: 45acf6a8 user: mistachkin tags: winViewFlush)
18:20
Enhancements to OSTRACE usage in the Win32 VFS. (check-in: ab580029 user: mistachkin tags: trunk)
02:27
Fix the ".testctrl imposter" command in the command-line shell to be consistent in error reporting and results with the other .testctrl commands. (check-in: 0ec08ba8 user: drh tags: trunk)
00:21
Using MSVC, get the sqlite3IoTrace variable working with the USE_STDCALL and/or DYNAMIC_SHELL options. (check-in: fe976c91 user: mistachkin tags: trunk)
00:19
In the MSVC Makefile, make the DYNAMIC_SHELL option work without USE_STDCALL. (check-in: 25b46a9c user: mistachkin tags: trunk)
2015-03-26
23:36
When syncing a memory mapped file on Windows, flush the mapped view as well. (check-in: df204049 user: mistachkin tags: winViewFlush)
18:24
Revise Win32 locking test to account for recent log message changes. (check-in: 1bc76339 user: mistachkin tags: trunk)
17:04
Avoid leaving the malloc subsystem in a partially initialized state if the low-level initialization callback fails. (check-in: 3e872011 user: drh tags: trunk)
15:27
Provide source code line numbers for errors in the Windows VFS generated by the winLogIoerr() routine. (check-in: b5da0d93 user: drh tags: trunk)
14:29
Fix a harmless compiler warning in FTS3. (check-in: 1688f60c user: drh tags: trunk)
12:38
Merge sorter optimization into this branch. (check-in: aeb8e9a9 user: dan tags: insert-select-opt)
11:55
Optimize cases where all the sorter is sorting a set of records that all begin with integer values, or that all begin with text values to be compared using BINARY. (check-in: ce5ad17c user: dan tags: sorter-opt)
2015-03-25
18:29
Change an unreachable branch into an assert(). (check-in: fb076b28 user: drh tags: trunk)
17:35
Fix the saveCursorPosition() routine in btree.c so that it works correctly for a eState=CURSOR_SKIPNEXT cursor. (check-in: 37866b4d user: drh tags: trunk)
15:23
Extend [52e73eec] so that the IS optimization may be used on primary keys with more than 3 columns. (check-in: 4e8796af user: dan tags: ota-update)
13:06
Reactivate an older assert() (adding an "|| CORRUPT_DB" term) and add a new assert() in btree.c. (check-in: 1e96520a user: drh tags: trunk)
12:05
Add two new assert()s to the sqlite3BtreeDataSize() method. (check-in: 42d1793d user: drh tags: trunk)
00:09
Backport the 'stdcall' related enhancements from trunk. (Leaf check-in: cbb93d1a user: mistachkin tags: stdcall-3.8.8)
2015-03-24
22:00
Add SQLITE_STDCALL and SQLITE_CDECL macros on public function definitions. (check-in: cae3239a user: mistachkin tags: trunk)
21:54
Further simplifications to the amalgamation builder. (Closed-Leaf check-in: e826cd7d user: drh tags: stdcall)
21:52
Update the 'mksqlite3c-noext' tool as well. (check-in: a5322566 user: mistachkin tags: stdcall)
21:34
Fix a couple comment typos in a tool script. No changes to code. (check-in: 83421af6 user: mistachkin tags: trunk)
21:27
Add SQLITE_STDCALL and SQLITE_CDECL macros on public function definitions. (check-in: 242f09d4 user: mistachkin tags: stdcall)
19:43
Update this branch with latest trunk changes. (check-in: 3ccd64ef user: dan tags: insert-select-opt)
19:02
Merge all recent trunk enhancements into the sessions branch. (check-in: 54aaa6f2 user: drh tags: sessions)
18:49
Merge the latest trunk enhancements into the apple-osx branch. (check-in: a2bd81e5 user: drh tags: apple-osx)
18:21
Merge the latest trunk changes into this branch. (check-in: 9d9b6c88 user: dan tags: ota-update)
18:19
Suppress a compiler warning that was appearing with SQLITE_THREADSAFE=0. (check-in: 436314b5 user: drh tags: trunk)
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: 6326fd32 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: cbeb9a1a 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: 5ee625b1 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: 85610bbb user: drh tags: nVDestroy)
14:05
More defenses against virtual table being deleted out from under a running statement. (check-in: 116c9982 user: drh tags: nVDestroy)
13:32
Prevent a virtual table from being destroyed while it is in use. (check-in: fba674c0 user: drh tags: nVDestroy)
12:51
Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter. (check-in: 9faefb96 user: drh tags: nVDestroy)
2015-03-23
21:32
Disable loadable extensions in the command-line shell on VxWorks user-space. (check-in: 0ee2d38d 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: 6fc4e79a user: drh tags: trunk)
19:16
Fix a non-C89 variable declaration that causes problems for MSVC. (Closed-Leaf check-in: 3de085ea user: drh tags: status64)
19:03
Fix datetype size asserts in btree.c. (check-in: ff4812d0 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: c742bd60 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: 1ce8e8fa user: drh tags: status64)
17:10
Fix a broken assert() in the ota module. (check-in: 858de8a5 user: dan tags: ota-update)
14:39
Set the OPFLAG_SEEKRESULT correctly in "INSERT INTO ... SELECT" statements. (check-in: 6f7d9995 user: dan tags: insert-select-opt)
2015-03-22
10:23
Fix a potential NULL pointer dereference following a syntax error. (check-in: 8d27e3e1 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: 9513dbd4 user: mistachkin tags: trunk)
22:23
Add more comments to the MSVC batch build tool. (check-in: 03522da3 user: mistachkin tags: trunk)
22:13
Increase the debugging level for the debug configuration in the MSVC batch build tool. (check-in: 041484ff 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: de9da317 user: drh tags: trunk)
20:50
Add a missing "int" on a constant declaration. (check-in: 235157de 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: 6d098969 user: dan tags: trunk)
17:00
Merge all recent trunk enhancements and especially the blocking WAL-lock fix into the apple-osx branch. (check-in: 9f1f8b33 user: drh tags: apple-osx)
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: 717335fc 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: 67d69d21 user: drh tags: trunk)
15:45
Merge trunk changes with this branch. (check-in: 14274391 user: dan tags: fts5)
15:37
When scanning the full-text index as part of the fts5 integrity-check, also run a point query for every term and verify that these results are consistent with those found by the linear scan. (check-in: ce972f6a user: dan tags: fts5)
15:26
Do not use sorters for INSERT statements that insert multiple rows using the VALUES clause. (check-in: 93e28ea1 user: dan tags: insert-select-opt)
15:04
Merge latest trunk changes with this branch. (check-in: 9affe7f3 user: dan tags: insert-select-opt)
12:25
Remove an unreachable branch from the OP_VCreate opcode (merge accidental fork in trunk). (check-in: 2fbfec62 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: e3e23464 user: dan tags: trunk)
12:22
Remove an unreachable branch from the OP_VCreate opcode. (check-in: 5fca41a3 user: drh tags: trunk)
10:53
Add a missing "ifcapable fts3" to a test case in vtab2.test. (check-in: d845b0f6 user: dan tags: trunk)
07:16
Merge recent trunk changes with this branch. (check-in: 35eef4dd user: dan tags: insert-select-opt)
07:03
Disable the sorter optimization used by INSERT INTO SELECT statements if the statement explicitly specifies REPLACE, IGNORE or FAIL conflict handling. (check-in: d4215942 user: dan tags: insert-select-opt)
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: b11d1793 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: d871a792 user: drh tags: trunk)
02:34
Merge updates from trunk. (check-in: 441a00e7 user: mistachkin tags: expShell)
02:25
Remove superfluous define from the MSVC makefile. (check-in: 880d2513 user: mistachkin tags: trunk)
02:22
Improvements to the MSVC build. Fix harmless compiler warnings. Enable use of 'stdcall'. (check-in: 737630b8 user: mistachkin tags: trunk)
2015-03-20
20:30
Where possible insert the set of new keys for each index in sorted order within "INSERT INTO ... SELECT" statements. (check-in: 0a7f2051 user: dan tags: insert-select-opt)
16:54
Provide the BTREE_SEEK_EQ hint to the b-tree layer. (check-in: 3c367004 user: drh tags: trunk)
16:34
Fix to get SQLITE_SMALL_STACK working correctly again after the previous change. (Closed-Leaf check-in: 78df0ce1 user: drh tags: seek-eq)
14:57
Provide the BTREE_SEEK_EQ hint to the b-tree layer. (check-in: e750830f user: drh tags: seek-eq)
08:43
Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. (check-in: eddc05e7 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: b74cb0a9 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: 9453e7da 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: 9969cff2 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: 26d2def8 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: ad4b19d2 user: dan tags: trunk)
15:04
Add an assert() to check that the database mutex is held in sqlite3BtreeLeave(). (check-in: 31f54d7b user: dan tags: trunk)
14:48
Fix typo in shell error message. (check-in: 775a02d5 user: mistachkin tags: trunk)
14:46
Merge updates from trunk. (check-in: 3e363f40 user: mistachkin tags: expShell)
13:30
Fix a bug in error handling in the ".trace" command of the command-line shell. (check-in: 6a48b5d7 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: 52e73eec 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: 2e7c1e0a user: dan tags: ota-update)
16:00
Add another sqlite3FaultSim() to the multi-threaded sorter logic to improve testability. (check-in: 49ea2cde user: drh tags: trunk)
2015-03-17
20:39
Clarify the documentation on sqlite3_errcode(). No changes to code. (check-in: 2c0e0d87 user: drh tags: trunk)
18:54
Merge all recent trunk enhancements into the sessions branch. (check-in: 1d1c57c3 user: drh tags: sessions)
18:35
Merge all recent trunk changes, and in particular the blocking WAL lock change, into the apple-osx branch. (check-in: 8abbeadb user: drh tags: apple-osx)
17:08
Also merge the WAL blocking lock tests that were somehow missed on the previous check-in. (check-in: 7214dab7 user: drh tags: trunk)
16:59
Transient locks in WAL mode can now block in order to resolve priority inversions. (check-in: ec2f46de user: drh tags: trunk)
16:01
Add a test for the change on this branch. (Closed-Leaf check-in: e22dde18 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: ab832336 user: dan tags: trunk)
18:08
Fix typo of test prefix in the new WHERE test file. (check-in: 34779c52 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: 8bdda827 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: f61fd24b 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: 018d7671 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: 3e0590de user: dan tags: trunk)
13:48
Use #ifdef to omit code that is only used for STAT3 and STAT4. (check-in: f2c9c5b5 user: drh tags: trunk)
13:12
Improved comments. No code changes. (Closed-Leaf check-in: 23f71a26 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: 7a309768 user: drh tags: combine-disjuncts)
09:21
Another test case for the planner change on this branch. (Closed-Leaf check-in: f2207a06 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: e1caf93c 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: 1c2166cb user: dan tags: trunk)
08:31
Extra tests for commit [0f250957]. (check-in: 5aa522dc user: dan tags: trunk)
00:11
Remove debugging logic accidently included in the previous check-in. (check-in: 2887fb38 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: 3ac1f6a3 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: 0f250957 user: drh tags: trunk)
21:02
Always disallow functions as the DEFAULT of a column. Add assert()s and (Closed-Leaf check-in: a991bb1a user: drh tags: stat4-function)
19:12
Disable multiplexing of master-journal files in the test_multiplex.c module. (check-in: b8684df3 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: 93f42586 user: drh tags: stat4-function)
06:46
The valueFromFunction() routine is better able to handle OOM errors. Omit unreachable branches. (check-in: 8fb6bd9b user: drh tags: stat4-function)
05:08
Improve the text on one of the opcode documentation comments in vdbe.c. (check-in: 08958f57 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: ff868e22 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: b7f1fc26 user: dan tags: stat4-function)
14:51
Add an optimization to the fts5 unicode tokenizer code. (check-in: f5db4892 user: dan tags: fts5)
14:34
Expand the multi-process test cases to repeat each case 20 times and to repeat tests using different journal modes. (check-in: a2715b04 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: c6e6d5f4 user: drh tags: wal-blocking-lock)
19:24
Avoid redundant string comparisons while merging fts5 segment b-trees. (check-in: 5c46820d user: dan tags: fts5)
15:34
Fix an incrblob2 test case so that it works on 32-bit systems. (check-in: 8d0b11c9 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: fbae6baf user: drh tags: trunk)
2015-03-09
13:24
Merge recent trunk enhancements into the ota-update branch. (check-in: 5489cb68 user: drh tags: ota-update)
13:18
Merge recent trunk enhancements into the apple-osx branch. (check-in: 5e04eec8 user: drh tags: apple-osx)
13:07
Merge recent trunk enhancements into the sessions branch. (check-in: 68c8937e user: drh tags: sessions)
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: 984c3fd5 user: drh tags: trunk)
12:11
Always use LIKE optimization range constraints in pairs. (Closed-Leaf check-in: 0e02dc94 user: drh tags: like-opt-fix)
10:40
Increase the version number to 3.8.9 (check-in: e5da5e7d user: drh tags: trunk)
2015-03-07
20:32
Fix another problem with the LIKE optimization. (check-in: 465bfc72 user: drh tags: like-opt-fix)
15:46
Fix some compiler warnings caused by signed/unsigned pointer conversions. (check-in: cccee7b5 user: dan tags: fts5)
13:56
Fix the LIKE optimization so that it finds BLOB entries in addition to text entries. Ticket [05f43be8fdda9f]. (check-in: 74cb0b03 user: drh tags: trunk)
12:58
New test cases for LIKE and GLOB with BLOB left-hand side values. (Closed-Leaf check-in: 50fa3c5f user: drh tags: like-opt-fix)
11:50
Fix the bm25() function so that it multiplies scores by -1 before returning them. This means better matches have a lower numerical score, so "ORDER BY rank" (not "ORDER BY rank DESC") does what you want. (check-in: 3ee7b5a9 user: dan tags: fts5)
03:02
Remove some code that is commented out. (check-in: 55ff4291 user: drh tags: like-opt-fix)
02:51
Fix problems with reverse order sorting and indexes in the LIKE optimization. (check-in: 564b8fe7 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: 26cb5145 user: drh tags: like-opt-fix)
2015-03-06
20:49
Test cases added. Comments fixed. Proposed solution for ticket [05f43be8fdda9fbd9]. (check-in: 6b993bd5 user: drh tags: like-opt-fix)
19:47
Fix the LIKE optimization even when comparing mixed-case BLOBs. (check-in: a58aafdb 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: 5757e803 user: drh tags: like-opt-fix)
04:37
Clearification of some documentation text. Added requirements marks. (check-in: 8c1e85aa user: drh tags: trunk)
03:31
Clarification of documentation on sqlite3_backup. (check-in: 31d5e9b4 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: 46119e8d user: dan tags: ota-update)
15:34
New test cases and requirements marks for PRAGMA index_info, index_xinfo, and index_list. (check-in: e5b13634 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: fc543c2c 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: 158c1a48 user: dan tags: ota-update)
13:43
Fix a typo in sqlite3ota.h. (check-in: 04087dec user: dan tags: ota-update)
01:29
New requirements marks on compound SELECT statements. (check-in: e7991bc5 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: c298ea0b user: drh tags: trunk)
20:18
Fix harmless compiler warning. (check-in: 580dae46 user: mistachkin tags: trunk)
15:35
Refinement to the wording of the documentation on depreciated functions. (check-in: 04a59d6f user: drh tags: trunk)
15:25
Remove a surplus </dl> mark in the documentation. No changes to code. (check-in: 5450e465 user: drh tags: trunk)
08:29
Fix a couple of build problems. (check-in: a5d5468c user: dan tags: fts5)
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: ac8c7ca3 user: drh tags: trunk)
19:56
Fix compiler warnings when compiling under VxWorks 7. (check-in: 55c21521 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: 39b566a2 user: drh tags: trunk)
14:00
Fix over-length source code lines in the main.c source file. (check-in: debba6f1 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: 7d92f1f1 user: drh tags: trunk)
17:25
Ensure that automatic indexes are *not* considered when doing the the subqueries of the OR-optimization. (check-in: 17890292 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: 6bf62463 user: drh tags: trunk)
01:04
More test cases and requirements marks for pragmas. (check-in: fc51037c 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: 766ad650 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: 8c2b29d9 user: drh tags: trunk)
19:40
Merge updates from trunk. (check-in: acf76843 user: mistachkin tags: expShell)
09:41
Further minor optimizations to flushing fts5 data to disk. (check-in: a07dcca9 user: dan tags: fts5)
07:23
Fix suffix and prefix compression of terms in top-level fts5 segments. And a crash that could follow an OOM condition. (check-in: bb104b36 user: dan tags: fts5)
00:33
Add a couple of requirements marks. (check-in: d70b0fd4 user: drh tags: trunk)
2015-02-26
21:04
Fix potential memory leaks in the misc 'compress' extension. (check-in: 3bc34fd4 user: mistachkin tags: trunk)
20:49
Optimize copying data from fts5 in-memory hash tables to top level segments. (check-in: 8e3ca632 user: dan tags: fts5)
16:40
Update a requirements mark to reflect a change of wording in the documentation. No changes to code. (check-in: 3038d016 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: a62ba58c user: drh tags: trunk)
14:54
Fix an fts5 bug in large incremental merges. (check-in: 208e3cb6 user: dan tags: fts5)
14:27
In the command-line shell, change the units on the ".width" directive from bytes to characters. (Leaf check-in: b1a9e291 user: drh tags: cli-char-width)
02:33
Simplifications to the description of the nByte parameter to sqlite3_prepare() and friends. (check-in: 4bee8295 user: drh tags: trunk)
2015-02-25
19:24
Instead of the 4-byte fields, use regular varints for the poslist-size field in fts5_hash.c. (check-in: 7eb022d7 user: dan tags: fts5)
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: 6d132e7a user: drh tags: trunk)
14:09
Merge the latest trunk fixes and enhancements into the apple-osx branch. (check-in: ba8294e2 user: drh tags: apple-osx)
14:02
Merge the latest trunk fixes into the sessions branch. (check-in: 131a2d31 user: drh tags: sessions)
13:48
Add support for the linenoise command-line editing library in shell.c. (check-in: 03bbb947 user: drh tags: trunk)
13:29
Version 3.8.8.3 (Leaf check-in: 9d6c1880 user: drh tags: release, version-3.8.8.3, branch-3.8.8)
12:52
Add support for linenoise to shell.c. (check-in: ec27ab0e user: dan tags: branch-3.8.8)
10:54
Add support for linenoise to shell.c. (Closed-Leaf check-in: f7f2598c user: dan tags: linenoise)
01:06
When cleaning with MSVC, prevent superfluous output regarding 'missing' files and directories. (check-in: 034c16bd 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: 3af300bf user: drh tags: trunk)
2015-02-24
20:12
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]. Cherry-pick from [491cfe9b3f87f]. (check-in: 9d94ac6a user: drh tags: branch-3.8.8)
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: 1d6fb43a 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: 491cfe9b 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: c6399958 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: 1a1516e4 user: drh tags: tkt-2326c258)
16:22
Increase the version number to 3.8.8.3 (check-in: a92afe7d user: drh tags: branch-3.8.8)
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: c0f4e308 user: drh tags: tkt-2326c258)
2015-02-23
20:09
Fix building with ENABLE_OTA and OMIT_LOAD_EXTENSION. (check-in: d6d21ff5 user: dan tags: ota-update)
16:17
Merge latest trunk changes with this branch. (check-in: e5ca79d2 user: dan tags: ota-update)
15:41
Change SQLITE_FCNTL_ZIPVFS_PAGER to SQLITE_FCNTL_ZIPVFS. (check-in: f7865b94 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: ef08ecce 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: 1cb675e5 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: 6d5ed70d 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: f8917ba4 user: drh tags: trunk)
15:13
Merge all recent trunk changes into the sessions branch. (check-in: f36bb5fa user: drh tags: sessions)
01:03
Merge trunk changes into the apple-osx branch. (check-in: 3896e233 user: drh tags: apple-osx)
00:56
Fix a compiler warning associated with USE_PREAD64. (check-in: c299e55a user: drh tags: trunk)
00:49
Fix over-length source code lines in os_unix.c. (check-in: 7560a9fa 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: 28c2b726 user: drh tags: trunk)
2015-02-20
14:36
Add some missing comments and fix other minor code issues in sqlite3ota.c. (check-in: 718fd8b6 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: 9c8682d6 user: dan tags: ota-update)
18:06
Update various documentation comments in sqlite3ota.c and sqlite3ota.h. (check-in: 60e0a46b user: dan tags: ota-update)
17:16
Fix errors in the EBCDIC upper-case to lower-case translation table. (check-in: 905009f6 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: 8215727d user: drh tags: trunk)
15:56
Incremental merge to prevent a huge pileup of merge conflicts resulting from editing the same code in two different branches. (check-in: 82c4c4e2 user: drh tags: apple-osx)
14:41
Merge latest trunk changes with this branch. (check-in: 6f5888a5 user: dan tags: ota-update)
13:36
Add tests for a couple of previously untested branches in the ota code. (check-in: a3c1bc5d user: dan tags: ota-update)
02:43
Move the os_unix.c file closer to trunk. (check-in: 57d70240 user: drh tags: apple-osx)
02:43
Move the os_unix.c file closer to apple-osx. (check-in: 81f242e3 user: drh tags: trunk)
00:29
First small steps toward brining trunk and apple-osx closer together. (check-in: 28284ccc 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: 0864d127 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: 2b10c5d2 user: dan tags: ota-update)
17:40
Fix a problem with OTA updates in the presence of database readers. (check-in: 144bb29f user: dan tags: ota-update)
2015-02-17
20:49
Improve test coverage of ota code a bit. (check-in: a438fa6c user: dan tags: ota-update)
2015-02-16
21:13
Add extra tests and fixes for ota. (check-in: e0b71519 user: dan tags: ota-update)
11:48
Add further tests and fixes for ota. (check-in: 62dc1fff user: dan tags: ota-update)
06:27
Move tcl test code from sqlite3ota.c to new file ext/ota/test_ota.c. (check-in: f20779a6 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: b64a11a7 user: dan tags: ota-update)
2015-02-13
16:42
Enhancements to SQLITE_ENABLE_API_ARMOR merged from trunk. (check-in: 5147b94a user: drh tags: apple-osx)
16:36
Improvements to SQLITE_ENABLE_API_ARMOR. (check-in: 823ad40c user: drh tags: trunk)
12:13
Merge all recent trunk fixes and enhancements into the apple-osx branch. (check-in: b2449d67 user: drh tags: apple-osx)
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: 3c6ca414 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: 9c5bcad1 user: mistachkin tags: trunk)
17:15
Improve the performance of fts3/4 queries that use the OR operator and at least one auxiliary fts function. Cherrypick of [245e8730451f]. (check-in: b2082462 user: dan tags: branch-3.8.8)
2015-02-11
17:05
Merge the ota-update-no-pager_ota_mode branch into this one. (check-in: 71887cd9 user: dan tags: ota-update)
16:54
Merge latest trunk changes with this branch. (Closed-Leaf check-in: 0b63e8dc 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: 6fc5d4d2 user: dan tags: ota-update-no-pager_ota_mode)
2015-02-10
20:00
Further tweaks to work with zipvfs. (check-in: 0f152416 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: e7296681 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: 96443ecb 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: 24e78b8d user: drh tags: trunk)
17:46
Fix WITHOUT ROWID table handing in sqlite3_analyzer. (check-in: 937e0fe7 user: dan tags: trunk)
16:34
Add test cases for the query flattener fix for ticket [2f7170d73bf9abf8]. (Closed-Leaf check-in: dd8f7f75 user: drh tags: tkt-2f7170d7)
16:09
Propagate the COLLATE operator upward through function calls. Initial fix for ticket [ca0d20b6cdddec5e8]. (check-in: c053448a 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: 0b7d65e3 user: drh tags: tkt-2f7170d7)
14:07
Rename the internal "EP_Constant" bitmask to a less misleading "EP_ConstFunc". (check-in: 4ef7cece 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: aa093fef 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: b3c6b8a3 user: drh tags: trunk)
10:20
Fix over-length source code lines in resolver.c. No logic changes. (check-in: c12edb85 user: drh tags: trunk)
2015-02-07
20:20
Add comments to explain the role of the ota vfs. (check-in: 7bb63363 user: dan tags: ota-update-no-pager_ota_mode)
19:17
Remove "PRAGMA pager_ota_mode". (check-in: 8ac58e46 user: dan tags: ota-update-no-pager_ota_mode)
15:30
Merge increment blob I/O fixes from trunk. (check-in: 292cf68b user: drh tags: apple-osx)
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: 5df02f50 user: drh tags: trunk)
2015-02-06
16:03
Merge all recent trunk enhancements into the apple-osx branch. (check-in: 44711921 user: drh tags: apple-osx)
15:40
Merge all the latest enhancements from trunk. (check-in: ae7eef11 user: drh tags: sessions)
15:03
Merge the command-line shell enhancements from trunk. (check-in: c3931db5 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: 0f65a7e2 user: drh tags: trunk)
14:19
Add the ".info" command to the shell. (check-in: 0a3100a7 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: 2743846c user: drh tags: trunk)
00:31
Revise the way that the index structure for a WITHOUT ROWID table is discovered. (check-in: 7f10a0ea 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: a5e86bea 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: 74e073dd 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: 50ecdfc4 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: 21e95d28 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: 3af19f84 user: drh tags: index_xinfo)
20:56
Fix a missing mutex in SQLITE_TESTCTRL_IMPOSTER. (check-in: 71691c4b user: drh tags: trunk)
19:20
Fix the error messages returned by ota if an update violates a unique constraint. (check-in: c4845a3b 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: 1db198cc user: dan tags: ota-update)
11:08
Fix a memory leak that could follow an OOM error in ota. (check-in: 0d5415f2 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: f30a057a user: drh tags: trunk)
18:43
Fix some problems surrounding WITHOUT ROWID tables with DESC primary key indexes . (check-in: a21fefb7 user: dan tags: ota-update)
15:56
Remove "PRAGMA ota_mode". (check-in: 1c111447 user: dan tags: ota-update)
2015-02-02
22:19
Add an experimental pragma "PRAGMA preload;" that preloads the pcache with the entire database file. (Leaf check-in: 6dca23e6 user: drh tags: preload-pragma)
21:34
Break out the (script-generated) pragma parsing tables into a separate file, pragma.h, to make editing easier. (check-in: 32c0325b user: drh tags: trunk)
11:58
Ensure generated header file fts5parse.h is included in sqlite3.c. (check-in: bc7be2fc user: dan tags: fts5)
11:32
Fix some problems with building fts5 and fts3 together using the amalgamation. (check-in: fb10bbb9 user: dan tags: fts5)
09:40
Merge latest trunk changes with this branch. (check-in: 76212f2c user: dan tags: fts5)
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: cdaeab46 user: dan tags: ota-update)
15:23
Minor optimizations to fts5 writes. (check-in: 1fffe51f user: dan tags: fts5)
02:34
Merge in support for the index_xinfo pragma. (check-in: f9b6dc77 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: 30f51d7b user: drh tags: index_xinfo)
2015-01-30
21:00
Merge the SQLITE_TESTCTRL_IMPOSTER changes from trunk. (check-in: 3ed6eb2f 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: 42d56017 user: drh tags: trunk)
16:36
Merge all recent trunk changes, and especially the SQLITE_TESTCTRL_INITMODE enhancement. (check-in: 36436dde user: drh tags: ota-update)
15:52
Added SQLITE_TESTCTRL_INITMODE for improved testability. (check-in: 98e02913 user: drh tags: trunk)
15:40
Add a few simple test cases for SQLITE_TESTCTRL_INITMODE - cases which also test PRAGMA integrity_check. (Closed-Leaf check-in: 3a6e2afe user: drh tags: initmode-testctrl)
14:30
Version 3.8.8.2 (check-in: 7757fc72 user: drh tags: release, version-3.8.8.2, branch-3.8.8)
2015-01-29
20:59
Fix some problems with transactions that both read and write an fts5 table. (check-in: 0e225b15 user: dan tags: fts5)
20:01
Bump the version number to 3.8.8.2 (check-in: 65bfbbb4 user: drh tags: branch-3.8.8)
19:59
Ensure that "PRAGMA wal_checkpoint = TRUNCATE|FULL|RESTART" block on other connections and truncate the wal file as required even if the entire wal file has already been checkpointed. Cherry-pick from trunk. (check-in: 18610617 user: drh tags: branch-3.8.8)
19:27
Fix some duplicated test names. (check-in: 1797158d user: mistachkin tags: trunk)
19:12
Ensure that "PRAGMA wal_checkpoint = TRUNCATE|FULL|RESTART" block on other connections and truncate the wal file as required even if the entire wal file has already been checkpointed. (check-in: 53429689 user: dan tags: trunk)
18:38
Split up the SRC variable in Makefile.msc to avoid over-long cmd.exe commands when TOP is set to a long pathname. (check-in: 7d70ac65 user: drh tags: trunk)
17:54
Add the INITMODE test-control. (check-in: 5940af8e user: drh tags: initmode-testctrl)
15:53
Improvements to the DELETE code generator for the one-pass case. Avoid some OP_Goto instructions. Read content from the index cursor if the index cursor is valid and was used to locate the row that is to be deleted. (Closed-Leaf check-in: 58cc257a user: drh tags: one-writable-btree)
14:48
Avoid overlength command lines in Makefile.msc when using TOP= with a large directory name. (check-in: 0cdd59bf user: drh tags: one-writable-btree)
11:52
Optimize range constraints on the rowid column of fts3/4 tables even if there is no MATCH clause in the query. (check-in: 85dc1262 user: dan tags: trunk)
02:26
Experimental sqlite_db_config() setting to disable writing to all btrees except for one btree with a particular root page. (check-in: 23054110 user: drh tags: one-writable-btree)
2015-01-28
20:37
Add missing VdbeCoverage() macros to the sqlite3_index_writer() implementation. (check-in: 6f8cda26 user: drh tags: ota-update)
15:30
When a "full", "restart" or "truncate" checkpoint is attempted, return SQLITE_BUSY if a reader prevents the checkpointer from copying any frames at all into the database file. (check-in: f2700040 user: dan tags: ota-update)
12:27
Correctly detect errors returned by walCheckpointStart() due to OOM. (check-in: 8e878c20 user: drh tags: ota-update)
12:00
Merge in all changes from trunk. (check-in: 17c69be8 user: drh tags: ota-update)
2015-01-27
21:24
Fix harmless compiler warnings. (check-in: e7d2ec04 user: mistachkin tags: trunk)
20:41
Fix a problem with fts5 doclist-indexes that occured if the first rowid of the first non-term page of a doclist is zero. (check-in: f704bc05 user: dan tags: fts5)
19:01
Fix a bug in the fts3 snippet() function causing it to omit leading separator characters from snippets that begin with the first token in a column. (check-in: adc9283d user: dan tags: trunk)
18:43
Improve the performance of fts3/4 queries that use the OR operator and at least one auxiliary fts function. (check-in: 245e8730 user: dan tags: trunk)
13:17
Fix a (almost always harmless) read past the end of a memory allocation that comes about because the Expr.pTab field is checked on an EXPR_REDUCEDSIZE Expr object before checking the Expr.op field to know that the Expr.pTab field is meaningless. (check-in: e098de69 user: drh tags: trunk)
2015-01-25
20:19
The va_list argument cannot take on a NULL value and cannot be compared with NULL on some platforms (ex: ARM). So do not attempt to do so. (check-in: 1964e656 user: drh tags: trunk)
2015-01-24
19:57
Have fts5 store rowids in ascending order. Query speed is virtually the same regardless of rowid order, and ascending order makes some insert optimizations easier. (check-in: 5206ca60 user: dan tags: fts5)
12:12
In the command-line shell, make sure stderr is unbuffered so that it automatically flushes. This has always been the case already for unix and on Windows when the output is a console, but apparently was not the case on Windows when the output was a pipe. (check-in: 2a9ea9b4 user: drh tags: trunk)
2015-01-23
17:43
Fix compression of keys stored on internal segment b-tree nodes by fts5. (check-in: 51444f67 user: dan tags: fts5)
06:50
Remove some redundant code from fts5. (check-in: 939b7a5d user: dan tags: fts5)
2015-01-22
19:13
Add further tests and fixes for fts5. (check-in: 5b295897 user: dan tags: fts5)
12:00
Make sure errors in the FROM clause of a SELECT cause analysis to abort and unwind the stack before those errors have a chance to mischief in the "*" column-name wildcard expander. Fix for ticket [32b63d542433ca67]. (check-in: 9e6eae66 user: drh tags: trunk)
11:29
Change the undocumented ".selecttrace" command in the shell to accept an integer bitmask rather than a boolean. (check-in: bd63bf88 user: drh tags: trunk)
2015-01-21
20:30
Further tests and fixes for fts5. (check-in: c020a291 user: dan tags: fts5)
18:23
Fix an fts5 issue with loading doclist-indexes for a term that is the last thing on its leaf page. (check-in: e0d61442 user: dan tags: fts5)
17:20
Merge trunk changes with this branch. (check-in: f8699a1a user: dan tags: fts5)
17:00
Fix an assert() that may fail following an OOM error. (check-in: 5f592359 user: dan tags: trunk)
16:10
Add further tests for fts5 backend. (check-in: 09dabb3b user: dan tags: fts5)
06:36
Merge latest trunk changes with this branch. (check-in: b3348b1e user: dan tags: fts5)
00:51
Fix harmless compiler warning seen with MSVC. (check-in: 78c2e62b user: mistachkin tags: trunk)
00:48
Enhancements to entropy generation for the Win32 VFS. (check-in: 26190b3c user: mistachkin tags: trunk)
2015-01-20
20:34
Add extra fault injection tests to fts5. (check-in: f45a0dc0 user: dan tags: fts5)
16:51
Version 3.8.8.1 (check-in: f73337e3 user: drh tags: release, version-3.8.8.1, branch-3.8.8)
03:04
Fix another instance of an incorrect value for KeyInfo.nXField on a sorting index. Ticket [f97c4637102a3ae72b79]. (check-in: 0077f645 user: drh tags: trunk)
02:51
Change the version number to 3.8.8.1 (check-in: c75555a3 user: drh tags: branch-3.8.8)
02:50
Fix another instance of an incorrect value for KeyInfo.nXField on a sorting index. More changes for ticket [f97c4637102a3ae72b79]. (check-in: dc711db4 user: drh tags: branch-3.8.8)
2015-01-19
21:38
Ensure that the KeyInfo.nXField value for ephemeral tables used to implement ORDER BY or GROUP BY clauses is set correctly, so that the sqlite3VdbeFindCompare() routine can choose the correct comparison function. Add assert() statements to the high-speed comparison functions to detect cases where they are inappropriately chosen. Fix for ticket [f97c4637102a3ae72b7911]. (check-in: 59e592f6 user: drh tags: branch-3.8.8)
21:36
Ensure that the KeyInfo.nXField value for ephemeral tables used to implement ORDER BY or GROUP BY clauses is set correctly, so that the sqlite3VdbeFindCompare() routine can choose the correct comparison function. Add assert() statements to the high-speed comparison functions to detect cases where they are inappropriately chosen. Fix for ticket [f97c4637102a3ae72b7911]. (check-in: f7201bb0 user: drh tags: trunk)
21:27
Improve precision of the new test case by removing a superfluous carriage-return from the shell command input. (check-in: 913c41b2 user: mistachkin tags: expShell)
21:11
Add comments and improve the new test case. (check-in: 4ec2aead user: mistachkin tags: expShell)
21:10
There are asserts in place now that will prevent a recurrence of ticket [f97c4637102a3ae7]. Nevertheless, it is good to add some test cases as well. (Closed-Leaf check-in: e02959b9 user: drh tags: tkt-f97c4637)
20:59
Make sure that the KeyInfo.nXField value of ephermeral tables used for ORDER BY and GROUP BY is set correctly, so that the correct comparison function can be choosen by sqlite3VdbeFindCompare(). (check-in: c16bae5e user: drh tags: tkt-f97c4637)
20:57
Fix the assert() of the previous check-in so that it works even when compiled without SQLITE_DEBUG. (check-in: 38868f84 user: drh tags: tkt-f97c4637)
20:22
Remove a shell function that is now superfluous. (check-in: d8564f70 user: mistachkin tags: expShell)
20:19
Merge updates from trunk. (check-in: d9f4035b user: mistachkin tags: expShell)
20:05
Fix compilation on Cygwin when SQLITE_MAX_WORKER_THREADS is greater than zero. (check-in: 2037442c user: mistachkin tags: trunk)
19:48
An alternative way of implementing the assert() that verifies the relative values of KeyInfo.nField+KeyInfo.nXField and the number of columns in a record. This version of the assert() only fires when the high-speed comparison routines are used - which is to say it only fires when the constraint actually matters. (check-in: bf744b49 user: drh tags: tkt-f97c4637)
19:21
An alternative way of fixing the key comparison bug of ticket [f97c4637102a3ae72b]. (Closed-Leaf check-in: e41376cf user: drh tags: alt1-tkt-f97c4637)
18:18
Strengthen the KeyInfo number-of-columns assert() added by the previous check-in. (Closed-Leaf check-in: d0971b79 user: drh tags: tkt-f97c4637)
17:28
Add an assert() to verify that the nField+nXField values of a KeyInfo object are never less then the number of columns in a row for a non-corrupt database. This assert() currently fails, which is the root of the problem with ticket [f97c4637102a3ae72b]. (check-in: 083f523d user: drh tags: tkt-f97c4637)
15:05
Enhance the command-line shell with the ability to set the SQLITE_TESTCTRL_NEVER_CORRUPT flag using: ".testctrl never_corrupt 1". (check-in: 824328f9 user: drh tags: trunk)
11:15
Handle the case where a tokenizer determines that there are zero tokens in an fts5 query term. (check-in: 75f3d17f user: dan tags: fts5)
07:42
Merge updates from trunk. (check-in: c7167f88 user: mistachkin tags: expShell)
00:35
Eliminate all use of sprintf(), strcpy() and strcat() from test logic because OpenBSD hates those functions. (check-in: 10321910 user: drh tags: trunk)
2015-01-18
20:30
Set binary mode for output on Windows when writing a quoted string that might contain newline characters. (check-in: 7096e6c0 user: drh tags: trunk)
09:02
Modify the new shell test case to work on non-Windows platforms as well. (check-in: f362c5d9 user: mistachkin tags: expShell)
05:35
Some experimental command line shell input/output enhancements. (check-in: 25e99f3f user: mistachkin tags: expShell)
01:50
Set the command-line shell stdin to binary mode on windows. (check-in: 80541e8b user: drh tags: trunk)
2015-01-17
20:01
Ensure an up to date copy of the fts5 configuration has been loaded into memory before attempting to modify the same configuration. (check-in: f30afd20 user: dan tags: fts5)
17:48
Improve the performance of the fts5 porter tokenizer implementation. (check-in: 96ea6004 user: dan tags: fts5)
15:26
Fix a harmless compiler warning the VFS for Windows. (check-in: ceac571f user: drh tags: trunk)
2015-01-16
19:35
Fix harmless compiler warning. (Closed-Leaf check-in: cab46fb7 user: mistachkin tags: msvcWarn)
12:44
Merge all 3.8.8 changes into the sessions branch. (check-in: bebd131a user: drh tags: sessions)
12:24
Merge the 3.8.8 release changes from trunk. (check-in: 518621f8 user: drh tags: apple-osx)
12:08
Version 3.8.8 (check-in: 7d68a42f user: drh tags: trunk, release, version-3.8.8)
2015-01-15
17:38
Fix the spelling of "malloc_usable_size" in configure and configure.ac. (check-in: 8f45217c user: drh tags: trunk)
15:47
Makefile enhancements: (1) Rename autoconf/tea/configure.in to autoconf/tea/configure.ac so that it works with the latest versions of autoconf. (2) Add the "amalgamation-tarball" targets to Makefile.in and main.mk (renamed from "dist" in the latter case). (3) Update the README.first file in autoconf/ (4) The TOP macro in Makefile.in is now an absolute rather than a relative path. (check-in: 3bafeec9 user: drh tags: trunk)
2015-01-14
17:16
Merge trunk 3.8.8 beta changes into the sessions branch (check-in: 0ba12454 user: drh tags: sessions)
2015-01-13
21:26
Simplify some code in rtree, to avoid confusing the optimizer in GCC on some macs: gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00). Prior to these changes, compiling with -O3 would cause incorrect code to be generated. The change to the nodeGetCell() routine is key. The other changes are merely cosmetic details discovered while bug hunting. (check-in: 882181ff user: drh tags: trunk)
17:25
Fix prefix indexes so that they work in characters, not bytes. (check-in: af8d43a4 user: dan tags: fts5)
01:12
Fix the e_walauto.test test module so that it works on both little-endian and big-ending machines. (check-in: 5682db7b user: drh tags: trunk)
2015-01-12
21:43
Fix harmless compiler warnings when using -W4 with MSVC. (check-in: e693e11d user: mistachkin tags: trunk)
20:25
Fix harmless compiler warning in an assert() statement. (Closed-Leaf check-in: bdbeed01 user: mistachkin tags: msvcW4)
20:20
Add two more classes of harmless MSVC compiler warnings. (check-in: de30d5b0 user: mistachkin tags: msvcW4)
19:59
Silence some harmless uninitialized local variable warnings. (check-in: 44375a34 user: mistachkin tags: msvcW4)
19:49
Harmless compiler warning fixes for 'testfixture' and the miscellaneous extensions when built with the MSVC makefile. (check-in: 923fd660 user: mistachkin tags: msvcW4)
18:52
Merge updates from trunk. (check-in: ca5f2c54 user: mistachkin tags: msvcW4)
18:52
Get things compiling cleanly with MSVC and W4. (check-in: c8725fa5 user: mistachkin tags: msvcW4)
18:38
Fix some harmless compiler warnings. (check-in: 2b8eecbf user: mistachkin tags: msvcW4)
18:27
Fix comments and add another disabled warning for MSVC. (check-in: 43b6b4cc user: mistachkin tags: msvcW4)
18:02
Work in progress on fixing harmless compiler warnings when using -W4 and MSVC. (check-in: 856dd245 user: mistachkin tags: msvcW4)
17:58
Optimize the unicode61 tokenizer so that it handles ascii text faster. Make it the default tokenizer. Change the name of the simple tokenizer to "ascii". (check-in: f22dbcca user: dan tags: fts5)
17:56
Add an assert() in order to calm a scan-build warning. (check-in: 11e81ac2 user: drh tags: trunk)
2015-01-10
20:34
Fix some documentation issues in fts5. (check-in: 512e1bdb user: dan tags: fts5)
18:22
Add detection of the isnan() library function to the configure script. Make the code responsive to the HAVE_ISNAN configuration option. (check-in: 46f3aba2 user: drh tags: trunk)
18:02
Make use of the fdatasync() interface if the HAVE_FDATASYNC macro is true. (check-in: 694228e4 user: drh tags: trunk)
16:49
Improvements to compile-time-option hygiene. Use "#if OPTION" instead of "#ifdef OPTION" in cases where that makes sense, so that -DOPTION=0 will work. Add the "Have-Not" configuration in releasetest.tcl which disables all of the "HAVE_component" compile-time options. (check-in: 9e92a5ed user: drh tags: trunk)
15:21
Add the ability to put comments in the Config and Platform setup sections of the releasetest.tcl script. (check-in: d6f8c899 user: drh tags: trunk)
14:27
Autoconf configure script updates: (1) remove the long-obsolete --enable-cross-thread-connections option. (2) remove the --with-hints= options. (3) Extension loading is enabled by default. (4) Check for strchrnull() (5) Update the --help text. (check-in: 5004063c user: drh tags: trunk)
2015-01-09
21:54
Change the testfixture binary so that it explicitly enabled core files on a crash (on unix). Add a test case to verify that this works. (check-in: 90f422ed user: drh tags: trunk)
20:00
Add SQLITE_ENABLE_STMT_SCANSTATUS to the Update-Delete-Limit configuration in the releasetest.tcl script. (check-in: c70d5eda user: drh tags: trunk)
19:45
Remove an unused preprocessor macro from pcache.c. (check-in: 88a7a967 user: drh tags: trunk)
19:36
Improvements to the sqlite3_stmt_scanstatus() documentation. No changes to code. (check-in: 9309c9bc user: drh tags: trunk)
01:27
Fix three crash problems discovered by afl-fuzz. Ticket [a59ae93ee990a55]. (check-in: fe578863 user: drh tags: trunk)
00:38
Add the "ascii" mode to the command-line shell. (check-in: e1518a94 user: drh tags: trunk)
2015-01-08
22:08
Omit modules from the "valgrind" permutation that fork off separate processes. Also omit selectG.test because it is timing sensitive and valgrind is too slow to get the right answer. (check-in: 662932a6 user: drh tags: trunk)
20:06
Merge recent enhancements from trunk, including test scripts enhancements and the removal of limits on the number of terms in a VALUES clause. (check-in: 5a2dec55 user: drh tags: sessions)
19:55
Merge the testing enhancements and the unlimited VALUES enhancement from trunk. (check-in: cc780842 user: drh tags: apple-osx)
16:47
Try to fix up the "valgrindtest" target in Makefile.in so that it avoids misuse testing that can trigger false errors. (check-in: 50b5a8af user: drh tags: trunk)
02:28
Fix the extension tags on the "smoketest" makefile target for Windows. (check-in: 826fd311 user: drh tags: trunk)
02:15
In releasetest.tcl: (1) Add the Failure-Detection platform. (2) Re-add the --disable-shared argument on Default that was mistakenly removed by the previous commit. (3) Remove the -ftrapv tests, as we read that -ftrapv does not work in GCC. (check-in: 1f2fb777 user: drh tags: trunk)
01:05
In releasetest.tcl: add options --veryquick and pass-through compiler optimization settings (ex: -O0). Collect the SQLite version number from the main.test output and show it during the summary report at the end. (check-in: e7e7bc1d user: drh tags: trunk)
2015-01-07
19:38
In releasetest.tcl, always use --disable-shared together with --disable-amalgamation because mingw generates a binary that crashes and cannot be debugged using gdb if you don't. (check-in: 19982439 user: drh tags: trunk)
19:33
Add the fts5 'optimize' command. (check-in: e749be56 user: dan tags: fts5)
18:44
In releasetest.tcl, copy certain command-line arguments (-g, -D..., etc) down into each test run. (check-in: 889864b5 user: drh tags: trunk)
18:19
Modify the valgrind target to be consistent with regard to target suffixes. (check-in: dc4aa732 user: mistachkin tags: trunk)
18:11
Fix threads-enabled builds on Windows when the amalgamation is not in use. (check-in: 9b92a4d2 user: mistachkin tags: trunk)
17:11
Add the 'rebuild' and 'delete-all' commands. (check-in: 0cb2fed5 user: dan tags: fts5)
14:41
In releasetest.tcl, change the --dryrun option to work as it does in multitest.tcl of TH3. Add the new --trace option that work like the --dryrun option used to work. Add the ability to specify additional configure-script options in the Config array, and create configurations that use --disable-shared and --disable-amalgamation for testing. (check-in: be17ef03 user: drh tags: trunk)
14:09
Add a valgrind test to the Linux-x86_64 platform in releasetest.tcl. (check-in: 4b6df035 user: drh tags: trunk)
2015-01-06
21:31
Fix a problem in the unix implementation of FCNTL_SIZE_HINT on systems that do not support posix_fallocate(). (check-in: af20eae1 user: dan tags: trunk)
19:08
Remove the iPos parameter from the tokenizer callback. Fix the "tokenchars" and "separators" options on the simple tokenizer. (check-in: 65f0262f user: dan tags: fts5)
16:53
Improved and more rigorous test of large VALUES clauses. (check-in: 6917d9f4 user: drh tags: trunk)
14:38
Further fixes and test cases related to external content tables. (check-in: ce6a899b user: dan tags: fts5)
2015-01-05
20:41
Tests and fixes for fts5 external content tables. (check-in: 047aaf83 user: dan tags: fts5)
20:13
Enhance "INSERT INTO ... VALUES" so that the number of rows in the VALUES clause is not limited by SQLITE_LIMIT_COMPOUND_SELECT, and so that the stack depth is constant regardless of the number of rows in VALUES. (check-in: e1c4a359 user: drh tags: trunk)
20:04
Avoid O(N*N) behavior with very long lists of VALUES. (Closed-Leaf check-in: ee30fb35 user: drh tags: many-VALUEs)
19:16
Handle compound-select statements originating from VALUES clauses as a special case that does not use recursion. (check-in: 9ce9e43a user: drh tags: many-VALUEs)
16:27
Towards getting INSERT statements to except many VALUE terms (more than the limit imposed by SQLITE_LIMIT_COMPOUND_SELECT). This check-in segfaults on a stack overflow. And it is slow. (check-in: c9d65f73 user: drh tags: many-VALUEs)
15:48
Remove some needless recursion from compound SELECT processing. (check-in: fe677d13 user: drh tags: trunk)
2015-01-03
20:44
Add support for external content tables to fts5. (check-in: 17ef5b59 user: dan tags: fts5)
18:59
In releasetest.tcl, omit the CC=clang text from the label on Sanitize tests, so that the label fits on an 80-character line. (check-in: 23d4c07e user: drh tags: trunk)
2015-01-02
21:54
Fix a harmless compiler warning. (check-in: e0de5807 user: drh tags: trunk)
20:06
Merge updates from trunk. (Closed-Leaf check-in: ea99f4b2 user: mistachkin tags: asciiMode)
19:17
Merge the latest changes from trunk into the apple-osx branch. (check-in: df3cdf9f user: drh tags: apple-osx)
15:55
Add the SQLITE_CONFIG_PMASZ start-time option. (check-in: acb0d1e8 user: drh tags: trunk)
14:55
Allow the rank column to be remapped on a per-query basis by including a term similar to "rank match 'bm25(10,2)'" in a where clause. (check-in: 1cd15a17 user: dan tags: fts5)
2015-01-01
23:02
Add logic to releasetest.tcl that detects -fsanitize=undefined errors. Fix a few false-positivies that come up when running the sanitize=undefined test. (check-in: 2835e79a user: drh tags: trunk)
19:53
Add the ability to specify an alternative compiler (clang instead of gcc) on the default Makefile. Use this in releasetest.tcl to implement an -fsanitize=undefined test. (check-in: c55c05fe user: drh tags: trunk)
19:11
Enhance the "lemon" executable so that it ignores -f, -W, -O, and -I command-line options. This permits most of the same options that are passed to the compiler to also be harmlessly passed to lemon, and thus simplifies makefiles. (check-in: da408d12 user: drh tags: trunk)
18:54
Fix an error in the computation of the number of hours of runtime for individual test runs in the releasetest.tcl script. (check-in: e2b0ebe2 user: drh tags: trunk)
18:03
Merge latest trunk changes with this branch. (check-in: 4b365167 user: dan tags: fts5)
16:47
Fix a harmless compiler warning in rtree. (check-in: 30891c6b user: drh tags: trunk)
14:13
Fix two test cases in memsubsys1 so that they work with the mmap permutation. (check-in: 66269d0d user: drh tags: trunk)
14:06
Fix the fkey-7.1 test so that it sorts its answer and hence always gives the same answer. (check-in: 5830c557 user: drh tags: trunk)
2014-12-31
20:35
Fix to releasetest.tcl: When doing the secondary _debug runs, convert "fulltest" to just "test". (check-in: ec264bde user: drh tags: trunk)
20:25
Adjust the memsubsys1-5.5 test case to avoid occasional false positives. (check-in: 43241318 user: drh tags: trunk)
20:19
Fix a floating-point round-off error problem in the percentile.test module. (check-in: 456948ea user: drh tags: trunk)
19:58
Disable the bigsort.test module on machine with less than 8GB of available RAM or machine, to avoid thrashing. (check-in: 9d4fe116 user: drh tags: trunk)
18:55
Change threadtest3.c so that SQLITE_SCHEMA returns result in warnings not hard errors. Add the Darwin-x86_64 platform to releasetest.tcl. (check-in: b09a139c user: drh tags: trunk)
18:28
Update the command-line parsing for threadtest3 so that tests are run in the order they are specified on the command-line. (check-in: f489bc31 user: drh tags: trunk)
18:25
Add a missing sqlite3_close() call to threadtest3.c. (check-in: a65a44f3 user: dan tags: trunk)
18:10
Only run walthread5 once when running all tests in threadtest3. (check-in: ca2e4a5b user: drh tags: trunk)
18:08
Do run pragma3.test as part of the mmap permutation. As it works as of [cf48eb608a]. (check-in: 11057e26 user: dan tags: trunk)
15:14
Change the width of output lines in releasetest.tcl from 70 to 79 characters. (check-in: a468d967 user: drh tags: trunk)
14:27
Merge the fix to PRAGMA data_version and testing improvements from trunk. (check-in: 86e39123 user: drh tags: sessions)
14:18
Make sure PRAGMA data_version is updated even if the cache is empty when another connection changes the database. (check-in: cf48eb60 user: drh tags: trunk)
09:52
Do not run pragma3.test as part of the mmap permutation. (check-in: 94101011 user: dan tags: trunk)
2014-12-30
20:40
Add the "mptester" tests to releasetest.tcl. (check-in: 93094a68 user: drh tags: trunk)
19:58
Ensure that when a file is extended using FCNTL_SIZE_HINT the last page is allocated on disk, even if the file will only use part of it. (check-in: c7f84717 user: dan tags: trunk)
19:26
Update the threadtest3 test program so that its output summary is compatible with releasetest.tcl. In threadtest3, do not record errors that contain the string "no such table" as being fatal errors, since they happen sometimes in a race condition in stress1. (check-in: 98cb56e2 user: drh tags: trunk)
18:07
Fix problems with the "inmemory_journal" permutation. (check-in: 79693f04 user: dan tags: trunk)
14:40
If the sorter uses mmap'd temp files, ensure all pages of the temp file have been allocated before it is accessed. Otherwise, a disk-full condition might result in a SIGBUS exception. (check-in: 77664841 user: dan tags: trunk)
13:04
Make SQLITE_CONFIG_PCACHE_HDRSZ accurate (not an over-estimate) on 32-bit systems. (check-in: 340b3477 user: drh tags: trunk)
12:03
Change notify2.test to check that sqlite3_blocking_step() uses CPU more efficiently than sqlite3_step(), not that it results in greater overall throughput for any specific number of threads. (check-in: d904d293 user: dan tags: trunk)
00:57
Round all object sizes that go into computing SQLITE_CONFIG_PCACHE_HDRSZ up to a multiple of 8 bytes. (check-in: b28ce75f user: drh tags: trunk)
2014-12-29
19:54
Fix the --dryrun option in releasetest.tcl. (check-in: 0f9e5496 user: drh tags: trunk)
12:02
Fix some recently added tests so that they work with SQLITE_DEFAULT_AUTOVACUUM=1. (check-in: ef0626ab user: dan tags: trunk)
11:50
Reinstate an assert() by adding an "|| CORRUPT_DB" term. (check-in: 95ce2034 user: drh tags: trunk)
02:55
Fix the "checksymbols" target in Makefile.in so that it actually works. Enhance the releasetest.tcl script to count the total number of tests run over all configurations. (check-in: 4eda1c74 user: drh tags: trunk)
2014-12-28
22:10
Fix WITHOUT ROWID tables so that they correctly deal with PRIMARY KEYs that contain redundant columns. (check-in: 0dfef675 user: drh tags: trunk)
2014-12-25
12:19
Update the SQLITE_CONFIG_PAGECACHE documentation so that the maximum page size is correctly stated to be 65536. (check-in: 3286424b user: drh tags: trunk)
2014-12-24
23:35
Fix the error counter in releasetest.tcl. And report the total time in HH:MM:SS instead of just seconds. (check-in: 6396f804 user: drh tags: trunk)
18:11
Fix a failing assert() in balance_nonroot(). (check-in: e2e32314 user: dan tags: trunk)
17:17
When building the amalgamation with SQLITE_ENABLE_IOTRACE defined, do not mark symbol sqlite3IoTrace as static. (check-in: 5b7ca013 user: dan tags: trunk)
2014-12-23
21:17
Merge the new and improved releasetest.tcl script into trunk. Add a "make releasetest" target to the autoconf makefile. (check-in: 1deb00ec user: drh tags: trunk)
21:10
Remove 'threadtest' as a target on Windows, due to lack of pthreads. Also, change 'fulltest' to 'fulltestonly'. (Closed-Leaf check-in: a010c404 user: mistachkin tags: releasetest-refactor)
21:03
Fix typo in library object file name. (check-in: f49566a7 user: mistachkin tags: releasetest-refactor)
20:42
Permit sqlite3_shutdown() to be called with OMIT_WSD enabled and without having called sqlite3_initialize() first. (check-in: 3f7dbdb5 user: mistachkin tags: trunk)
20:41
In the releasetest.tcl script, show the test target for each configuration that is run. And show the time in HH:MM:SS. (check-in: 2295e9e0 user: drh tags: releasetest-refactor)
20:31
Add the threadtest target to Makefile.in. Add --enable-load-extension to the configure issued by releasetest.tcl. (check-in: cb128067 user: drh tags: releasetest-refactor)
20:22
Draft of changes necessary to make releasetest work on Windows via MinGW. (check-in: af166c5c user: mistachkin tags: releasetest-refactor)
20:05
Fix a potential segfault following OOM error in the test harness. The SQLite core itself is not at fault. (check-in: 1bb26695 user: drh tags: trunk)
19:52
Add the "checksymbols" target to Makefile.in (check-in: 5bd73dba user: drh tags: releasetest-refactor)
19:40
Rework the test/releasetest.tcl script so that it uses the autoconf makefile instead of the test/releasetest.mk makefile. Also add options like --dryrun and --buildonly. Omit the --makefile option and replace it with --srcdir with the default computed relative to the releasetest.tcl script itself. (check-in: 7c85e831 user: drh tags: releasetest-refactor)
2014-12-22
22:02
Fix a typo in an evidence mark on a test script. No changes to code. (check-in: a08b0c75 user: drh tags: trunk)
18:48
Merge the PRAGMA data_version redefinition and other fixes from trunk. (check-in: 315243e4 user: drh tags: sessions)
18:41
Redefine the way PRAGMA data_version works: It continues to change when any other connection commits, including shared-cache connections, but does not change if the local connection commits. (check-in: 7a97826f user: drh tags: trunk)
2014-12-21
11:56
Fixes to the README.md file. No changes to code. (check-in: ef4b734d user: drh tags: trunk)
2014-12-20
22:21
Support manually disabling overlapped file I/O for Windows sub-platforms other than Windows CE. (check-in: b9330b88 user: mistachkin tags: trunk)
21:14
Minor fixes and enhancements to the SQLITE_ENABLE_API_ARMOR functionality. (check-in: cb3e4219 user: mistachkin tags: trunk)
14:58
Merge the PRAGMA data_version command and the enhancements to FK query planning from trunk into the sessions branch. (check-in: d4f82af0 user: drh tags: sessions)
14:50
Add the "PRAGMA data_version" command for checking to see if a database has been modified. (check-in: de50f25c user: drh tags: trunk)
14:34
Update the PRAGMA data_version command so that it reponse to changes made by a shared-cache database connection, and also to changes made by the same database connection. Add test cases to verify the new behavior. (Closed-Leaf check-in: 44ee5383 user: drh tags: data_version_pragma)
2014-12-19
22:20
Merge updates from trunk. (check-in: 555fb71f user: mistachkin tags: asciiMode)
20:27
Adding test cases for the "PRAGMA data_version" command. (check-in: c5fb7d6a user: drh tags: data_version_pragma)
19:28
Experimental "PRAGMA data_version" command for detecting when another process has changed the database file. (check-in: 43db1f44 user: drh tags: data_version_pragma)
18:49
Simplify the implementation of the "header-value" pragmas (schema_version, user_version, freelist_count, and application_id) by making them more table-driven. (check-in: da27a09d user: drh tags: trunk)
2014-12-17
15:03
Experimental opimizations to speed up FK constraint CASCADE and SET NULL action processing. (check-in: 8c5dd6cc user: dan tags: trunk)
14:38
Fix some comments in fkey.c. Add tests to fkey8.test. (Closed-Leaf check-in: 210cb2a6 user: dan tags: experimental-fk-actions)
2014-12-16
20:13
Experimental opimizations to speed up FK constraint CASCADE and SET NULL action processing. Requires further testing. (check-in: 35a20a5f user: dan tags: experimental-fk-actions)
12:46
Fix the e_walauto.test script so that it works on windows. (check-in: 7d092ebb user: drh tags: trunk)
01:05
Merge threading fixes from trunk into the sessions branch. (check-in: 9817a286 user: drh tags: sessions)
00:29
Merge latest fixes and enhancements from trunk into apple-osx. (check-in: 2c1d8dda user: drh tags: apple-osx)
00:20
Enhanced "stress2" testing in the threadtest3.c test program. (check-in: ae43539e user: drh tags: trunk)
00:08
Make sure the sqlite3BtreeCount() routine does not leave index cursors in an inconsistent state, as doing so might result in an assertion fault inside of sqlite3BtreeKey() called from saveAllCursors() if content is deleted out from under the statement that issued the sqlite3BtreeCount() call. (check-in: 5b1b6970 user: drh tags: trunk)
2014-12-15
20:49
Changes to threadtest3 so that "stress2" is more similar to the SDS stress test. (Closed-Leaf check-in: 5648af96 user: dan tags: threadtest3)
16:27
Add new test file e_walauto.test. (check-in: 62ef4514 user: dan tags: trunk)
08:46
Fix errors in threadtest3 tests caused by earlier tests neglecting to close database handles. (check-in: 1d44f1b1 user: dan tags: trunk)
2014-12-13
17:41
Further enhancements to threadtest3 stress tests. (check-in: ba772cff user: dan tags: trunk)
2014-12-12
23:17
Add extra tests to threadtest4.c. Fix a benign data race accessing the text encoding using ENC(db). (check-in: d7bb7ea4 user: drh tags: trunk)
16:39
Add extra tests to threadtest3. (check-in: f6bf86f9 user: dan tags: trunk)
01:27
Add new tests to the threadtest4.c program. Fix a long-standing data race in WAL mode for shared-cache. (check-in: d8d3e6d0 user: drh tags: trunk)
00:52
Remove the KeyInfo cache (for now - perhaps we will add it back in later - or maybe not since it provides negligible benefit but adds a lot of complexity and thread-safety risk). Add a mutex to ATTACH to deal with a data race. (check-in: 03c443ea user: drh tags: trunk)
00:40
Make sure the Btree mutex is held when setting the locking mode and the secure delete flag when attaching a shared-cache database. (Closed-Leaf check-in: 6bef7ede user: drh tags: threadtest4)
00:26
Merge the cell overflow page number cache thread race fix from trunk. (check-in: cefad47e user: drh tags: threadtest4)
00:20
Fix a bug in the threadtest4.c program. Remove the keyinfo cache as it provides minimal performance improvements, and then only at SQL preparation time, not at runtime, and it has problems with data races in shared-cache mode. We might later add the keyinfo cache back but only enable it when shared-cache mode is off. (check-in: b7489f94 user: drh tags: threadtest4)
2014-12-11
19:29
Add the threadtest4.c test program. Not yet working. (check-in: ec3a7446 user: drh tags: threadtest4)
16:38
Fix a race condition to do with very large index keys in shared-cache mode. (check-in: fc157dd7 user: dan tags: trunk)
15:27
Fix a typo in the documentation for sqlite3_threadsafe(). (check-in: 258e747b user: drh tags: trunk)
04:49
Update a comment. (check-in: e0e102a0 user: mistachkin tags: asciiMode)
03:29
Rename a structure member to improve code clarity. (check-in: d48eda16 user: mistachkin tags: asciiMode)
03:25
Remove an unused structure member. (check-in: d8404340 user: mistachkin tags: asciiMode)
03:20
Further simplify shell mode changes. (check-in: cf9c6e7e user: mistachkin tags: asciiMode)
03:12
Simplify and cleanup the implementation of the new ASCII mode for the shell. (check-in: 66a28f7a user: mistachkin tags: asciiMode)
02:28
Merge updates from trunk. (check-in: 5b5d3e4d user: mistachkin tags: asciiMode)
2014-12-10
20:57
Fix a typo causing a test error in e_walhook.test. (check-in: d9f916ba user: dan tags: trunk)
20:29
Add new test file e_walhook.test. (check-in: 2eb6d3e4 user: dan tags: trunk)
17:34
Revise mutex handling by the sqlite3_win32_reset_heap() function. (check-in: eacb3b7b user: mistachkin tags: trunk)
04:58
Fix typos in the documentation for sqlite3_table_column_metadata(). No changes to code. (check-in: 3528f8dd user: drh tags: trunk)
2014-12-09
22:24
Fix the sqlite3_table_column_metadata() routine so that it gives the correct answer for the "rowid" column in a WITHOUT ROWID table. Enhance it so that it can be used to check for the existence of a table by setting the column name parameter to NULL. The routine is now included in the build by default, even without the SQLITE_ENABLE_COLUMN_METADATA compile-time option. (check-in: cf9be419 user: drh tags: trunk)
20:13
Add extra tests to e_walckpt.test. (check-in: 84f95810 user: dan tags: trunk)
19:16
Lower the default SQLITE_SORTER_PMASZ value back to 10, where it has been for the past couple of releases. Applications that need a larger value can set one. (check-in: 1ba8911c user: drh tags: trunk)
19:07
Make the sqlite3_table_column_metadata() interface available by default and without requiring the SQLITE_ENABLE_COLUMN_METADATA compile-time option. Other sqlite3_column_* interfaces that have a run-time penalty even if they are unused still require the SQLITE_ENABLE_COLUMN_METADATA option at compile-time. (check-in: 4f7549ff user: drh tags: trunk)
15:12
Add the SQLITE_REVERSE_UNORDERED_SELECTS compile-time option that causes the "PRAGMA reverse_unordered_selects" setting to be on by default. (check-in: 75a803e6 user: drh tags: trunk)
15:01
Increase the default PMA size from 10 to 250 pages and provide the SQLITE_SORTER_PMASZ compile-time option to change this default. Add needed mutex call when clearing the KeyInfo cache in shared-cache mode. (check-in: 6e2da589 user: drh tags: apple-osx)
14:54
Merge the KeyInfo cache mutex fix from trunk. (check-in: f0940c73 user: drh tags: sessions)
14:42
Increase the default minimum PMA size for multi-threaded sorting from 10x the page size to 250x the page size. Provide the SQLITE_SORTER_PMASZ compile-time option to change this default. (check-in: b05340fe user: drh tags: trunk)
04:26
Fix harmless compiler warning. (check-in: e97b7a8b user: mistachkin tags: trunk)
01:34
Version 3.8.7.4 (Leaf check-in: f66f7a17 user: drh tags: release, version-3.8.7.4, branch-3.8.7)
2014-12-08
20:29
Add extra tests to e_walckpt.test. (check-in: d6832aa2 user: dan tags: trunk)
20:23
Add missing mutex calls around a call to sqlite3SchemaGet() within sqlite3_open(). (check-in: 266b3441 user: dan tags: branch-3.8.7)
20:20
Add missing mutex calls around a call to sqlite3SchemaGet() within sqlite3_open(). (check-in: 45415899 user: dan tags: trunk)
18:08
Add a missing mutex around calls to clear the KeyInfo cache when closing a database connection. (check-in: 7047ce32 user: drh tags: trunk)
18:02
Increase the version number to 3.8.7.4. (check-in: 33c90027 user: drh tags: branch-3.8.7)
17:45
Add a missing mutex around calls to clear the KeyInfo cache when closing a database connection. (check-in: 3ddc7e4c user: drh tags: branch-3.8.7)
07:50
Update this branch with latest trunk changes. (check-in: 69a312ad user: dan tags: ota-update)
07:28
Update comments in sqlite3ota.h to remove the "must have PRIMARY KEY" restriction. (check-in: 088a41eb user: dan tags: ota-update)
07:22
Extra tests for the ota_rowid column. (check-in: 46069393 user: dan tags: ota-update)
2014-12-06
19:30
Allow the ota extension to write to tables with no PRIMARY KEY declaration. (check-in: ba59a7e2 user: dan tags: ota-update)
14:56
Avoid accessing a single uninitialized byte when moving a rare 3-byte cell from an internal page to a leaf. This was not actually causing a problem, just a valgrind warning. (check-in: 6aeece19 user: dan tags: trunk)
02:05
Fix a (harmless) uninitialized variable reference in b-tree balancing for auto-vacuumed tables with overflow pages. (check-in: dd1dd445 user: drh tags: trunk)
2014-12-05
22:29
Version 3.8.7.3 (check-in: 647e77e8 user: drh tags: release, version-3.8.7.3, branch-3.8.7)
21:18
Avoid a potential NULL pointer deference in the sqlite3_stmt_scanstatus() logic. (check-in: 42d44adc user: drh tags: trunk)
21:04
Fix a buffer overread that might occur in analyze.c if SQLITE_ENABLE_STAT4 was defined. (check-in: c1ae1268 user: dan tags: trunk)
20:46
Add new test file e_walckpt.test. Still some tests to come. (check-in: e4db3db3 user: dan tags: trunk)
20:43
Fix a buffer overread that might occur in analyze.c if SQLITE_ENABLE_STAT4 was defined. (check-in: 194c90db user: dan tags: branch-3.8.7)
20:16
Merge the shared-cache KeyInfo fix from trunk. (check-in: 8a9b43f9 user: drh tags: apple-osx)
20:05
Merge the fix for the shared-cache KeyInfo cache bug from trunk. (check-in: 5a73da6a user: drh tags: sessions)
19:50
Make sure the WhereTerm objects are fully zeroed when they are allocated. (check-in: fdb66733 user: drh tags: trunk)
15:31
The KeyInfo cache must be cleared before closing the btree, not after. Revised fix for ticket [e4a18565a36884b00edf]. (check-in: 7ed3346e user: drh tags: trunk)
15:25
The KeyInfo cache must be cleared before closing the btree, not after. Revised fix for ticket [e4a18565a36884b00edf]. (check-in: 48529508 user: drh tags: branch-3.8.7)
14:54
Increase the version number to 3.8.7.3. (check-in: 9f7560bc user: drh tags: branch-3.8.7)
14:51
When closing a (shared-cache) database connection, be sure to clear out all KeyInfo objects cached on Index objects. Fix for ticket [e4a18565a36884b00edf]. (check-in: b7905b8c user: drh tags: branch-3.8.7)
14:44
When closing a (shared-cache) database connection, be sure to clear out all KeyInfo objects cached on Index objects. Fix for ticket [e4a18565a36884b00edf]. (check-in: adca7688 user: drh tags: trunk)
14:36
Add code to check the validity of CollSeq objects during runtime. This code was not able to detect anomalies such as came up as a result of ticket [e4a18565a36884b00edf66541f38c693827968ab] so it is put into a branch for historical reference, with the intent of leaving it out of trunk. (Closed-Leaf check-in: 68b23c3d user: drh tags: collseq-checking)
14:34
Improved comment on the sharedB.test test script. (Closed-Leaf check-in: 71f589e3 user: drh tags: fix-stale-keyinfo-cache)
14:07
Test case demonstrating the problem described by ticket [e4a18565a36884b00edf]. (check-in: ffea3e90 user: drh tags: fix-stale-keyinfo-cache)
05:38
When closing a (shared-cache) database connection, be sure to clear out all KeyInfo objects cached on Index objects. Proposed fix for ticket [e4a18565a36884b00edf]. (check-in: 651ed97d user: drh tags: fix-stale-keyinfo-cache)
00:49
Import compiler warning and autoconf makefile fixes from trunk. (check-in: 5437e053 user: drh tags: apple-osx)
00:41
Import from trunk the fix the "test" target on the autoconf and MSVC makefiles and some minor compiler warning fixes. (check-in: c9f20eb2 user: drh tags: sessions)
00:32
Fix compiler warnings. (check-in: e9955c0e user: drh tags: trunk)
00:17
Fix the autoconf and MSVC makefiles, which have been broken for nearly a month. :-( (check-in: 520c2b83 user: drh tags: trunk)
2014-12-04
23:42
Import from trunk support for SQLITE_CHECKPOINT_TRUNCATE and fixes for a couple of obscure bugs. (check-in: 463ad971 user: drh tags: apple-osx)
23:35
Incorporate the SQLITE_CHECKPOINT_TRUNCATE enhancement and a couple of obscure bug fixes from trunk. (check-in: 34ffa3b3 user: drh tags: sessions)
21:54
Make sure that a DISTINCT query with an ORDER BY works correctly even if it uses a descending index. Fix for ticket [c5ea805691bfc4204b1cb9e]. (check-in: 0d3aef97 user: drh tags: trunk)
20:24
Performance enhancement for single-table queries with many OR-connected WHERE clause terms and multiple indexes with the same left-most columns. (check-in: 1461d543 user: drh tags: trunk)
16:29
If a table is the right operand of a LEFT JOIN, then any column of that table can be NULL even if that column has a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. (check-in: 5a80957b user: drh tags: branch-3.8.7)
16:27
If a table is the right operand of a LEFT JOIN, then any column of that table can be NULL even if that column has a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. (check-in: 6f6fcbe4 user: drh tags: trunk)
15:02
Clarification of the meaning of the second parameter to the busy-handler callback. No changes to code. (check-in: 1e2bc484 user: drh tags: trunk)
14:01
Fix comment typos reported on the mailing list. No changes to code. (check-in: 93a71c9f user: drh tags: trunk)
04:50
Add an implementation mark and fix a comment describing the OP_Checkpoint opcode. (check-in: 7475b90c user: drh tags: trunk)
2014-12-03
19:25
Add evidence marks and assert()s used as evidence for checkpoint requirements. (check-in: b2da8afc user: drh tags: trunk)
19:08
Fix over-length comment lines in sqlite.h.in. No changes to code. (check-in: cbd357fd user: drh tags: trunk)
18:32
Simplify the sqlite3_wal_checkpoint() documentation. Add some source code evidence marks. (check-in: 026c44ff user: drh tags: trunk)
16:30
Futher tweaks to the sqlite3_wal_checkpoint_v2() documentation. (check-in: 7d284d04 user: drh tags: trunk)
15:50
Updates to the documentation for sqlite3_wal_checkpoint_v2() and related interfaces, including adding many requirements marks. (check-in: 1e212d98 user: drh tags: trunk)
2014-12-02
20:51
Add support for SQLITE_CHECKPOINT_TRUNCATE. (check-in: edda2b9e user: drh tags: trunk)
19:35
When attempting to restart a wal file, make any required calls to sqlite3_randomness() before waiting on or checking for wal file readers. This restores the behaviour exhibited by the trunk. (Closed-Leaf check-in: 6ee08769 user: dan tags: checkpoint-truncate)
19:04
Add the SQLITE_CHECKPOINT_TRUNCATE option. (check-in: 8e20a434 user: dan tags: checkpoint-truncate)
16:38
Merge all recent enhancements and bug fixes from trunk into the apple-osx branch. (check-in: 43c4ba26 user: drh tags: apple-osx)
16:31
Merge all recent fixes and enhancements from trunk into sessions. (check-in: 2617d937 user: drh tags: sessions)
16:16
Convert two unreachable branches into assert() statements. (check-in: 61b31e77 user: drh tags: trunk)
13:46
Work around overzealous NULL pointer checking in memcpy() and memset() for some systems. (check-in: 0d04f380 user: drh tags: trunk)
2014-11-28
13:35
Remove the ill-designed "-end" option from the command-line shell. Instead, allow multiple SQL or dot-commands as command-line arguments. Any -cmd commands are processed first, followed by other command-line arguments, for backwards compatibility. (check-in: 24fa2e98 user: drh tags: trunk)
11:54
Add the -end option to the command-line shell, which forces it to exit after reading prior command-line options (presumably including one or more -cmd options) and without reading standard input. (check-in: b59397b1 user: drh tags: trunk)
2014-11-27
18:09
Update ota so that the hidden columns of virtual tables may be written. (check-in: ccee9996 user: dan tags: ota-update)
11:36
Fix a buffer overread during compilation of CREATE VIRTUAL TABLE statements that featured an explicit database name but no virtual table arguments. For example, "CREATE VIRTUAL TABLE main.ft USING fts4". (check-in: f095cde5 user: dan tags: trunk)
04:23
More test cases for the balancer. (check-in: 358ea818 user: drh tags: trunk)
03:46
Fix a problem in the new b-tree balancer that was causing corruption of the fragmentation count. (check-in: f242394e user: drh tags: trunk)
2014-11-25
18:59
Fix an integer overflow bug in vdbesort.c. (check-in: 62382719 user: dan tags: trunk)
2014-11-22
21:37
Always reinitialized the Index.bUnordered and Index.noSkipscan flags before rereading the sqlite_stat1 table, even if SQLITE_ENABLE_STAT4 is defined. (check-in: 1e1221fc user: drh tags: trunk)
19:52
Fix an error in the comments from the previous check-in. (check-in: 9660ce54 user: drh tags: trunk)
18:50
Deploy heuristics (well-commented) to better estimate how much unindexed terms in the WHERE clause filter the number of output rows from a single table. (check-in: 22165994 user: drh tags: trunk)
16:14
Unintentional edits mistakenly checked in. Was: Remove an obsolete and incorrect comment from the whereLoopOutputAdjust() routine in the query planner. No changes to working code. (Closed-Leaf check-in: e1f893c6 user: drh tags: mistake)
12:22
Remove a redundant test case (probably a copy/paste error). Add an assert() to where.c to ensure that automatic indexes do not have there output row counts adjusted downward by supplementary constraints. (check-in: eea47933 user: drh tags: trunk)
09:09
Add SQLITE_ENABLE_OTA pre-processor directives so that this branch may be compiled with or without OTA. (check-in: 600cefdd user: dan tags: ota-update)
2014-11-21
14:37
Merge latest trunk changes with this branch. (check-in: 7ef44c5b user: dan tags: ota-update)
11:22
Changes to comments in sqlite3ota.h. (check-in: 14139542 user: dan tags: ota-update)
10:46
Add support for updating virtual tables via ota. (check-in: 4dfcfe54 user: dan tags: ota-update)
2014-11-20
23:21
Fix a typo in a requirements mark on the abs() SQL function. (check-in: b1e6c02f user: drh tags: trunk)
23:11
Fix a benign test error on PRAGMA collation_list introduced by a recent checkin. (check-in: 332cc959 user: drh tags: trunk)
23:03
Updates to requirements tags on the mutex documentation. (check-in: fcf8b7e4 user: drh tags: trunk)
19:22
Add requirements marks on the built-in collating functions. (check-in: 4b608b62 user: drh tags: trunk)
19:19
Add the "ota_delta()" feature for delta-compressed updates. (check-in: c64dcd17 user: dan tags: ota-update)
17:37
Update the ota extension so that it can be used to update tables with external PRIMARY KEY indexes. (check-in: 55066a11 user: dan tags: ota-update)
15:30
Ensure that when the number of cells on a page drops to zero that the freelist and fragment counter are both cleared. Also add evidence marks corresponding to file-format documentation. (check-in: ef9fbc08 user: drh tags: trunk)
15:11
Updates to support zipvfs in pass-through mode. (check-in: 556c3de5 user: dan tags: ota-update)
02:58
Fix the encoding of some integers to use the minimum amount of space: -128, -32768, -8388608, -217483648, and -140737488355328. (check-in: 2d7c8da5 user: drh tags: trunk)
02:18
Add some requirements marks to the record formatting logic. Comment changes only - the code is unaltered. (check-in: 9a9627e1 user: drh tags: trunk)
2014-11-19
16:36
Add new requirements marks associated with the file format documentation. No changes to code. (check-in: 6d00bcca user: drh tags: trunk)
14:31
Completely remove an assert() that had previously been commented out. (check-in: 89b3c1c4 user: drh tags: trunk)
14:05
Add an ALWAYS on an always-true branch in wal.c. Fix the ANALYZE command so that it resets the "unordered" and "noskipscan" flags on indices when reloading the sqlite_stat1 table. (check-in: 9ed97a85 user: drh tags: trunk)
2014-11-18
21:54
Adding the "noskipscan" token to an sqlite_stat1.stat field prevents an index for being used with the skip-scan algorithm. (check-in: 4461bf04 user: drh tags: trunk)
21:45
Allow an automatic index to be used if the only uses of declared indexes for the same loop use the skip-scan algorithm. (check-in: c52f7971 user: drh tags: trunk)
21:27
Merge recent trunk enhancements. (check-in: ccb601f6 user: drh tags: apple-osx)
21:20
Merge recent trunk enhancements, including the read-after-ROLLBACK change and the addition of sqlite3_stmt_scanstatus() support, as well as various minor bug fixes. (check-in: f09055f3 user: drh tags: sessions)
20:57
Version 3.8.7.2. (check-in: 2ab564bf user: drh tags: release, version-3.8.7.2, branch-3.8.7)
20:49
Merge in all the other ROLLBACK fixes from the branch-3.8.7 branch. I don't know why I was doing them one-by-one. (check-in: 296b0c73 user: drh tags: trunk)
20:22
Fix a bug in the sqlite3TripAllCursors() routine that prevents it from reporting errors. It is unknown at this time whether or not this omission can result in any incorrect result in an actual query. (check-in: 2896f264 user: drh tags: trunk)
20:16
Update a couple of test cases to account for the fact that ROLLBACK does not always abort all running SELECT statements. (check-in: abccda76 user: drh tags: trunk)
12:28
Increment the version number to 3.8.7.2 (check-in: 945a9e68 user: drh tags: branch-3.8.7)
02:44
Add an ALWAYS() to an always-true conditional in the WAL rollback logic. (check-in: c5eae8a6 user: drh tags: branch-3.8.7)
2014-11-17
20:33
Remove code from sqlite3BtreeKeySize() made unreachable by the previous check-in. (check-in: 57c4aa98 user: drh tags: branch-3.8.7)
19:44
Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state. Cherrypick of [54e7d3fcb1]. (check-in: 2f2ecb99 user: dan tags: branch-3.8.7)
19:42
Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state. (check-in: 54e7d3fc user: dan tags: trunk)
19:25
Improved comments on the BtCursor.skipNext field. No changes to code. (check-in: e956e7db user: drh tags: branch-3.8.7)
18:35
Add tests for WITHOUT ROWID tables with composite primary keys. (check-in: 712d413d user: dan tags: ota-update)
17:57
Changes so that sqlite3_ckpt_open() works with zipvfs databases. (check-in: acbed338 user: dan tags: ota-update)
17:13
When a SELECT statement is terminated by a ROLLBACK TO operation, make the error message be "abort due to ROLLBACK" rather than "callback requested query abort". (check-in: 34fc4a08 user: drh tags: branch-3.8.7)
15:32
Fix a bug in the sqlite3TripAllCursors() routine that prevents it from reporting errors. It is unknown at this time whether or not this omission can result in any incorrect result in an actual query. (check-in: 42588207 user: drh tags: branch-3.8.7)
15:22
Update a couple of test cases to account for the fact that ROLLBACK does not always abort all running SELECT statements. (check-in: eba171e9 user: dan tags: branch-3.8.7)
15:07
Fix a problem with the parameters to an OP_Affinity in one of the VM programs generated by sqlite3_index_writer() that was causing an OOB read. (check-in: 447b33b3 user: dan tags: ota-update)
2014-11-15
19:08
Adding the "noskipscan" token to an sqlite_stat1.stat field prevents an index for being used with the skip-scan algorithm. (Closed-Leaf check-in: 00fe0950 user: drh tags: noskipscan-token)
2014-11-14
19:34
Consider using an automatic-index for a scan even if there exists a possible skip-scan that uses one or more "=" operators. (Closed-Leaf check-in: 93642a65 user: dan tags: experimental-autoindex-fix)
15:42
Do not automatically remove the DISTINCT keyword from "a IN (SELECT DISTINCT ...)" expressions. Fix for [db87229497]. (check-in: 98457a57 user: drh tags: branch-3.8.7)
15:28
Do not automatically remove the DISTINCT keyword from "a IN (SELECT DISTINCT ...)" expressions. Fix for [db87229497]. (check-in: 55e453aa user: dan tags: trunk)
2014-11-13
14:30
Modify the documentation for sqlite3_backup_init() to indicate that it will fail if there is already a read or read-write transaction open on the destination database. (check-in: ef03a203 user: dan tags: trunk)
14:18
Have calls to sqlite3_backup_init() fail if there is already a read or read-write transaction open on the destination database. (check-in: 169b5505 user: dan tags: trunk)
13:42
When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. Cherry-pick of check-in [dd03a2802f3f27] (check-in: 402780a9 user: drh tags: branch-3.8.7)
2014-11-12
17:45
Add further tests for rollback operations in the presence of ongoing selects. (check-in: eaf3aae0 user: dan tags: trunk)
14:56
When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. (check-in: dd03a280 user: dan tags: trunk)
14:12
Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (check-in: 839a6df9 user: drh tags: branch-3.8.7)
14:07
Make sure that NULL results from OP_Column are fully and completely NULL and do not have the MEM_Ephem bit set. Fix for ticket [094d39a4c95ee4]. (check-in: e1017745 user: drh tags: branch-3.8.7)
2014-11-11
22:55
Enhance ROLLBACK so that pending queries are allowed to continue as long as the schema does not change. This is a cherry-pick of check-in [b5df5ac052]. (check-in: d4b2d5d0 user: drh tags: branch-3.8.7)
19:07
Remove some calls to the 'breakpoint' test command. (check-in: 1412fcc4 user: mistachkin tags: trunk)
16:11
Add tests for sqlite3_blob_bytes(). (check-in: a066a383 user: dan tags: trunk)
14:59
Permit read operations to continue after a ROLLBACK as long as the schema does not change. (check-in: b5df5ac0 user: drh tags: trunk)
12:20
Add new test file e_blobclose.test, containing tests for sqlite3_blob_close(). (check-in: 5a1eac24 user: dan tags: trunk)
01:33
Experimental changes that permit read operations to continue after a ROLLBACK, as long as the schema is unchanged. (Closed-Leaf check-in: fa6e6a9a user: drh tags: read-after-rollback)
2014-11-10
19:16
New test cases for deleting content out from under a SELECT statement. (check-in: 8289c3e9 user: drh tags: trunk)
17:53
Add test file e_blobwrite.test, containing tests for the sqlite3_blob_write() interface. (check-in: 1df77e5f user: dan tags: trunk)
16:49
Add the eval() SQL function extension in ext/misc/eval.c. (check-in: 27cf665b user: drh tags: trunk)
14:42
Shorten over-length source code lines in shell.c. (check-in: 7f3819f6 user: drh tags: trunk)
2014-11-07
14:41
Add new test file e_blobopen.test, containing tests for sqlite3_blob_open(). (check-in: ecbccd0e user: dan tags: trunk)
14:37
Fix another harmless comment typo. (check-in: b45bc80b user: drh tags: trunk)
13:52
In the ".scanstats on" output from the shell, round the estRows value to the nearest integer, rather than rounding toward zero. (check-in: 57005085 user: drh tags: trunk)
13:24
Fix harmless typos in comments. (check-in: 94c564da user: drh tags: trunk)
11:39
Fix typo in sqlite3.h reported on the mailing list. (check-in: 40270321 user: drh tags: trunk)
01:43
Update documentation on sqlite3_config() and add corresponding evidence marks. (check-in: 360c8ca1 user: drh tags: trunk)
2014-11-06
14:43
Added SQLITE_SCANSTAT_SELECTID. Change the value returned by SQLITE_SCANSTAT_EST from sqlite3_int64 to double. Enhanced the formatting and display of scan statistics using the ".scanstats on" command in the shell. (check-in: 20c7614a user: drh tags: trunk)
12:46
Further improvements to the ".scanstats on" display in the shell. Be sure to show the results of all subqueries even if there are gaps in the SELECTID values. Add ".scanstats" to the ".help" output. (Closed-Leaf check-in: ee922682 user: drh tags: scanstatus)
12:17
On the ".scanstats on" output in the shell, initialize the estimated count for the first loop of each subquery to the actual loop count. (check-in: d1c51c84 user: drh tags: scanstatus)
12:08
Changes the formatting of ".scanstats on" in the shell so that the stats for subqueries are grouped together and occur after the main query. (check-in: eacbbd88 user: drh tags: scanstatus)
04:42
Add the SQLITE_SCANSTAT_SELECTID metric. Use it to improve the ".stmtscan on" output in the shell. (check-in: 64ad5761 user: drh tags: scanstatus)
03:55
Change the SQLITE_SCANSTAT_EST parameter so that it returns a double for the estimated number of output rows per loop, rather than a 64-bit integer. Revise the output format for the ".scanstats on" in the shell to make use of this new capability. (check-in: f9684000 user: drh tags: scanstatus)
2014-11-05
21:34
Fixes to the Windows VFS to allow memory mapped files to work without WAL support. (check-in: 272fddc1 user: drh tags: trunk)
21:21
Fix harmless compiler warnings in the new balance_nonroot() routine. (check-in: 83a1e5db user: drh tags: trunk)
19:26
Change the query planner to do a better job of estimating the number rows selected by a BETWEEN operator using STAT4 when both upper and lower bounds are contained within the same sample. (check-in: 2d36be5d user: drh tags: trunk)
15:57
Make sure that NULL results from OP_Column are fully and completely NULL and do not have the MEM_Ephem bit set. Fix for ticket [094d39a4c95ee4]. (check-in: 42705fd7 user: drh tags: trunk)
14:19
Add a test case to check that the previous commit is effective. (check-in: 948d6e5d user: dan tags: trunk)
13:13
Enhance whereLoopCheaperProperSubset(X,Y) so that it does not report true if X uses skip-scan less than Y, since in that case X might deserve to be cheaper even if it is a proper subset. (check-in: c106b755 user: drh tags: trunk)
09:07
Add the ".scanstats on" command to the shell tool. Executing this command causes the shell tool to print values from sqlite3_stmt_scanstatus() after each query is run. (check-in: 7974c0ed user: dan tags: trunk)
2014-11-04
21:38
Improved output formatting for the showstat4 tool. (check-in: 7df82c46 user: drh tags: trunk)
19:52
Skip tests that require WAL mode when it is not enabled. (Closed-Leaf check-in: 6fc4ead2 user: mistachkin tags: winMmapNoWal)
19:37
For the Win32 VFS, allow memory mapped files to work when compiled without WAL support. (check-in: 1fc7e2f3 user: mistachkin tags: winMmapNoWal)
17:23
Add various requirements evidence marks for sqlite3_config() options. (check-in: d423349d user: drh tags: trunk)
14:22
Change the definition of SQLITE_CONFIG_SCRATCH so that at most one scratch buffer is used per thread. Use the generic heap memory allocator for the WalIterator object when running a checkpoint. (check-in: 391c9b85 user: drh tags: trunk)
13:41
Improved documentation and addition of source-code evidence marks for the sqlite3_config() interface. (check-in: 681031a4 user: drh tags: trunk)
12:11
Add the SQLITE_CONFIG_PCACHE_HDRSZ option for sqlite3_config(). (check-in: 6eb03e62 user: drh tags: trunk)
2014-11-03
18:03
Updates to the sqlite3_stmt_scanstatus() documentation. No changes to code. (check-in: d97c324e user: drh tags: trunk)
16:56
Add the experimental sqlite3_stmt_scanstatus() API. For comparing the number of rows actually visited by a loop with the estimate used by the query planner. (check-in: ab3b0fc5 user: dan tags: trunk)
16:39
Fix a typo preventing this from building with SQLITE_ENABLE_STMT_SCANSTATUS defined. (Closed-Leaf check-in: 4c5714ab user: dan tags: scanstatus)
16:35
Refactor the interface to make it more easily extensible. (check-in: 7955342d user: drh tags: scanstatus)
15:33
Add further tests. Fixes so that compilation without ENABLE_STMT_SCANSTATUS works. (check-in: a2303c71 user: dan tags: scanstatus)
14:46
Use exponential buffer size growth in StrAccum, as long as the size does not grow to large, to avoid excess memory allocation resize operations. Also, document the fact that setting scratch memory causes SQLite to try to avoid large memory allocations. (check-in: a518bc33 user: drh tags: trunk)
13:24
When enlarging the size of a StrAccum object, use sqlite3DbMallocSize() to record the entire size of the allocation, not just the requested size. (check-in: 3dda3c93 user: drh tags: trunk)
11:25
Remove unused variable from struct WhereInfo. Add some explanatory comments to new code. (check-in: f5313e0c user: dan tags: scanstatus)
2014-11-01
21:00
Minor performance enhancements to SQLITE_ENABLE_STMT_SCANSTATUS code. (check-in: f13d6ba8 user: dan tags: scanstatus)
20:38
If SQLITE_ENABLE_STMT_SCANSTATUS is defined, record the number of times each VDBE opcode is executed. Derive the values returned by sqlite3_stmt_scanstatus() from these records on demand. (check-in: 9ea37422 user: dan tags: scanstatus)
18:32
Add requirements marks and make minor tweaks to documentation. (check-in: 49188b2b user: drh tags: trunk)
18:08
Minor fixes and documentation improvements for sqlite3_stmt_scanstatus(). (check-in: 8d8cc960 user: dan tags: scanstatus)
2014-10-31
20:11
Add the experimental sqlite3_stmt_scanstatus() API. (check-in: 6a9bab34 user: dan tags: scanstatus)
15:20
Merge all recent trunk enhancements into the apple-osx branch. (check-in: fef8430f user: drh tags: apple-osx)
14:53
Merge recent trunk enhancements, and in particular the improvements to the b-tree balancing logic, into the sessions branch. (check-in: 28b044a5 user: drh tags: sessions)
14:46
Change the command-line shell man-page to use the ".tr" troff directive instead of ".cc" for escaping the initial "." characters in the ".help" output. (check-in: 67f0d469 user: drh tags: trunk)
14:26
Simplify the logic in the cell redistribution loop of balance_nonroot(). Enhance and clarify comments and add assert() statements for additional verification of correctness. (check-in: a07078b6 user: drh tags: trunk)
12:22
Simplify the math slightly, and reduce by one the number of loop iterations, for the loop in balance_nonroot() that moves cells between pages. (check-in: 2e838db8 user: drh tags: trunk)
10:31
Add the "varint.c" utility program in the tool directory. (check-in: ea5d56be user: drh tags: trunk)
02:51
Remove an unnecessary branch from balance_nonroot(). (check-in: 9fc7c88e user: drh tags: trunk)
00:05
In the balance_nonroot() routine, protect the values in aPgno[] array from change during the page sort, so that aPgno[] can be used to avoid unnecessary pointer-map updates for auto_vacuum databases. (check-in: 69c3924f user: drh tags: trunk)
2014-10-30
23:14
Improvements to the wording of some comments. Reinstate an assert() that is only true for non-corrupt database files by adding an "|| CORRUPT_DB" term. (check-in: 67adb448 user: drh tags: trunk)
20:48
Tweaks to comments in btree.c. Minor code changes to enhance testability. (check-in: c7d9aa3a user: drh tags: trunk)
2014-10-29
18:20
Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (check-in: 08a27440 user: drh tags: trunk)
13:59
Version 3.8.7.1 (check-in: 3b7b72c4 user: drh tags: release, version-3.8.7.1, branch-3.8.7)
01:27
Increase the version number to 3.8.7.1 (check-in: 83afe23e user: drh tags: branch-3.8.7)
01:26
Fix problems with running UPDATE and DELETE against a VIEW and referencing the rowid in the WHERE clause. This is a cherrypick of [95f8ebdbf87326f2] and [8523670d50004f3]. (check-in: cc33e846 user: drh tags: branch-3.8.7)
01:18
Disable the use of strchrnul() unless specifically enabled by compile-time options. Cherrypick of check-in [e580470db77d6da9] (check-in: 837368ad user: drh tags: branch-3.8.7)
01:13
In the OP_Column opcode, when extracting a field that is past the end of a short record (because the row was originally inserted prior to ALTER TABLE ADD COLUMN) then make sure the output register is fully NULL and does not contain leftover flags (such as MEM_Ephem) from its previous use. Fix for ticket [43107840f1c02]. This is a cherrypick of check-in [24780f8ddc1683fc]. (check-in: 304ea6ba user: drh tags: branch-3.8.7)
01:07
Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. This is a cherrypick of [3e922208b68563489]. (check-in: a8f9bd1e user: drh tags: branch-3.8.7)
00:58
In the OP_Column opcode, when extracting a field that is past the end of a short record (because the row was originally inserted prior to ALTER TABLE ADD COLUMN) then make sure the output register is fully NULL and does not contain leftover flags (such as MEM_Ephem) from its previous use. Fix for ticket [43107840f1c02]. (check-in: 24780f8d user: drh tags: trunk)
2014-10-28
20:49
Add new test file e_totalchanges.test, containing tests of the sqlite3_total_changes() interface. (check-in: f84af4ad user: dan tags: trunk)
20:35
Update the documentation on the sqlite3_randomness() interface to conform to enhancements associated with the SQLITE_ENABLE_API_ARMOR change. (check-in: 96e9917c user: drh tags: trunk)
18:24
Modify the documentation for sqlite3_changes() to make it more testable. Add tests and minor fixes for the same. (check-in: 41cdd0c4 user: dan tags: trunk)
16:50
Fix a crash that could occur if the WHERE clause of an UPDATE statement on a view that does not feature a column named "rowid" contains a term such as "rowid=?". (check-in: 8523670d user: dan tags: trunk)
16:19
Fix a faulty assert() in the DELETE code generator. (check-in: 95f8ebdb user: drh tags: trunk)
15:58
Trivial simplification to the automatic index logic. (check-in: 23073a05 user: drh tags: trunk)
12:35
Bump the version number to 3.8.8 (check-in: 1a7e711e user: drh tags: trunk)
00:56
Correct the documentation on the maximum size of a scratch allocation. (check-in: 30f86eb3 user: drh tags: trunk)
2014-10-27
22:06
Add special handling for static mutexes in sqlite3_mutex_alloc() when automatic calls to sqlite3_initialize() are enabled. (check-in: 7857d27c user: mistachkin tags: trunk)
20:14
Remove a small amount of unnecessary #ifdeffery from random.c. (check-in: 2b9340c8 user: drh tags: trunk)
19:58
Fix compilation issue with MSVC due to a misplaced variable declaration. (check-in: 9588b345 user: mistachkin tags: trunk)
19:42
Fix harmless compiler warning in an assert statement. (check-in: d33a1ff3 user: mistachkin tags: trunk)
19:39
Fix a typo in the macro name of an #ifdef (check-in: 9646a136 user: drh tags: trunk)
18:42
Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. (check-in: 10aaf3b1 user: drh tags: apple-osx)
18:34
Add the SQLITE_ENABLE_API_ARMOR compile-time option for extra API parameter validation. Enhance sqlite3_stricmp(), sqlite3_strnicmp(), and sqlite3_uri_parameter() for improved NULL parameter handling. (check-in: ffb9d814 user: drh tags: trunk)
18:21
Fix an unused variable in btree.c:allocateSpace(). (check-in: 63724616 user: drh tags: trunk)
14:26
Optimizations aimed at reducing the number of memcpy() operations required by balance_nonroot(). (check-in: face33be user: dan tags: trunk)
11:25
Add test file e_wal.test. (check-in: fc6920b5 user: dan tags: trunk)
08:02
If a free-slot is found within a page, but using that free-slot would fragment the page further and there are already at least 60 fragmented bytes, degragment the page. This matches the behaviour of the trunk. (Closed-Leaf check-in: 1f80f8c1 user: dan tags: defrag-opt)
07:01
Merge trunk with this branch. (check-in: a13df301 user: dan tags: defrag-opt)
2014-10-25
20:36
Further modifications to new code to better handle corrupt databases. (check-in: 1a8cf0a0 user: dan tags: defrag-opt)
13:42
Increase the resolution of the second parameter to the likelihood() SQL function (the probability value) so that it can handle probabilities as small as 0.00000001. Formerly, it ran out of precision at 0.001. (check-in: 0f08924f user: drh tags: trunk)
12:28
Do not use virtual (and hence redundant) WHERE-clause terms to restrict the content of a automatic partial index. Show when an automatic partial index is used in the EXPLAIN QUERY PLAN output. (check-in: b9ad601e user: drh tags: trunk)
2014-10-24
20:57
Ensure that the "Any prior cache entry associated with newKey is guaranteed not to be pinned" guarantee made to xRekey implementations is not violated. (check-in: ecc3544e user: dan tags: defrag-opt)
19:28
Enhance the automatic index logic so that it creates a partial index when doing so gives the same answer for less work. UPDATE: This change introduced a bug described by ticket [2326c258d02ead33]. (check-in: d95d0313 user: drh tags: trunk)
18:43
Fix some issues in the new code on this branch related to the handling of corrupt databases. (check-in: 19736dd9 user: dan tags: defrag-opt)
16:40
Fix some minor formatting and code organization issues. (check-in: eab8706d user: dan tags: defrag-opt)
15:26
Honor a high likelihood() on range constraints. (check-in: 401235ed user: drh tags: trunk)
14:32
Get the likelihood() functions working on operators like BETWEEN that create virtual terms in the WHERE-clause analysis. (check-in: 03d0498d user: drh tags: trunk)
12:37
Fix two problems. Tests now passing. (Closed-Leaf check-in: 1c220b80 user: drh tags: api-armor)
00:35
Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in progress and is not yet completely functional. (check-in: c297a84b user: drh tags: api-armor)
2014-10-23
17:26
Add debugging code to count the number of iterations of each loop made as part of statement execution. (Leaf check-in: c6a5b67a user: dan tags: debug-loopcounters)
01:01
Implement sqlite3_create_collation() by invoking sqlite3_create_collation_v2() with a NULL destructor argument. This saves a little space. (check-in: 9762ad06 user: drh tags: trunk)
2014-10-22
20:07
Disable the use of strchrnul() unless specifically enabled by compile-time options. (check-in: e580470d user: drh tags: trunk)
19:57
Change the 0x800 bit of SQLITE_TESTCTRL_OPTIMIZATIONS so that it disables the loading of STAT3 and STAT4 content, not just the using of that content. Change the internal name of that bit to SQLITE_Stat34. (check-in: ca3b00c4 user: drh tags: trunk)
18:42
Merge latest trunk with this branch. (check-in: 854a54c6 user: dan tags: defrag-opt)
16:25
The _beginthreadex() / _endthreadex() functions should only be used when compiling with MSVC. (Closed-Leaf check-in: 1a5a5da3 user: mistachkin tags: msvcThreads)
15:33
Add tests to check error handling in OTA. (check-in: ec7321ae user: dan tags: ota-update)
15:27
Take steps to avoid misestimating range query costs based on STAT4 data due to the roundoff error of converting from integers to LogEst and back to integers. (check-in: 3c933bf9 user: drh tags: trunk)
11:30
Sync the database file in sqlite3_ckpt_close(), even if the checkpoint has not finished. (check-in: e2729d62 user: dan tags: ota-update)
2014-10-21
21:56
Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. (check-in: 3e922208 user: drh tags: trunk)
19:35
Test that sqlite3ota_open() works with URI paths. Fix some other issues. (check-in: 6fd09854 user: dan tags: ota-update)
18:16
Further tuning of the cost estimates for skip-scan loops, especially for cases when skip-scan loops are in competition with regular loops. (check-in: a27861c2 user: drh tags: trunk)
18:09
Add tests for another application writing the database while an ota update is ongoing. (check-in: 2402baa0 user: dan tags: ota-update)
16:01
Add WHERETRACE debugging output to the whereLoopAdjustCost() routine. (check-in: ec1e942f user: drh tags: trunk)
01:05
If a skip-scan is a proper subset of some other scan, then adjust the cost of the skip-scan upward so that it is more costly than the other scan. Such a cost imbalance can arise under STAT4 because of difficulties in getting an accurate estimate for skip-scans. (check-in: f4b22a26 user: drh tags: trunk)
2014-10-20
16:34
Merge version-3.8.7 changes with this branch. (check-in: d380a648 user: dan tags: ota-update)
16:24
Have the ota extension perform an incremental checkpoint after generating the wal file. (check-in: 0bf1301a user: dan tags: ota-update)
2014-10-17
21:35
Fix a (probably harmless) bug in the CSV output mode of the command-line shell. (check-in: 19fe4a0a user: drh tags: trunk)
12:11
Merge the 3.8.7 changes into the apple-osx branch. (check-in: aa7bbed1 user: drh tags: apple-osx)
11:53
Merge all version 3.8.7 updates from trunk. (check-in: f4de9e07 user: drh tags: sessions)
11:24
Version 3.8.7 (check-in: e4ab094f user: drh tags: trunk, release, version-3.8.7)
2014-10-16
21:39
Work around MSVC not being able to deduce that a local variable was initialized in a called function. (check-in: 06c576c1 user: mistachkin tags: trunk)
18:34
Changes to work around Win32 and MSVCRT APIs that are not present on Windows CE 200x. (check-in: 1418c006 user: mistachkin tags: trunk)
11:45
Update the vdbe-compress.tcl script to account for expressions of the form (123>var), where "var" should be replaced with a reference to a union member. (check-in: 640345d8 user: dan tags: trunk)
2014-10-15
20:02
Fix a problem causing sqlite3changeset_concat() to fail to detect attempts to concatenate patchsets which changesets. (check-in: 236704a9 user: dan tags: sessions)
19:37
Merge latest trunk changes with this branch. (check-in: 1b2824f1 user: dan tags: sessions)
15:28
Update releasetest.tcl so that x86-64 runs a superset of the x86 tests. (check-in: 3c1e70f4 user: dan tags: trunk)
14:45
Fix a problem causing lock5.test to fail in mmap-mode. (check-in: b3e7b446 user: dan tags: trunk)
11:55
Add a four-byte prefix to the BtShared.pTmpSpace buffer to avoid reading before the beginning of an allocation. (check-in: 9386bfca user: drh tags: trunk)
11:31
Rearrange an expression in vdbemem.c to avoid a (harmless) reference to a possibly unitialized variable. (check-in: 4a7b3fa0 user: dan tags: trunk)
2014-10-14
20:25
Make sure new sqlite3_vtab objects created by the xCreate() virtual table method are initialized by the system, in accordance with the documentation. (check-in: eab82330 user: drh tags: trunk)
17:27
Fix some code duplication issues on this branch. Add minor optimizations to the new code. (check-in: 58d7793b user: dan tags: defrag-opt)
14:17
Merge from trunk recent micro-optimizations and the fix for the DESC index GROUP BY ORDER BY bug. (check-in: 880df756 user: drh tags: apple-osx)
13:41
Merge recent trunk micro-optimizations and the DESC index GROUP BY ORDER BY bug fix into the sessions branch. (check-in: 83d4114f user: drh tags: sessions)
2014-10-13
23:39
Optimize a database corruption test inside of the OP_Column opcode. (check-in: 005e5b38 user: drh tags: trunk)
20:12
Use the padding word in the Mem object as temporary storage for serial_type value in OP_Record, and thus avoid a redundant computation of the serial_type for each column. (check-in: 4b3b65ee user: drh tags: trunk)
18:09
Merge trunk changes into this branch. (check-in: d5b7c5a8 user: dan tags: defrag-opt)
18:03
Further work on balance_nonroot(). (check-in: 6594f9b4 user: dan tags: defrag-opt)
17:42
Three small optimizations to vdbeaux.c. (check-in: 04892f8b user: drh tags: trunk)
16:02
Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out some of its functions and by avoiding unnecessary calls. (check-in: c2799aec user: drh tags: trunk)
13:00
Remove the OPFLAG_CLEARCACHE flag from OP_Column. In its place, change the P3 parameter of OP_SorterData to be the index of the pseudo-table cursor whose record header cache is to be cleared. This gives a small size reduction and performance increase. (check-in: 20062f49 user: drh tags: trunk)
12:30
Use OP_SorterColumns in aggregate queries. Remove OPFLAG_CLEARCACHE. (Closed-Leaf check-in: 134e65c0 user: drh tags: OP_SorterColumns)
01:23
Add the OP_SorterColumns opcode - an experiment in using a special case opcode to decode the Sorter output rather than the generic OP_Column. This might be faster. And with further work, it could eventually eliminate the need for OP_OpenPseudo. (check-in: b9c695e8 user: drh tags: OP_SorterColumns)
2014-10-12
22:37
Remove the VdbeCursor.lastRowid cache of the current rowid, since maintaining the correct cache value uses more CPU cycles than just recomputing the rowid on the occasions when it is actually needed. Replace it with the VdbeCursor.aOffset field which used to be computed from VdbeCursor.aType when needed. Saves 100 bytes of code space and runs 0.2% faster. (check-in: 91384a7d user: drh tags: trunk)
2014-10-11
23:31
Performance optimization and very slight size reduction for OP_Column. (check-in: 869c30e4 user: drh tags: trunk)
20:00
Attempt to further reduce memcpy() in balance_nonroot(). (check-in: fec849dc user: dan tags: defrag-opt)
17:22
Simplification to the insertCell() routine in btree.c, resulting in a performance boost and a very small size decrease. It turns out that the extra work involved in sometimes avoiding an memcpy() of the first four bytes of a record takes more time than just unconditionally copying those four bytes. (check-in: 66de1558 user: drh tags: trunk)
10:52
Require the SQLITE_ENABLE_RTREE compile-time option in speedtest1.c in order to enable the R-Tree tests. (check-in: 5d29a033 user: drh tags: trunk)
02:12
Make sure that a GROUP BY that also implements an ORDER BY scans the table in the correct order. Fix for ticket [ba7cbfaedc7e6]. (check-in: 7a32fdfd user: drh tags: trunk)
01:22
Remove an unnecessary conditional from the EXPLAIN QUERY PLAN logic. (check-in: c5dc83eb user: drh tags: trunk)
2014-10-10
20:52
Account for the ASC/DESC properties of ORDER BY expressions when using the same index for GROUP BY and ORDER BY. Candidate fix for [ba7cbfaedc]. (Closed-Leaf check-in: 2a957396 user: dan tags: experimental)
19:15
Restrict the scope of the explainIndexRange() function in where.c. (check-in: c3012452 user: drh tags: trunk)
19:10
Fix a failing test case in index5.test. Also tweak the way cache memory is divided between read-only and dirty pages when using SQLITE_CONFIG_PAGECACHE to reduce IO in some cases. (check-in: 8541dfb3 user: dan tags: trunk)
18:09
Changes to enable compiling using VC6. (check-in: 9ee5686a user: drh tags: trunk)
17:47
When using the -config option to releasetest.tcl, default the testing type to "fulltest" if it is not specified on the command line. (check-in: cf291cbe user: drh tags: trunk)
17:44
Provide the new "-config CONFIG" option to the test/releasetest.tcl script, which allows one to run a single test configuration selected by name. (check-in: d479e32b user: drh tags: trunk)
17:20
Add the estimated number of output rows to the EXPLAIN QUERY PLAN output if compiled with SQLITE_EXPLAIN_ESTIMATED_ROWS. This feature is off by default for the time being. (check-in: daa8314f user: drh tags: trunk)
15:47
Simplify the code used to generate the text for EXPLAIN QUERY PLAN. (check-in: beea1efc user: drh tags: trunk)
15:01
Fix a potential problem in the whereRangeScanEst() routine when STAT4 is active. The problem was introduced by recent enhancements. (check-in: 68e1b4de user: drh tags: trunk)
13:08
Cause the command-line shell to return non-zero if the final SQL statement is incomplete. (check-in: 177fff3b user: drh tags: trunk)
12:56
Merge all recent trunk changes. (check-in: abfef254 user: drh tags: sessions)
2014-10-09
19:35
Change the balance_nonroot() routine to reduce the amount of memcpy work that takes place. This is a work in progress. (check-in: 29304499 user: dan tags: defrag-opt)
15:08
Allow FTS tokenizers to choose whether or not to consider the "*" character part of tokens or not. This restores the pre-[e21bf7a2ad] behaviour. Also fix a problem causing FTS to interpret tokens beginning with "*" characters as EOF. (check-in: 49dfee7c user: dan tags: trunk)
14:10
Add a test case for the memory leak fixed by the previous check-in. (check-in: bae36d54 user: drh tags: trunk)
14:00
Fix a memory leak associated with the FTS4 matchinfo() function. (check-in: fb8da824 user: drh tags: trunk)
11:40
Record the errno on fstat() failures. (check-in: 2a6a0820 user: drh tags: apple-osx)
11:27
Merge the latest trunk enhancements into the apple-osx branch. (check-in: 6fc72077 user: drh tags: apple-osx)
2014-10-08
19:33
Remove an always-true branch in whereRangeScanEst(). Replace it with an assert(). (check-in: 42e48fd3 user: drh tags: trunk)
15:53
Fix up test cases to account for the new SQLITE_LIMIT_WORKER_THREADS limit. (check-in: 6483d426 user: drh tags: trunk)
14:28
Set the connection-specific lastRowid value before calling any SQL function. (check-in: dff0f642 user: drh tags: trunk)
13:34
Ensure that the Pager.pTmpSpace allocation is correct even if an OOM error occurs while reducing the page size. (check-in: e4b43967 user: drh tags: trunk)
11:11
Remove some temporary code in mallocA.test that was accidentally checked in. (check-in: dedd15f7 user: dan tags: trunk)
02:53
Fix the STAT4 range scan estimates for DESC indexes. (check-in: e3fe8400 user: drh tags: trunk)
00:08
More intuitive labels on ".wheretrace" output. (check-in: adcb3fed user: drh tags: trunk)
2014-10-07
23:02
Make sure the sqlite3VdbeMemClearAndResize() routine is never called with a zero size parameter, since a size of zero could lead to either a memory leak or an assertion fault. (check-in: f672a380 user: drh tags: trunk)
20:09
Fix the corruptI.test script so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK and with SQLITE_DEFAULT_AUTOVACUUM=1. (check-in: e405b9e4 user: drh tags: trunk)
16:59
Restrict the scope of the valueToText() routine. (check-in: 13c962b3 user: drh tags: trunk)
15:46
Enhance (and fix) the MEMTYPE tags associated with heap memory allocations when SQLITE_MEMDEBUG is used. (check-in: ca5b789e user: drh tags: trunk)
2014-10-06
18:33
Remove unreachable branches in decodeIntArray() when compiling without STAT3 or STAT4. (check-in: 80e1baa5 user: drh tags: trunk)
14:37
Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples. (check-in: 3aff9a9c user: dan tags: trunk)
12:41
Fix a harmless compiler warning inside an assert() in FTS4. (check-in: 418f3c9a user: drh tags: trunk)
2014-10-04
19:31
Tweaks to documentation on sqlite3_open() and sqlite3_bind(). No code changes. (check-in: b8f7f19d user: drh tags: trunk)
11:59
Updates to documentation and requirements marks. No code changes. (check-in: 0f8102d7 user: drh tags: trunk)
10:22
Add a test to show that the change on this branch is effective. (Closed-Leaf check-in: fc619be0 user: dan tags: stat4-avgeq)
00:07
Avoid leaking Index.aiRowEst memory if an OOM causes a rollback which deletes the index before the aiRowEst deletion code in sqlite3AnalysisLoad() routine has a chance to run. Since the aiRowEst now might be deleted from freeIndex() which does not always have a db pointer, make sure the aiRowEst memory is not held in lookaside. (check-in: efd87ba1 user: drh tags: stat4-avgeq)
2014-10-03
19:29
Fix a division-by-zero error that might occur if the sqlite_stat1 table is corrupt. (check-in: f9c053b2 user: dan tags: stat4-avgeq)
19:16
Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples under some circumstances. (check-in: e6f7f97d user: dan tags: stat4-avgeq)
16:00
Add requirements marks on the sqlite3_db_status() interface implementation. Fix a typo in the documentation. Fix the new sqlite3_result_text64() routine so that it works correctly with an encoding parameter of SQLITE_UTF16. (check-in: d2fc3227 user: drh tags: trunk)
14:54
Update to requirements marks related to changes in the memory allocation interface and enhancement of the documentation regarding DEFAULT clauses in CREATE TABLE. (check-in: 440705b9 user: drh tags: trunk)
2014-10-02
21:52
Avoid a NULL pointer deference when processing the IS operator if the right-hand side is an illegal "#ID" style variable. Fix for ticket [8c32a33a53092c85a15b] (check-in: ffe75736 user: drh tags: trunk)
2014-10-01
13:17
Show the TK_DOT operator in the TreeView debugging output. No changes to production code. (check-in: 07c89940 user: drh tags: trunk)
12:01
Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. (check-in: c3c15d20 user: dan tags: trunk)
01:52
Merge the latest enhancements from trunk. (check-in: 2695772c user: drh tags: sessions)
01:46
Merge the latest enhancements from trunk. (check-in: 2078454a user: drh tags: apple-osx)
2014-09-30
21:24
Draw the TreeView debugging graphs using unicode box-drawing characters. (Closed-Leaf check-in: 0efc6859 user: drh tags: box-character-graph)
19:04
Improvements to the new syntax-tree output routines: Omit the "END SELECT" mark and instead terminate the graph at the last item. Increase the maximum tree depth to 100. (check-in: 5ce05757 user: drh tags: trunk)
17:31
Enable the query planner to deal with WHERE clauses that have OR terms nested within AND terms that are nested within OR terms. Also remove an unused function declaration. (check-in: b6b28918 user: drh tags: trunk)
17:03
Further enhancements to the "wheretrace" debugging output. (check-in: 670993eb user: drh tags: trunk)
14:14
Enhanced debug output for OR-logic in the query loop optimizer. (check-in: 2e375eae user: drh tags: trunk)
13:46
Show tree diagrams of data structures in the debugging output when the 0x100 bit is set on sqlite3WhereTrace or sqlite3SelectTrace. (check-in: 92e0b4bd user: drh tags: trunk)
12:33
Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). (check-in: 4ff51325 user: drh tags: trunk)
2014-09-29
18:47
Add the OPFLAG_MULTICOLUMN flag to the OP_Column opcode. Rearrange OP_Column instructions to take advantage of the new flag for a small performance increase (Leaf check-in: 5e5d6e86 user: drh tags: faster-OP_Column)
15:42
Fix the header comment in sqlite3VdbeDeletePriorOpcode(). No changes to code. (check-in: 7fb16268 user: drh tags: trunk)
15:00
Ensure that the OP_Prev opcode verifies that content has not been deleted out from under the cursor. Fix for ticket [209d31e3161b9e9ff]. (check-in: 414f0d6a user: drh tags: trunk)
2014-09-27
20:45
Change the names of the stream interface APIs to be of the form "_strm" instead of "_str". In other words, added an "m" to the end, to try to make it clear that we are talking about a "stream" and not a "string. (check-in: 1f44bfdc user: drh tags: sessions)
19:51
Merge recent trunk changes (performance enhancements) into the sessions branch. (check-in: 497367cb user: drh tags: sessions)
18:18
Fix a segfault in the sessions module that could follow an OOM. (check-in: 09985fa6 user: dan tags: sessions)
16:33
Fix a segfault in the streaming API functions triggered by a very long table name. (check-in: d2642543 user: dan tags: sessions)
12:26
Improve sessions module documentation and comments. Fix some other code issues. (check-in: bfc8bd80 user: dan tags: sessions)
05:00
Reduce the amount of memcpy() required by defragmentPage(). (check-in: 3edab995 user: drh tags: defrag-opt)
2014-09-26
18:30
Add an assert() to verify the last-row-id for the database just prior to calling a SQL function. (check-in: d026f0c9 user: mistachkin tags: trunk)
10:52
Fix a problem with concatenating patchsets containing DELETE and INSERT operations on the same row. (check-in: 4d8537ea user: dan tags: sessions)
02:41
Fix the "PRAGMA integrity_check" command so that it avoids formatting error message context messages until it actually needs to generate an error message. This avoids much formatting, and hence greatly improves the performance of "PRAGMA integrity_check" in the common case when there are no errors. It also makes the code a little smaller. (check-in: 83913515 user: drh tags: trunk)
01:10
If an SQL function makes a recursive call to do an INSERT into the same database, make sure that the last_insert_rowid() for that INSERT is recorded. (check-in: e93aecc0 user: drh tags: trunk)
2014-09-25
20:43
Add streaming version of sqlite3changeset_concat(). (check-in: 88eb6656 user: dan tags: sessions)
17:42
Minor code reformatting and comment change, to improve clarity. No logic changes. (check-in: baeb72a3 user: drh tags: trunk)
14:54
Add streaming version of sqlite3changeset_invert() to sessions module. (check-in: 8ded6a46 user: dan tags: sessions)
13:17
Simplifications to the SQL function and aggregate calling procedures. (check-in: 3467049a user: drh tags: trunk)
12:31
Simplification to the random rowid picking logic that begins running when the maximum possible rowid has already been used. (check-in: 1330c72e user: drh tags: trunk)
11:08
Still more performance enhancements to the LIKE and GLOB operators. (check-in: 6c8924ca user: drh tags: trunk)
03:51
More performance optimization for the LIKE and GLOB operators. (check-in: 5ab1023d user: drh tags: trunk)
02:44
Change that might allow SQLite to build and work using the EBCDIC character set. (check-in: ef30e035 user: drh tags: trunk)
00:56
Size reduction and performance improvement in the LIKE and GLOB operators. (check-in: b2c89ef4 user: drh tags: trunk)
2014-09-24
19:47
Have each open database allocate its pTmpSpace when the first write cursor is opened, rather than on each insert or delete, for a small space savings and performance boost. (check-in: 99323552 user: drh tags: trunk)
18:31
Small performance and size optimization for btreeUnlockIfUnused(). (check-in: 13c746f8 user: drh tags: trunk)
17:13
Add streaming version of sqlite3changeset_apply(). Tests and fixes for the same and sqlite3changeset_start_str(). (check-in: b917fc14 user: dan tags: sessions)
13:20
Do not allow parameters in a DEFAULT clause of a CREATE TABLE statement. Ticket [78c0c8c3c9f7c1]. (check-in: 1ad2bc1e user: drh tags: trunk)
04:38
Experiment using linear interpolation, instead of a strict binary search, when looking for integer-keyed rows on a single b-tree page. The experiment was not successful. The number of key comparisons is reduced by about 15%, but the added complexity of the search logic causes an overall reduction in performance. The patch is saved for historical reference only. (Closed-Leaf check-in: c705cf85 user: drh tags: linear-interpolation)
02:05
Have the clearCell() routine return the cell size to the caller, rather than have the caller make a separate call to cellSizePtr(). (check-in: f21d2175 user: drh tags: trunk)
01:23
Shorten all lines of source code in btree.c to at most 80 characters. No logical changes. (check-in: 5dd41cdb user: drh tags: trunk)
00:59
Add the MemPage.noPayload boolean and use it to help cellSizePtr() and btreeParseCellPtr() run faster. (check-in: 8e337531 user: drh tags: trunk)
2014-09-23
23:12
Remove an unused C-preprocessor macro. No functional changes to the code. (check-in: f480582c user: drh tags: trunk)
22:36
Avoid calling btreeParseCellPtr() from within fillInCell() since most of what btreeParseCellPtr() computes is ignored by fillInCell(). Instead, have fillInCell() compute the values it needs inline. Performance improvement. (check-in: 4147f667 user: drh tags: trunk)
21:25
Simplify the CellInfo structure for a size reduction and performance improvement. (check-in: bf59df66 user: drh tags: trunk)
20:39
Begin adding 'streaming' APIs to sessions module. This is a work in progress. (check-in: 3c7d3d95 user: dan tags: sessions)
18:30
Add the "multiplex_truncate" PRAGMA to the multiplexor extension, for querying and setting the truncate flag on a database connection. (check-in: d2962a5f user: drh tags: trunk)
01:40
Adjust skip-scan cost estimates slightly so that a full table scan is preferred over a skip-scan to a column with only two distinct values. (check-in: ae9a42b2 user: drh tags: trunk)
2014-09-22
20:38
Fix to payload size overflow detection in the cellSizePtr() change of the previous check-in. (check-in: 76097440 user: drh tags: trunk)
19:51
Size reduction and substantial performance increase for cellSizePtr(). (check-in: bc8bbf32 user: drh tags: trunk)
14:30
Tune the query planner to be more aggressive about using automatic indexes on views and subqueries for which there is not opportunity to declare a persistent schema index. (check-in: 41de1643 user: drh tags: trunk)
03:22
Disable shared memory operations using the unix-nolock VFS. (check-in: 10a6e510 user: drh tags: trunk)
2014-09-21
23:08
Merge in all recent changes from trunk. (check-in: 3967ebe8 user: drh tags: apple-osx)
22:49
Merge all recent trunk changes into the sessions branch. (check-in: 6406b77f user: drh tags: sessions)
22:31
Correctly handle an ORDER BY clause on an outer query when applying the compound-subquery flattening optimization. Ticket [d11a6e908f]. Also add the SQLITE_ENABLE_SELECTTRACE option for additional debugging and analysis information about select statement processing. (check-in: d5880abd user: drh tags: trunk)
20:31
Add test cases for ticket [d11a6e908f]. (Closed-Leaf check-in: 9683e001 user: drh tags: select-trace)
17:51
Add the "showauth" extension in ext/misc. (check-in: 28d52c1c user: drh tags: select-trace)
00:27
Improved ".selecttrace" output. (check-in: c0b61f70 user: drh tags: select-trace)
2014-09-20
20:38
Candidate fix for [d11a6e908f]. (check-in: 89398880 user: dan tags: select-trace)
20:24
Fix the SELECTTRACE_ENABLE macro so that it doesn't cause problems for testfixture. Add new SELECTTRACE() calls. (check-in: f1ba68f1 user: drh tags: select-trace)
18:18
Enable SELECT query planning tracing when compiled with SQLITE_ENABLE_SELECTTRACE and either SQLITE_DEBUG or SQLITE_TEST. (check-in: cbe0cf9d user: drh tags: select-trace)
00:35
Fix the usage of the _GNU_SOURCE and _BSD_SOURCE macros in the main internal header file, sqliteInt.h. Set HAVE_STRCHRNUL to 1 by default on Linux only. (check-in: 59e2c9df user: drh tags: trunk)
00:29
Only enable HAVE_STRCHRNUL by default on linux, as that is the only place it appears to work by default. (Closed-Leaf check-in: 0fac2c04 user: drh tags: sqliteIntMacros)
00:02
Revise macro usage in 'sqliteInt.h'. (check-in: 35db3e2f user: mistachkin tags: sqliteIntMacros)
2014-09-19
22:44
Simplify two conditionals and add testcase() macros to the affinity transform logic in the comparison operators. (check-in: 544664ca user: drh tags: trunk)
22:30
Recognize the invariant that a Mem object cannot be MEM_Dyn and have a non-zero szMalloc at the same time. Enforce this with assert()s and exploit it in the sqlite3VdbeMemClearAndResize() routine for a performance increase. (check-in: 3b21cf2b user: drh tags: trunk)
22:01
Tighten the conditions under which applyNumericAffinity() be called and add assert() statements to prove that it is never called otherwise. (check-in: e996ca32 user: drh tags: trunk)
20:13
Fix the affinity on inserts into the ANALYZE tables. Change the affinity characters to be upper case, to make the P5 parameter of comparison operators easier to read. (check-in: 3f3ca76a user: drh tags: trunk)
19:43
Do not attempt to extend the temp file if VFS version 3 is not supported and hence memory mapped I/O is unavailable. (check-in: 3ab20ba1 user: drh tags: trunk)
19:00
Make the "nolock" VFS on unix a version-3 VFS so that the sorter can use memory-mapped I/O. (check-in: 3db78d61 user: drh tags: trunk)
18:08
Add further tests to ota5.test. Add "ota.test", for running all ota tests. (check-in: 95ffdaa5 user: dan tags: ota-update)
16:56
Remove a local variable from the OP_Column implementation, resulting in a modest size reduction and a performance increase. (check-in: 6199760d user: drh tags: trunk)
16:13
Small size reduction and performance increase for releaseMemArray(). (check-in: 24cd32d6 user: drh tags: trunk)
16:02
Updates to comments. No code changes. (check-in: 9b42c3da user: drh tags: trunk)
15:28
The OP_Column opcode runs faster and is smaller by manually in-lining the code that persists string values in the output register. (check-in: 36b613cc user: drh tags: trunk)
15:06
Add extra tests for the ota extension. (check-in: 1e468fe1 user: dan tags: ota-update)
04:42
Add the sqlite3VdbeMemClearAndResize() function. Fix a sorting-index prefilter problem. (check-in: 987a7a21 user: drh tags: trunk)
02:01
Make sure that the sorting-index pre-filter recognizes that a rowid reference might be sortable. This fixes a performance regression. (Closed-Leaf check-in: 72727b68 user: drh tags: Cplusplus-comment)
00:43
Add the sqlite3VdbeMemClearAndResize() interface to be used in place of sqlite3VdbeMemGrow(). A C++ style comment was left in this check-in by mistake, and so it has been moved into a branch to avoid problems in any future bisects on windows. (check-in: 5b9b8987 user: drh tags: Cplusplus-comment)
2014-09-18
21:25
Add the Mem.szMalloc element to the Mem object and use it to keep track of the size of the Mem.zMalloc allocation. (check-in: 9c09ac35 user: drh tags: trunk)
18:55
Correct typos in comments. No changes to code. (check-in: 55879932 user: mistachkin tags: trunk)
17:57
Update the ota extension to support SQLITE_ENABLE_8_3_NAMES builds. (check-in: 718da6de user: dan tags: ota-update)
17:52
Merge the Mem.r value into the MemValue union as Mem.u.r. Hence, a Mem can now store an integer or a real but not both at the same time. Strings are still stored in a separate element Mem.z, for now. (check-in: 4c8c89d7 user: drh tags: trunk)
16:38
Use quotes instead of angle-brackets to include sqlite3.h from sqlite3ota.h. (check-in: fce9c6cc user: dan tags: ota-update)
16:28
Performance improvement for affinity transformations on comparison operators. (check-in: d7afdcba user: drh tags: trunk)
15:57
Remove some c++isms from sqlite3ota.c. (check-in: 0da1862b user: dan tags: ota-update)
15:22
Add new file ext/ota/README.txt, containing notes regarding the implementation of the ota extension. (check-in: 3c6e1cbb user: dan tags: ota-update)
14:48
Add an API to query an ota handle for the total number of key/value operations performed so far. (check-in: e3943fa7 user: dan tags: ota-update)
14:36
Since numeric affinity is the most common case, check it first. Interchange the NONE and TEXT affinity codes for easier checking of no affinity. (check-in: 4ef4c9a7 user: drh tags: trunk)
11:31
Merge latest trunk changes with this branch. (check-in: 67ea2979 user: dan tags: ota-update)
11:15
Fix an ota bug causing attempts to write to tables with more than 8 columns to fail. (check-in: 7da98ca2 user: dan tags: ota-update)
09:59
Modify an assert() within sqlite3PagerWalFramesize(), a function only ever used by zipvfs, to account for recent zipvfs changes. (check-in: 3bd7c1b2 user: dan tags: trunk)
02:20
Fix harmless warnings on 32-bit MSVC builds. (check-in: 5192f964 user: drh tags: trunk)
01:50
Make sure of the strchrnul() library function on platforms where it is available. (check-in: ef1aa10b user: drh tags: trunk)
01:29
Merge micro-optimizations into trunk after fixing the build on MSVC. Performance now shows 7.58% faster than the 3.8.6 release on x64 with gcc 4.8.1 and -Os. (check-in: 1de558bc user: drh tags: trunk)
01:21
Fix compiler warnings and change the nullMem structure initializer into a format that MSVC can understand. (Closed-Leaf check-in: 163bfae8 user: drh tags: micro-optimizations)
2014-09-17
23:37
Performance improvement and slight size reduction to the comparison operators in the VDBE. (check-in: 14052a7d user: drh tags: micro-optimizations)
19:05
Fix an unintialized variable problem in sqlite3ota.c. (check-in: 01268607 user: dan tags: ota-update)
16:41
In the Mem object, stop requiring that Mem.xDel be NULL when the MEM_Dyn bit is clear. Also reduce the amount of initialization of Mem objects. All for a small size reduction and performance increase. (check-in: fdddb477 user: drh tags: micro-optimizations)
15:20
Add tests and fixes for "PRAGMA ota_mode". (check-in: 39df35c4 user: dan tags: ota-update)
14:52
Improved interface to the Mem object handling. Small size reduction and performance increase. (check-in: 4e437844 user: drh tags: micro-optimizations)
2014-09-16
21:54
Continuing cleanup of memory register memory allocation handling. (check-in: 2598aedc user: drh tags: micro-optimizations)
20:05
Make sure registers are cleared properly prior to being used to store the result of an OP_Column operator. (check-in: 78fb8838 user: drh tags: micro-optimizations)
20:02
Clarify the effects of the pager_ota_mode pragma. Add tests and fixes for the same. (check-in: decaccc3 user: dan tags: ota-update)
18:22
Simplification of the OP_Column logic for the case of rows with overflow. (check-in: f7367803 user: drh tags: micro-optimizations)
14:55
Remove an unused parameter from sqlite3VdbeIdxRowid(). This is cosmetic only as the C-compiler optimizers were already omitting this parameter on amalgamation builds. (check-in: a10a6bba user: drh tags: micro-optimizations)
14:37
Reduce the number of arguments to RecordCompare functions from 4 to 3, resulting in a small performance increase. (check-in: 8239c35a user: drh tags: micro-optimizations)
14:16
Reorder the elements of the Mem object for a small size reduction and performance improvement. Moved into a branch because MSVC is unable to handle named structure initializer on nullMem. (check-in: 0be3019e user: drh tags: micro-optimizations)
13:30
Changes to sqlite3VdbeRecordUnpack() to make it slightly smaller and faster. (check-in: 8fb90da7 user: drh tags: trunk)
03:24
Performance improvement to the sqlite3MemCompare() routine by factoring out sqlite3BlobCompare(). (check-in: 20ed2321 user: drh tags: trunk)
2014-09-15
19:34
Remove the experimental sqlite3_transaction_save() and restore() APIs. (check-in: 48d201cd user: dan tags: ota-update)
16:57
Merge latest trunk fixes into this branch. (check-in: 5efafef5 user: dan tags: ota-update)
16:53
Fix tool/showwal.c so that it handles WAL files that contain 64KiB pages. (check-in: 4060efb6 user: dan tags: trunk)
16:50
Avoid attempting to call the xFetch() method of an sqlite3_io_methods object with a version number less than 3. (check-in: dedaa6fb user: dan tags: trunk)
15:34
Merge latest trunk changes with this branch. (check-in: 55b8011d user: dan tags: ota-update)
14:59
Remove the EXPENSIVE_ASSERTS in pcache.c having to do with the pSynced field of the Pcache object, as they are incorrect, as revealed by recent pcache enhancements. (check-in: 69a64560 user: drh tags: trunk)
14:46
Do not flatten aggregate subqueries that contain min() or max() functions so that if the min()/max() are discarded by the outer query, they still function and cause non-aggregate expression to be evaluated on the minimal or maximal row. (check-in: 0bdf1a08 user: drh tags: trunk)
11:14
Adjust comments to show that subquery flattening restriction (10) was removed from the code back in 2005. This is a comment change only. (check-in: 4ff0eb96 user: drh tags: trunk)
2014-09-12
20:30
Small performance improvement to the dirty list handling in the pager. (check-in: b332a84d user: drh tags: trunk)
17:41
Simplify the way the column cache is managed around OP_Move instructions. (check-in: 32055623 user: drh tags: trunk)
04:28
Fix a problem with parser memory allocation on 32-bit systems. (check-in: 2f69a1fa user: drh tags: trunk)
2014-09-11
23:34
Fix an issue with sqlite3_bind_text64() with the SQLITE_UTF16 encoding parameter. Remove some unreachable code from the text64() and blob64() implementation. (check-in: 34292b08 user: drh tags: trunk)
18:44
Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_text64(), sqlite3_result_blob64(), and sqlite3_result_text64(). Add the sqlite3_msize() interface. Internal memory allocation routines now use 64-bit unsigned length parameters for safety. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. (check-in: 7e4978c0 user: drh tags: trunk)
17:27
Add the SQLITE_USER_AUTHENTICATION extension to the trunk. This extension is disabled by default. Special compilation procedures are need to enable it. (check-in: 65884d4f user: drh tags: trunk)
17:14
Clean up some #includes in the extension API implementation. (Closed-Leaf check-in: b149ef5c user: drh tags: user-auth)
16:36
Suppress the potential schema error that occurs when a non-user-auth SQLite library tries to parse the sqlite_user table definition in a user-auth database. (check-in: cda33c1e user: drh tags: user-auth)
16:19
Enhance the sqlite3_user_add() interface to initialize the user authentication logic. Add test cases for the extra argument on the end of the authorizer callback. (check-in: 842c6da8 user: drh tags: user-auth)
15:25
All interfaces working and tested. (check-in: 96ea5c0b user: drh tags: user-auth)
14:56
Get the sqlite3_user_delete() interface working. (check-in: 974a9c65 user: drh tags: user-auth)
14:40
Fix the sqlite3_user_change() interface so that it does allow a non-admin user to change their own password. (check-in: 52d440c7 user: drh tags: user-auth)
14:01
Move user authentication blocking from sqlite3_prepare() over to the table lock generator, thus allowing SQL statements (like "PRAGMA locking_mode") that do not touch database content to run prior to authentication. (check-in: 70121e7c user: drh tags: user-auth)
13:44
Add support for the extra parameter on the sqlite3_set_authorizer() callback and support for failing an ATTACH with an authentication-required database using bad credentials. The extension is now feature complete, but much testing and bug-fixing remains. (check-in: 596e728b user: drh tags: user-auth)
00:27
Reorder parameters on the sqlite3_user_*() interfaces for consistency. Add the first TCL test cases. (check-in: 2f6d8f32 user: drh tags: user-auth)
2014-09-10
22:46
Complete the implementation of the various APIs. Fix several problems. This is another incremental check-in that does not completely work. (check-in: 4eaaa7fa user: drh tags: user-auth)
19:01
Add the ".user" shell command and implement the sqlite3_user_add() routine. Incremental check-in. The code compiles but does not work. (check-in: a0455f9d user: drh tags: user-auth)
17:34
Further ideas on user authentication. Not yet working code. (check-in: c8171ecd user: drh tags: user-auth)
2014-09-09
20:30
Change the name of the _texte64() interfaces to just _test64(), without the "e". (Closed-Leaf check-in: 6ab76c5f user: drh tags: 64-bit-lengths)
18:41
Add new interfaces to the loadable extension mechanism. (check-in: 18d80cbc user: drh tags: 64-bit-lengths)
17:27
Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_texte64(), sqlite3_result_blob64(), and sqlite3_result_texte64(). Internal memory allocation routines also now use 64-bit unsigned length parameters for safety. Also add the sqlite3_msize() interface. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. (check-in: 94954850 user: drh tags: 64-bit-lengths)
14:47
Non-working preliminary implementation attempts on user authentication. (check-in: 8440f093 user: drh tags: user-auth)
2014-09-08
15:04
Merge support for large files on Android from trunk. (check-in: c2885c6b user: drh tags: sessions)
2014-09-06
17:06
Fixes to os_unix.c to support database (and other) files larger than 2GiB on Android. (check-in: ad7063aa user: dan tags: trunk)
16:52
Merge latest trunk changes with this branch. (Closed-Leaf check-in: 9dca7ce5 user: dan tags: android-large-filles)
16:39
Fix typos in comments. No code changes. (check-in: e62aab5e user: peter.d.reid tags: trunk)