/ 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 4cd2a9672c59ea4b.

2017-03-10
17:03
Fix an error in the SQLITE_MAX_MEMORY implementation resulting from a bad merge. Update the OSSFuzz interface so that it times out after running the byte-code engine for 10 seconds. check-in: f8560c60 user: drh tags: trunk
16:22
Add the -DSQLITE_MAX_MEMORY=N compile-time option. The default is no limit. check-in: eabd4ef4 user: drh tags: trunk
15:55
Add the SQLITE_MAX_MEMORY compile-time option that provides a hard upper bound on the amount of memory that SQLite will use, per process. Closed-Leaf check-in: 77dfe2ab user: drh tags: max-memory-option
14:36
Enhance the ".stats" dot-command in the CLI to use sqlite3_status64() instead of sqlite3_status(). check-in: 118f5c05 user: drh tags: trunk
01:05
Improvements to ".selftest --init". Tests are number in increments of 10 starting with 100. The tests are generated inside a SAVEPOINT. Errors are reported during test generation. Tests can be appended to existing tests. Add a test case to verify the schema. check-in: b044b152 user: drh tags: trunk
2017-03-09
22:00
Remove the test/dbselftest.c program. In its place, add the ".selftest" command to the CLI. The new CLI version is .selftest is slightly different in that it uses SHA3 hashing instead of SHA1, so the new is subtly incompatible with the old. check-in: f4fcd46f user: drh tags: trunk
18:13
Fix the ".dump" command to correctly extract tail data from corrupt WITHOUT ROWID tables. check-in: 6c627e50 user: drh tags: trunk
16:32
Add the --recovery-mode option to the CLI ".dump" command. This involves enhancing the "PRAGMA reverse_unordered_selects" command to accept a "TOGGLE" option. Recovery mode used to be always on. Now it is opt-in. Not sure this is the correct approach. Also not sure if TOGGLE is a good feature to have on boolean PRAGMA statements. Closed-Leaf check-in: 5dc82a15 user: drh tags: dump-recovery
13:50
Begin moving separate boolean variables in the ShellState object of the CLI into the shellFlgs bitmask. check-in: 50eec5d9 user: drh tags: trunk
2017-03-08
23:29
Refactor the output logic in the CLI. Not sure we want to go this way. Just saving the work for historical reference, or in case I decide to come back to it. Leaf check-in: aacac906 user: drh tags: shell-print-refactor
18:37
Merge recent enhancements from trunk, including the --preserve-rowids option to .dump and the .sha3sum commands of the CLI. check-in: 9b439173 user: drh tags: apple-osx
18:06
Make sure the database connection is open prior to running the ".sha3sum" command. check-in: 2ea300fb user: drh tags: trunk
17:56
In the ".sha3sum" command, if there is a LIKE pattern, show the hashes for each table separately. Without a LIKE pattern, show a single hash over the entire database. check-in: 30f87883 user: drh tags: trunk
16:10
Add the ".sha3sum" command to the CLI - used to compute a cryptographic hash of the content of a database file or of individual tables with in that file. check-in: fc663799 user: drh tags: trunk
15:03
Improved comments explaining the sha3_query() format. Fix a performance #ifdef error in the sha3 implementation. check-in: 54ef7abd user: drh tags: trunk
13:50
Add the shathree.c extension for implementing SHA3() and SHA3_QUERY() SQL functions. check-in: f7ca9193 user: drh tags: trunk
12:25
In the CLI, avoid unnecessary identifier quoting in the ".dump" output. Also add new ".dump" test cases. check-in: de65f907 user: drh tags: trunk
11:44
Add the --preserve-rowids option to the ".dump" command in the CLI. check-in: c60aee24 user: drh tags: trunk
2017-03-07
20:03
Add test script ext/rbu/rbu_round_trip.tcl. Uses "dbselftest" to test that "rbu" and "sqldiff" work together. check-in: 961e79da user: dan tags: trunk
14:47
Before beginning an incremental checkpoint in RBU, sync the directory containing the target database file. This ensures that the new directory entry created by renaming the *-oal file to *-wal is synced to disk. Cherrypick of [915a9a28]. Leaf check-in: 694fe0b2 user: dan tags: version-3.17.0-rbu-fixes
14:46
Fix another RBU case similar to the previous. This one for systems where the sector-size is larger than the page-size. Cherrypick of [4012bb3a]. check-in: 59a11b7f user: dan tags: version-3.17.0-rbu-fixes
14:45
When saving the state of an RBU update in the incremental-checkpoint phase, sync the database file. Otherwise, if a power failure occurs and the RBU update resumed following system recovery, the database may become corrupt. Cherrypick of [edee6a80]. check-in: 811a5599 user: dan tags: version-3.17.0-rbu-fixes
14:38
Performance optimization in the tokenizer/parser loop. check-in: 2cb71583 user: drh tags: trunk
12:18
Minor comment typo fixes. No changes to code. check-in: 01cd9fb1 user: drh tags: trunk
03:40
More size and speed improvements in the expression name resolver. check-in: e0a3d39f user: drh tags: trunk
03:25
Small size reduction and performance increase in the name resolver routine for expressions. check-in: 1a3554e1 user: drh tags: trunk
2017-03-06
23:51
Make the default MASK argument for "PRAGMA optimize" be 0xfffe, to allow for future expansion of up to 14 new default-on optimizations. check-in: 73019a8b user: drh tags: trunk
20:44
Fix a typo in a comment. No changes to code. check-in: ec529bf1 user: drh tags: trunk
20:00
Merge all pending 3.18 enhancements from trunk. check-in: 1650c3f4 user: drh tags: apple-osx
17:33
Add an initial implementation of the "PRAGMA optimize" command. check-in: 137aeb2b user: drh tags: trunk
11:39
Merge updates from trunk. Closed-Leaf check-in: 5f7fc79a user: drh tags: auto-analyze
2017-03-03
21:51
If a reprepare is needed after binding to a variable with a number larger than 32, set only the high-order bit of the Vdbe.expmask rather than setting all bits. This could potentially result in fewer false-positive reprepares. check-in: 45797fee user: drh tags: trunk
21:36
Remove an redundant function call from the date/time function implementation. check-in: 4a04c48a user: drh tags: trunk
20:43
Fix another corner-case for the 'start of ...' modifier in the date/time functions. Related to ticket [6097cb92745327a1]. check-in: 8831f439 user: drh tags: trunk
20:02
Fix a case introduced by [4cd2a967] where a corrupt database could cause a buffer overwrite. check-in: 5d0455fe user: dan tags: trunk
16:51
Before beginning an incremental checkpoint in RBU, sync the directory containing the target database file. This ensures that the new directory entry created by renaming the *-oal file to *-wal is synced to disk. check-in: 915a9a28 user: dan tags: trunk
2017-03-02
23:40
Fix a bug in the 'start of ...' date/time modifiers when they follow a julian day number. Fix for ticket [6097cb92745327a1]. check-in: 081dbcfb user: drh tags: trunk
16:56
Fix another RBU case similar to the previous. This one for systems where the sector-size is larger than the page-size. check-in: 4012bb3a user: dan tags: trunk
14:51
When saving the state of an RBU update in the incremental-checkpoint phase, sync the database file. Otherwise, if a power failure occurs and the RBU update resumed following system recovery, the database may become corrupt. check-in: edee6a80 user: dan tags: trunk
14:17
Add an optional bitmask of allowed optimizations on the "PRAGMA optimize" command. The 0x01 bit is Debug Mode. check-in: a35388ee user: drh tags: auto-analyze
13:22
Merge recent trunk enhancements. check-in: c60cdb47 user: drh tags: auto-analyze
13:13
Make sure the Vdbe.expmask value is set correctly in sqlite3VdbeSwap(). This fixes a problem introduced by [a8fd7052]. check-in: 29f54b89 user: drh tags: trunk
2017-03-01
11:30
Fix a use-after-free problem in the shell tool code that could occur if an SQL statement were executed after an ".open" command with invalid options. check-in: ac760db0 user: dan tags: trunk
2017-02-27
17:16
Make PATH handling more robust in the batch tools for MSVC. check-in: 23a8917e user: mistachkin tags: trunk
17:06
Improve performance of fts5 writes by writing the "averages" record once at the end of each transaction instead of every time the table is updated. check-in: 2b210d69 user: dan tags: trunk
16:15
Add an sqlite3_set_last_insert_rowid() method. Use it to work around fts4 and fts5 modifying the last-insert-rowid unintuitively from within commit processing. check-in: 952a3906 user: dan tags: trunk
14:52
Add an sqlite3_set_last_insert_rowid() method. Use it to work around fts4 and fts5 modifying the last-insert-rowid unintuitively from within commit processing. Closed-Leaf check-in: fe41bb56 user: dan tags: set-last-insert-rowid
12:23
Remove references to special handling in virtual table methods from the documentation for sqlite3_last_insert_rowid(). check-in: 660f9569 user: dan tags: trunk
2017-02-25
20:57
Add an 'extern "C"' block to header file sqlite3userauth.h. check-in: ffd61fb4 user: dan tags: trunk
17:47
Optimize defragmentPage() in the case where the page contains either one or two free-blocks and a small number of fragmented bytes. check-in: 4cd2a967 user: dan tags: trunk
16:24
Tweak the code on this branch to detect b-tree page corruption in the same cases as the trunk. Closed-Leaf check-in: f9863b39 user: dan tags: defragmentpage-opt
2017-02-24
19:58
Optimize defragmentPage() in the case where the page contains either one or two free-blocks and a small number of fragmented bytes. check-in: 202b1c02 user: dan tags: defragmentpage-opt
2017-02-23
16:30
Save a few bytes and a few cycles by setting Vdbe.expmask to zero for statements prepared using legacy interface sqlite3_prepare(). check-in: a8fd7052 user: dan tags: trunk
02:15
Add two NEVER() operators in the sqlite3BtreeRowCountEst() routine. check-in: 7a959f6d user: drh tags: auto-analyze
00:58
Do a single OP_Expire at the very end of "PRAGMA optimize", and omit the OP_Expire on ANALYZE commands invoked by the pragma. check-in: 188300a3 user: drh tags: auto-analyze
2017-02-22
20:24
Change the name of the analyze_as_needed pragma to "optimize". Enhance the comment (which will become documentation, assuming these changes land on trunk) to explain that the optimize pragma is likely to be enhanced in various ways in future releases and that applications should not depend upon the current behavior. check-in: 9fced545 user: drh tags: auto-analyze
19:49
Merge integrity_check and other improvements from trunk. check-in: fe073905 user: drh tags: auto-analyze
19:41
Move a branch condition in analyze.c inside an #ifdef SQLITE_ENABLE_STAT4 block. check-in: d6afd98d user: dan tags: trunk
19:27
Improve the performance of ANALYZE when SQLITE_ENABLE_STAT4 is defined. check-in: 737a8244 user: dan tags: trunk
18:53
Improvements to PRAGMA integrity_check. Verify CHECK constraints. Verify NOT NULL constraints even on table that lack indexes. Verify CHECK and NOT NULL constraints with PRAGMA quick_check. check-in: aa02bd3c user: drh tags: trunk
18:04
Cleanup and simplification of the output row count limit control of PRAGMA integrity_check. Closed-Leaf check-in: 5af7d72e user: drh tags: integrity-check-improvements
15:11
Fix integrity_check so that it verifies NOT NULL constraints even for tables that have no indexes. Enhance quick_check so that it verifies NOT NULL and CHECK constraints. check-in: 5264844b user: drh tags: integrity-check-improvements
14:15
Enhance "PRAGMA integrity_check" so that it verifies CHECK constraints. check-in: 549bae08 user: drh tags: integrity-check-improvements
2017-02-21
21:24
In sqlite3VdbeHalt(), return as soon as possible if Vdbe.magic!=VDBE_MAGIC_RUN. This makes sqlite3_reset() slightly faster in some cases. check-in: 80adc0cb user: dan tags: trunk
17:52
Fix an FTS5 problem that could cause a crash when certain queries were interrupted using sqlite3_interrupt(). check-in: e400909f user: dan tags: trunk
15:27
Very small enhancement to dispatch speed for SQL functions. check-in: 3c3228ed user: drh tags: trunk
14:04
The VDBE cycle counts for the sqlite3_progress_handler() callback are now cumulative. Leftovers from the previous statement are applied to the next statement. Leaf check-in: 7a62fc6a user: drh tags: cumulative-progress-count
13:29
Proof of concept for a "PRAGMA vdbe_cycle_limit=N" command. When N>0, invoke sqlite3_interrupt() whenever any byte code program uses more than N virtual machine cycles. Leaf check-in: 9626b41e user: drh tags: vdbe_cycle_limit
2017-02-20
23:32
Correct a harmless typo in the previous check-in. check-in: 1589db01 user: mistachkin tags: trunk
19:13
Avoid unsigned integer overflows for SQLITE_WIN32_HEAP_INIT_SIZE when the Win32 heap subsystem is used with very large values of SQLITE_DEFAULT_CACHE_SIZE and/or SQLITE_DEFAULT_PAGE_SIZE. check-in: 96b6a98e user: mistachkin tags: trunk
14:30
Small grammar simplification. check-in: 0d8a868a user: drh tags: trunk
13:11
Merge fixes from trunk. check-in: ff213f2e user: drh tags: auto-analyze
2017-02-18
22:52
Updated comments. No code changes. check-in: e842ad39 user: drh tags: auto-analyze
20:05
Add an optimization to OP_Column to speed up sequential OP_Column instructions that read earlier fields from the same cursor. Attempt to reorder OP_Column opcodes so as to take advantage of this. Leaf check-in: c1adf959 user: dan tags: sort-column-opcodes
15:58
Add the OP_SqlExec opcode and use it to implement "PRAGMA analyze_as_needed", invoking ANALYZE subcommands as necessary. This simplifies the implementation. check-in: d386015f user: drh tags: auto-analyze
13:47
Add the SQLITE_BUG_COMPATIBLE_20160819 compile-time option to omit the error message when an unrecognized argument is provided to the VACUUM command. check-in: 49181427 user: drh tags: trunk
02:42
Fix errors in the table resize detection. check-in: 4229caec user: drh tags: auto-analyze
02:19
In the analyze_as_needed pragma, avoid running unnecessary OP_LoadAnalysis and OP_Expire opcodes. Make the analyze_as_needed pragma responsive to the schema name. check-in: 882599a4 user: drh tags: auto-analyze
2017-02-17
23:52
Fix the #endif location for an #ifndef SQLITE_UNTESTABLE macro in the command-line shell. check-in: 8cc9d74c user: drh tags: trunk
21:23
Increase the estimated cost of sorting when sorting wide results sets, to account for the extra storage space and I/O required for the external sort. Leaf check-in: 38298ef9 user: drh tags: apple-increased-sorting-cost
19:24
The analyze_as_needed pragma now responds to table size growth and will automatically rerun the analysis after each 10x size increase. check-in: bfbdd074 user: drh tags: auto-analyze
16:26
Add the "PRAGMA analyze_as_needed" command. check-in: e93db237 user: drh tags: auto-analyze
15:26
Set the TF_StatsUsed flag on tables when the query planner outcome is affected by the sqlite_stat1 data. Also, change the column names of the "PRAGMA stats" command so that they are not keywords. check-in: fb2b8ae8 user: drh tags: auto-analyze
13:38
Enhance the Index and Table objects so that they remember if their stats come from the sqlite_stat1 table. Make the "PRAGMA stats" an SQLITE_DEBUG only pragma. Add the flags column to "PRAGMA stats". These are all preliminary steps toward a "PRAGMA analyze_ifneeded;" feature. check-in: 85026c8e user: drh tags: auto-analyze
02:07
Merge fixes from trunk. Leaf check-in: 662e8ccf user: drh tags: increased-sorting-cost
02:04
Fix a test case that was made to fail by the LIKE optimization enhancement in check-in [158290c0ab] but which went unnoticed because test builds were running with ICU enabled and ICU disables the LIKE optimization. check-in: 218b2bbb user: drh tags: trunk
01:43
Enable the ".wheretrace" and ".selecttrace" extensions in the command-line shell when compiled on Windows using DEBUG=3 or higher. Fix a harmless warning in the shell that comes up when compiled this way. check-in: 8a03be1d user: drh tags: trunk
2017-02-16
21:29
Increase the estimated cost of sorting when sorting wide results sets, to account for the extra storage space and I/O required for the external sort. check-in: aa0703e5 user: drh tags: increased-sorting-cost
20:52
Change the name of WhereInfo.pDistinctSet to pResultSet, since it is now used for more than just DISTINCT processing. check-in: 9fc5cd50 user: drh tags: trunk
17:18
Change two MallocZero() calls into MallocRaw() to avoid unnecessary memset(). check-in: ff5e733c user: drh tags: trunk
16:26
Fix a comment on a field of the ExprList object. No changes to code. check-in: bb8e2642 user: drh tags: trunk
15:57
Increase Table.tabFlags from 8 to 32 bits. check-in: 7e14044c user: drh tags: trunk
15:06
Remove two redundant initializations from the virtual table logic. check-in: 6bd82b95 user: drh tags: trunk
14:48
Always use the IsVirtual() macro to determine if a Table object is a virtual table. Slightly smaller and faster code. check-in: 6affb1c8 user: drh tags: trunk
14:02
Merge recent enhancements from trunk. check-in: 325ccfa9 user: drh tags: est_count_pragma
2017-02-15
22:36
Query planner optimization to detect empty tables in a join early and bail out without doing excess work. check-in: 58797e9b user: drh tags: trunk
18:30
Minor enhancement to mutex tracing on Win32. check-in: 830b9235 user: mistachkin tags: trunk
17:47
simple test cases for carray_asc. Leaf check-in: 1d4759c1 user: drh tags: carray_asc
16:11
Add the companion "carray_asc" table-valued function to the carray extension. check-in: a2b4f60b user: drh tags: carray_asc
16:04
Bummer. Checked this in as a branch off of the wrong branch.... Was: Add the companion "carray_asc" table-valued function to the carray extension. Closed-Leaf check-in: 396b9d99 user: drh tags: mistake