SQLite

Timeline
Login

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

100 check-ins occurring around f489b5bb6b35665b.

2017-04-28
17:32
Fix various bugs revealed by running performance tests. (check-in: a40b42c4 user: dan tags: server-edition)
14:09
Add a missing releasePage() call to the server-mode free-list management code. (check-in: a5a08548 user: dan tags: server-edition)
10:20
Use a different free-list format for server-mode databases in order to reduce contention. (check-in: 778e8a10 user: dan tags: server-edition)
2017-04-27
14:12
Do not write master journal filenames into server-mode journal files. Use SQLITE_MUTEX_STATIC_APP1 to protect critical sections in server.c. (check-in: 3144ae40 user: dan tags: server-edition)
13:05
If possible, delete the journal file when a database connection is closed. (check-in: d5b5326d user: dan tags: server-edition)
2017-04-26
20:45
Experimental implementation of pessimistic page-level locking based on rollback mode. (check-in: 64ecf7c7 user: dan tags: server-edition)
17:21
Add new test file cachespill.test. (check-in: 2d0b6431 user: dan tags: trunk)
14:34
Replace <fts5.h> with "fts5.h" in test file fts5_test_tok.c. (check-in: 63d9ca5c user: dan tags: trunk)
04:32
Fix a subtle bug in Lemon discovered and reported on the mailing list by Kelvin Sherlock, who also suggested the correct fix. (check-in: 304689f8 user: drh tags: trunk)
2017-04-24
16:14
Bring in all the latest enhancements from trunk. (check-in: 031feebc user: drh tags: apple-osx)
14:16
When building an ephemeral table of integers, do not assume that the table does not already contain N if the insert cursor points to N-1. Fix for ticket [61fe9745]. (check-in: 1c1b0862 user: dan tags: trunk)
2017-04-22
00:20
Fix an assertion fault found by OSSFuzz. (check-in: e39769f4 user: drh tags: trunk)
2017-04-21
19:58
Another minor formatting fix. (check-in: 9fa2ce3c user: dan tags: schemalint)
19:56
Fix formatting errors in the previous commit. (check-in: da9a2e5a user: dan tags: schemalint)
19:53
Update the README.md file in the ext/expert/ directory. (check-in: 3b2ff4e0 user: dan tags: schemalint)
17:03
Remove a NEVER macro for a condition that may be true as of [a47efb7c]. Problem reported by OSSFuzz. (check-in: bdc50d8d user: dan tags: trunk)
16:04
Fix an FTS5 bug that could cause a prefix-query without a prefix-index on a database that contains delete-markers to return extra, non-matching, rows. (check-in: 840042cb user: dan tags: trunk)
2017-04-20
17:35
Merge latest trunk changes into this branch. (check-in: b1533bc4 user: dan tags: schemalint)
17:03
Avoid creating a temp table in the user database in the sqlite3_expert code. (check-in: 4e366996 user: dan tags: schemalint)
16:43
Speed this branch up a bit by filtering before the virtual table layer when sampling user data. (Closed-Leaf check-in: 8e57c313 user: dan tags: schemalint-failure)
16:18
Avoid adding INTEGER PRIMARY KEY columns to candidate indexes. (check-in: 4577fea5 user: dan tags: schemalint)
16:08
Avoid creating a temp table in the user database in the sqlite3_expert code. Trouble is, this makes sampling for stat1 data much slower. (check-in: c62e3582 user: dan tags: schemalint-failure)
09:54
Add an option to generate stat1 data based on a subset of the user database table contents to sqlite3_expert. (check-in: c69c3e21 user: dan tags: schemalint)
2017-04-19
13:25
Further improvements to coverage of fts3 module. (check-in: 6b21d0fd user: dan tags: trunk)
07:33
Further modifications and test cases to improve test coverage of fts3. (check-in: ea8a0d2c user: dan tags: trunk)
2017-04-18
20:10
Have sqlite3_expert_analyze() populate the sqlite_stat1 table before running queries through the planner for the second time. (check-in: a157fcfd user: dan tags: schemalint)
13:50
Use sqlite3_table_column_metadata() instead of a SELECT statement to check for the existence of a %_stat table in fts3. This leads to smaller and easier to test code. (check-in: dc2a4802 user: dan tags: trunk)
11:20
Improved optimizations of views as the right operand of a LEFT JOIN. (check-in: 41c27bc0 user: drh tags: trunk)
09:04
Fix sqlite3_expert handling of triggers on views. (check-in: ff4976da user: dan tags: schemalint)
05:49
Refactor the fts3ColumnMethod() function so that all branches can be covered. (check-in: e47fdb49 user: dan tags: trunk)
2017-04-17
23:23
Defer checking for null in the comparison operators, since that is an uncommon case. (check-in: 56845256 user: drh tags: trunk)
20:50
Do not allow a Mem object to be both NULL and some other type at the same time. (check-in: e698db19 user: drh tags: trunk)
18:42
Consolidate two branches of code in the "PRAGMA foreign_key_check" implementation. (check-in: 69f51f83 user: dan tags: trunk)
18:02
Fix a problem in "PRAGMA foreign_key_check" in handling a WITHOUT ROWID child table with an INTEGER PRIMARY KEY parent key. Also, if an FK violation is detected in a WITHOUT ROWID child table, do not try to read and return the rowid. The second column returned by "PRAGMA foreign_key_check" in this case (WITHOUT ROWID child table) is now always set to NULL. (check-in: 690870bd user: dan tags: trunk)
17:03
Add support for analyzing trigger programs to the sqlite3_expert code. (check-in: 159e8022 user: dan tags: schemalint)
16:07
Further improvements to test coverage in fts3. (check-in: 352413ee user: dan tags: trunk)
13:38
Improve coverage of code in fts3. (check-in: 1a08a836 user: dan tags: trunk)
13:18
Fix the ".column" output mode in the command-line shell so that it correctly counts and formats multi-byte UTF characters. (check-in: f508aff8 user: drh tags: trunk)
2017-04-16
22:41
In the showwal command-line tool, for unix builds, if the auxiliary argument is of the form "Ntruncate" where "N" is a frame number, then truncate the WAL file after the N-th frame. (check-in: 90015df3 user: drh tags: trunk)
22:08
Add the anycollseq.c loadable extension in etc/misc (check-in: d7b9813c user: drh tags: trunk)
2017-04-15
16:52
Fix problems with handling constraints on the rowid column in sqlite3expert.c. (check-in: 2e630879 user: dan tags: schemalint)
15:47
Merge latest trunk changes into this branch. (check-in: 2d0c458e user: dan tags: schemalint)
14:30
Add header comment for sqlite3_vtab_collation(). (check-in: d238694c user: dan tags: schemalint)
14:16
Fix memory leaks in the code on this branch. Make use of the sqlite3_index_constraint.usage field. Do not try to handle ORDER BY terms with explicit COLLATE clauses - they don't get passed to the vtab layer anyway. (check-in: 0cd75a87 user: dan tags: schemalint)
11:53
In the skip-ahead-distinct optimization, fix a bug in the logic that determines when to invoke the optimization based on sqlite_stat1 statistics. (check-in: 89f9e436 user: drh tags: trunk)
2017-04-14
22:41
Fix to the decision logic for when to use the skip-ahead-distinct optimization. (Closed-Leaf check-in: e50fd489 user: drh tags: skip-ahead-distinct)
19:46
Remove end-of-line whitespace from lemon.c. (check-in: d78355c8 user: drh tags: trunk)
19:44
Fix some left-over K&R-C constructs in lemon.c. No changes to the core. (check-in: a5379905 user: drh tags: trunk)
19:41
Modify the code in ext/expert/ to use the vtab interface instead of sqlite3_whereinfo_hook(). Remove sqlite3_whereinfo_hook(). (check-in: 3bb65850 user: dan tags: schemalint)
19:03
Add the TK_IF_NULL_ROW opcode to deal with non-NULL result columns in the result set of a view or subquery on the RHS of a LEFT JOIN that gets flattened. (Closed-Leaf check-in: 3a5860d8 user: drh tags: left-join-view)
17:30
When doing a DISTINCT query using an index, try to use the index to skip ahead to the next distinct element, rather than doing a full scan of the index. (This is the "skip-ahead-distinct" optimization.) (check-in: f489b5bb user: drh tags: trunk)
17:18
An initial attempt to optimize VIEWs that occur as the right operand of a LEFT JOIN. This particular check-in does not work correctly because it does not deal with the case of columns in the VIEW that return non-NULL even when all columns in the table of the VIEW are NULL because of the LEFT JOIN. (check-in: 1838a59c user: drh tags: left-join-view)
14:50
Make USE_FULLWARN=1 the default for MSVC and fix harmless compiler warnings. (check-in: 6bf67376 user: mistachkin tags: trunk)
14:02
Enhance the sqlite3TreeView() display for Expr objects so that it shows the iRightJoinTable value for Expr nodes that have the EP_FromJoin property. (check-in: 5159cb8f user: drh tags: trunk)
12:39
Simplify the interface to the subst() routines that are part of the query flattener by collecting common parameters into the SubstContext object and passing around a pointer to that object. (check-in: e651074b user: drh tags: trunk)
12:27
Remove an incorrect ALWAYS(). (check-in: f956f6ae user: drh tags: trunk)
00:45
Fix a couple of unreachable branches. (check-in: 1aa0ea8d user: drh tags: skip-ahead-distinct)
2017-04-13
21:29
Fix the skip-ahead-distinct optimization so that it works with indexes that have repeated columns with different collating sequences. (check-in: ce1e2b88 user: drh tags: skip-ahead-distinct)
19:48
Simplification of the skip-ahead-distinct logic. There is still an issue with handling COLLATE. (check-in: 57c5173b user: drh tags: skip-ahead-distinct)
18:33
New test cases and minor fixes for the optimization on this branch. (check-in: 70ac9ea1 user: dan tags: skip-ahead-distinct)
16:19
Update this branch with latest changes from trunk. (check-in: 5fcd840c user: dan tags: schemalint)
15:51
Reinstate the SQLITE_API qualifier on the sqlite3_delete_database() method in test_delete.c. Accidentally removed by the previous commit. (check-in: 59c70108 user: dan tags: trunk)
15:36
Update the code in test_delete.c to use the "win32" VFS if SQLITE_OS_WIN is defined. (check-in: fa9bb7b7 user: dan tags: trunk)
13:01
Only use the skip-ahead-distinct optimization if the index has been analyzed and we know that a skip-head is likely to skip over at least 11 rows. The magic number 11 was determined by experimentation. (check-in: 0cf16dec user: drh tags: skip-ahead-distinct)
09:45
Allow a user column name to be used on the LHS of a MATCH operator in FTS5. (check-in: 6f54ffd1 user: dan tags: trunk)
01:19
Forward port the skip-ahead-distinct branch which was abandoned for some reason that I do not recall. This port should have been achived by a merge of trunk into the previous head of skip-ahead-distinct, but that did not work. So I had to manually "rebase" the changes. (check-in: 132339a1 user: drh tags: skip-ahead-distinct)
00:12
Fix a regression caused by the fix for ticket [6c9b5514077fed34551f98e64c09a1] - control characters allowed in JSON. (check-in: 8e7b6118 user: drh tags: trunk)
2017-04-12
17:50
Update fts5 to support "<colset> : ( <expr> )" for column filtering, as well as "<colset> : NEAR(...)" and "<colset> : <phrase>". (check-in: c847543f user: dan tags: trunk)
17:38
Improved \n and \r escapes in the ext/misc/dbdump.c utility function. The implementation of dbdump.c now matches the implementation in the CLI. (check-in: f2643315 user: drh tags: trunk)
2017-04-11
20:48
Avoid updating unaffected indexes on a table as part of an UPDATE that requires foreign key processing in some cases. (check-in: 7aae5c0f user: dan tags: trunk)
19:58
Avoid updating unaffected indexes on a table as part of an UPDATE that requires foreign key processing in some cases. (Closed-Leaf check-in: 477bea9e user: dan tags: fkey-optimization)
19:00
Update this branch with latest trunk changes. (check-in: 0f66a093 user: dan tags: schemalint)
18:55
Limit the depth of recursion for valid JSON in the JSON1 extension in order to avoid using excess stack space in the recursive descent parser. Fix for ticket [981329adeef51011052667a9]. (check-in: 1f68c184 user: drh tags: trunk)
18:29
Fix a formatting issue in the output of the sqlite3_expert program. (check-in: cc8c3581 user: dan tags: schemalint)
18:06
Smaller and faster implementation of exprMightBeIndexed(). (check-in: 76cd611d user: drh tags: trunk)
17:43
Add header comments to the API functions in sqlite3expert.h. Include a list of all candidate indexes in the report output by the sqlite3_expert program. (check-in: 0c45c5eb user: dan tags: schemalint)
16:44
Very slight smaller and faster sqlite3SelectNew() (check-in: 4143650c user: drh tags: trunk)
12:20
Add an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow(). (check-in: 0f3eb61f user: drh tags: trunk)
11:52
Fix a segfault that could occur if an indexed expression was used in a comparison operation within the result-set of a SELECT statement. (check-in: d6bb7c42 user: dan tags: trunk)
01:30
When evaluating a query that uses an index on an expression, try to use the expression values read directly from the index rather than reevaluating the expression. (check-in: a47efb7c user: drh tags: trunk)
01:01
Improved comments. Fix a problem when an indexed expression is used in an ORDER BY clause. (Closed-Leaf check-in: c59eaf2b user: drh tags: covering-index-on-expr)
2017-04-10
23:42
Merge changes from trunk. (check-in: 8978465f user: drh tags: covering-index-on-expr)
20:51
Smaller and faster vdbeFreeOpArray() (check-in: e052436d user: drh tags: trunk)
20:27
Slightly smaller and faster sqlite3VdbeMemGrow(). (check-in: efd1702a user: drh tags: trunk)
20:00
Add ext/expert/README.md. (check-in: 9318f1b9 user: dan tags: schemalint)
16:13
Changes to allow the code in sqlite3expert.c to be tested directly (via the API in sqlite3expert.h) instead of by invoking the sqlite3_expert application. Fix memory leaks and other problems. (check-in: 5dd98317 user: dan tags: schemalint)
12:31
Add a new JSON test case to verify that all control characters are escaped in the json_quote() function. (check-in: 6ee12221 user: drh tags: trunk)
12:25
Change the JSON extension so that it disallows control characters inside of strings. Fix for ticket [6c9b5514077fed34551f98e64c09a10dc2fc8e16]. (check-in: 475d8f82 user: drh tags: trunk)
2017-04-09
19:23
Do not expose the name of the internal Mem object in the public interface defined by sqlite3.h. (check-in: 19dd753f user: drh tags: trunk)
08:38
Fix the -file option on the sqlite3_expert program. (check-in: 0857c48e user: dan tags: schemalint)
2017-04-08
19:00
Merge latest trunk with this branch. (check-in: e051e8f2 user: dan tags: schemalint)
18:56
Rename shell6.test to expert1.test. Have it invoke the sqlite3_expert binary if it is present. (check-in: be0deff9 user: dan tags: schemalint)
18:24
Merge all recent changes from trunk. (check-in: c23ef5e2 user: drh tags: apple-osx)
18:18
Disallow leading zeros on numeric constants in JSON. Fix for ticket [b93be8729a895a528e2] (check-in: 204e72f0 user: drh tags: trunk)
17:41
Use hash tables instead of in-memory database tables for a few purposes in sqlite3expert.c. (check-in: bf10e68d user: dan tags: schemalint)
14:11
Expand on the comment above OP_Destroy to explain why it throws an error if there are any active reader VMs. (check-in: b9a8c2b9 user: dan tags: trunk)
13:52
Have the rtree module close any open blob-handle within the xSavepoint method. This prevents such an open blob handle from interfering with DROP TABLE operations. (check-in: fa4416ad user: dan tags: trunk)
13:42
Fix the quoting mechanism for ".dump" so that it is not applied for the ".mode quote" output. (check-in: 78c1e903 user: drh tags: trunk)
09:12
Have fts5 close any open blob-handle when a new savepoint is opened. This ensures that fts5 does not prevent DROP TABLE statements (which always open a savepoint) from succeeding. (check-in: a921ada8 user: dan tags: trunk)
01:09
Make sure the RTree sqlite3_blob handle is reset prior to renaming the table. (check-in: 1cdae2db user: drh tags: trunk)