/ Timeline
Login

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

50 most recent check-ins

2020-10-07
11:24
In the CSV extension, use SQLITE_TRANSIENT rather than SQLITE_STATIC on return values that can in fact change. Leaf check-in: 54b54f02c6 user: drh tags: trunk
2020-10-06
15:48
More additions and improvements to btree.h documentation Leaf check-in: a49a7cdec7 user: shearer tags: btree-code-documentation
2020-10-05
16:41
Allow fts5 trigram tables created with detail=column or detail=none to optimize LIKE and GLOB queries. Allow case-insensitive tables to optimize GLOB as well as LIKE. check-in: 64782463be user: dan tags: trunk
2020-10-03
19:16
Do not apply affinities when creating entries for automatic indexes on views. Fix for [95302bdb]. check-in: df12f09722 user: dan tags: trunk
17:06
Fix a segfault caused by running "column LIKE NULL" against an fts5 table using the trigram tokenizer. Fix for [e33ee62575fc22]. check-in: 6e72a08de7 user: dan tags: trunk
14:36
FTS5 does not handle tokens that contain embedded nul characters. Prevent the trigram tokenizer from returning such tokens. Fix for [2ba5930b2]. check-in: b1d048748c user: dan tags: trunk
2020-10-02
15:15
Fix some test code so that testfixture can build with SQLITE_OMIT_WAL defined. check-in: dd009cd7ae user: dan tags: trunk
13:57
Import further corner-case fixes for the in-scan-vs-index or OP_SeekScan optimization from trunk. Leaf check-in: c144d6404f user: drh tags: branch-3.28
13:48
Additional corner-case fixes for the in-scan-vs-index or OP_SeekScan optimization. check-in: ad5ab24ebd user: drh tags: trunk
12:49
Remove an incorrect assert() from the OP_SeekScan opcode. check-in: c0400f8c0b user: drh tags: trunk
12:42
Fix a faulty assert() statement. Add new test cases. check-in: 80ecdb3da4 user: drh tags: trunk
12:11
For the OP_SeekScan optimization, the OP_IdxGT does not necessarily come right after the OP_SeekGE. So use the P2 operand of OP_SeekScan to point to the first instruction after OP_IdxGT. Problem found by dbsqlfuzz. check-in: ec37744c6e user: drh tags: branch-3.28
11:55
For the OP_SeekScan optimization, the OP_IdxGT does not necessarily come right after the OP_SeekGE. So use the P2 operand of OP_SeekScan to point to the first instruction after OP_IdxGT. Problem found by dbsqlfuzz. check-in: 091d719394 user: drh tags: trunk
02:07
Disable the OP_SeekScan opcode of the in-scan-vs-index optimization when in PRAGMA reverse_unordered_selects mode, as the OP_SeekScan only works with forwards scans. Thanks to OSSFuzz for pointing out the problem to us. check-in: 9a1cdf7e9c user: drh tags: branch-3.28
02:02
Disable the OP_SeekScan opcode of the in-scan-vs-index optimization when in PRAGMA reverse_unordered_selects mode, as the OP_SeekScan only works with forwards scans. Thanks to OSSFuzz for pointing out the problem to us. check-in: c75c3a3b75 user: drh tags: trunk
2020-10-01
17:24
Add experimental "trigram" tokenizer to fts5. check-in: c4e8ec7907 user: dan tags: trunk
17:15
Add the -trigram option to the fts5txt2db.tcl script. Closed-Leaf check-in: a394dd2602 user: dan tags: fts5-trigram
16:10
Add tests for the trigram tokenizer. Fix minor issues. check-in: 897ced99b4 user: dan tags: fts5-trigram
15:46
Fix the OP_SeekScan opcode so that its variable names do not cause problems for the test/vdbe-compress.tcl script. check-in: 7a78274a07 user: drh tags: trunk
14:38
Remove a debugging printf() accidentally left in the previous check-in. check-in: e9d1efa597 user: drh tags: trunk
14:36
The IN-early-out optimization does not work for virtual tables. Do not try to use it there. Fix for ticket [2d5a3163563d559f]. Test cases in TH3. check-in: dbec6910d9 user: drh tags: trunk
2020-09-30
20:35
Add experimental unicode-aware trigram tokenizer to fts5. And support for LIKE and GLOB optimizations for fts5 tables that use said tokenizer. check-in: 0d7810c1ae user: dan tags: fts5-trigram
18:22
Improved query optimization for multi-column indexes where the second or later columns are constrained by an IN operator and the earlier index columns limit the search to a small number of rows. Use the new OP_SeekScan opcode which does scanning of the relevant range of the index but gives up and falls back to doing a seek if the number of rows scanned grows to large, in order to guard against pathological cases where the estimated number of rows to be scanned is far too small. check-in: f07ac3fb38 user: drh tags: branch-3.28
18:06
Improved query optimization for multi-column indexes where the second or later columns are constrained by an IN operator and the earlier index columns limit the search to a small number of rows. Use the new OP_SeekScan opcode which does scanning of the relevant range of the index but gives up and falls back to doing a seek if the number of rows scanned grows to large, in order to guard against pathological cases where the estimated number of rows to be scanned is far too small. check-in: 4a43430fd2 user: drh tags: trunk
18:03
For the OP_SeekScan opcode, adjust the number of steps run before giving up based on the estimated number of comparisons needed to perform a seek. Closed-Leaf check-in: dc4172e6b8 user: drh tags: in-scan-vs-index
17:32
Back out the incorrect optimization of check-in [e51ecadcbdef5ce6] as ticket [5c4e7aa793943803] reports a case where the optimization does not work. check-in: 7395e96b8c user: drh tags: trunk
15:36
In the query flattener when substituting expression Y in place of expression X, if X is marked has having come from an ON or USING clause of a LEFT JOIN, then be sure that all subexpressions of Y, not just the root node of Y, are similarly marked. Otherwise, if Y is an AND operator, it will be split up during WHERE clause analysis and the subexpressions will not get the special treatment needed by LEFT JOIN ON/USING clauses. Fix for ticket [66e4b0e271c47145]. check-in: 69f9eb7343 user: drh tags: trunk
09:17
Better understanding of savepoint code check-in: ce6d8d6215 user: shearer tags: trunk
00:48
Add an sqlite3FaultSim() call to btreeNext() to make it easier to simulate I/O errors in calls to sqlite3BtreeNext(), and in OP_SeekScan. check-in: 29cca775d3 user: drh tags: in-scan-vs-index
00:10
In the OP_SeekScan opcode, changes to pOp must occur after the call to VdbeBranchTaken() so that the VdbeBranchTaken() attributes the branch to the correct opcode. check-in: 61fbe7aa7c user: drh tags: in-scan-vs-index
2020-09-29
23:52
The OP_SeekScan opcode is a no-op if the cursor is not pointing to a valid row upon entry. check-in: 4afc96b5fe user: drh tags: in-scan-vs-index
20:22
Coverage testing of the OP_SeekScan opcode. Fix a problem that comes up when OP_SeekScan reaches the end of the table. check-in: 9e57e758a6 user: drh tags: in-scan-vs-index
17:29
Improved comments on the new OP_SeekScan opcode. check-in: 6110fdd5bb user: drh tags: in-scan-vs-index
16:05
Improved performance by manually in-lining the sqlite3VdbeIdxKeyCompare() routine for the OP_IdxGT opcode and its kin. check-in: 2206a2c848 user: drh tags: in-scan-vs-index
15:32
Typo fix to repair the early-out optimization. Also avoid unnecessary OP_SeekHit opcodes. check-in: 8fd7d8dfcd user: drh tags: in-scan-vs-index
01:48
The OP_SeekScan opcode works, but using it requires disabling the IN-earlyout optimization because the OP_IfNoHope opcode might move the cursor. check-in: f3c36b840c user: drh tags: in-scan-vs-index
2020-09-28
19:51
Revisiting the IN-scan optimization to try to fix it for the corner case where the statistics deceive the query planner into using a scan when an indexed lookup would be better. This check-in changes the code generation to do the IN-scan using a new OP_SeekScan opcode. That new opcode is designed to abandon the scan and fall back to a seek if it doesn't find a match quickly enough. For this work-in-progress check-in, OP_SeekScan is still a no-op and OP_SeekGE still ends up doing all the work. check-in: d720b6981e user: drh tags: in-scan-vs-index
15:49
Small performance improvement and size reduction by reducing the size of the WhereTerm object. check-in: 43f7ddad80 user: drh tags: trunk
13:34
Avoid the possibility of integer overflow on the --pagecache option to the CLI. See [forum:10a2892377|forum post 10a2892377] check-in: d3d13df31a user: drh tags: trunk
2020-09-25
17:17
Clarify check-in: 14dba0f3b5 user: shearer tags: btree-code-documentation
16:54
Distinguish between checkpoints (WAL-only, implementation specific) and savepoints (Btree internal implementation of COMMIT/ROLLBACK subtransactions) and SQL SAVEPOINT (identical name for SQL-level subtransactions) check-in: ae686ab6a8 user: shearer tags: btree-code-documentation
14:26
Reset to trunk's func. Still learning Fossil. check-in: a4840cf5c6 user: shearer tags: btree-code-documentation
13:56
More classification of functions. Fix incorrect comment that sqlite3BtreeCursorHasHint() is only used within asserts. check-in: 78d8db7cb7 user: shearer tags: btree-code-documentation
09:42
Merge recent trunk changes into the btree-code-documentation branch check-in: 3a576608e6 user: shearer tags: btree-code-documentation
08:17
Add reminder comment that, by definition, these functions won't be called from elsewhere in SQLite. Useful to remember for beginners who may suspect unusued code. check-in: 6f5c1fde24 user: shearer tags: btree-code-documentation
2020-09-24
11:41
Added context to explain that the test coverage is about MC/DC in general, not just an SQLite-specifc test harness. check-in: 770dbedddc user: shearer tags: btree-code-documentation
06:37
Group metadata definitions together check-in: 5c306f4251 user: shearer tags: btree-code-documentation
2020-09-23
17:31
Figured out where/how sqlite3BtreeRowCountEst() is called check-in: a46537153c user: shearer tags: btree-code-documentation
2020-09-21
20:18
Fix harmless compiler warning seen with MSVC. check-in: 4591ee03d7 user: mistachkin tags: trunk
14:53
In fts5 integrity checks, do not compare the contents of the index against an external content table unless specifically requested. check-in: 782163693f user: dan tags: trunk