/ Timeline
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

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

100 check-ins occurring around b2c89ef49cd19b80.

2014-10-08
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
09:27
Fix a segfault that could occur if an 'optimize' command was issued on an FTS table that contained at least one row but zero terms. Leaf check-in: b21746ac user: dan tags: branch-3.7.14
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