/ 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 descendants of [49181427]

2017-03-17
03:21
Fix a problem in the enhanced PRAGMA integrity_check where it verifies CHECK constraints: Do not be confused by the reuse of the Table.pCheck field by VIEWs with named columns. Problem discovered by OSS-Fuzz. check-in: 019dd3d5 user: drh tags: trunk
2017-03-16
18:55
If the user has not set it explicitly, set the "PRAGMA synchronous" setting to SQLITE_DEFAULT_SYNCHRONOUS when a database connection changes from wal to rollback journal mode. check-in: 5c604479 user: dan tags: trunk
18:54
Fix a typo causing the build to fail if SQLITE_DEFAULT_SYNCHRONOUS==SQLITE_DEFAULT_WAL_SYNCHRONOUS. Closed-Leaf check-in: df39adea user: dan tags: default-synchronous-fix
18:14
If the user has not set it explicitly, set the "PRAGMA synchronous" setting to SQLITE_DEFAULT_SYNCHRONOUS when a database connection changes from wal to rollback journal mode. check-in: 78030c0f user: dan tags: default-synchronous-fix
14:28
Simplified OOM detection in the instr() SQL function. check-in: 6d85eb57 user: drh tags: trunk
13:30
Fix an uninitialized variable reference in the text generator for "PRAGMA vdbe_trace=ON" output. Problem discovered by OSS-Fuzz. check-in: e3d48716 user: drh tags: trunk
13:14
Fix a problem in the "showdb" utility that prevents it from correctly decoding cells with no content beyond the record header. check-in: eb7680a1 user: drh tags: trunk
12:11
Fix a crash that could follow an OOM condition in the instr() SQL function. Problem discovered by OSS-Fuzz. check-in: 6e59e903 user: dan tags: trunk
2017-03-15
20:27
Updates to README files under the ext/ hierarchy. No changes to code. check-in: 029bc5d2 user: drh tags: trunk
19:11
Add the "Obtaining The Code" subsection in the top-level README.md file. No changes to code. check-in: b1b1aa8b user: drh tags: trunk
14:20
Mention the ".selftest" command in the ".help" output of the CLI. check-in: 37f766db user: drh tags: trunk
14:04
Make "PRAGMA temp.synchronous=N" a no-op to ensure that the TEMP schema always has synchronous=OFF. This fixes an issue discovered by OSS-Fuzz. check-in: bcf6bb08 user: drh tags: trunk
13:47
Improved header comment on the shathree.c extension. No changes to code. check-in: 84f2e3d5 user: drh tags: trunk
2017-03-14
15:27
Updates to the MSVC makefiles. check-in: 1e4b9e7c user: mistachkin tags: trunk
2017-03-13
22:10
Add the dbdump.c extension that implements functionality similar to the ".dump" command of the CLI, though in a separate library. check-in: 2b9980a2 user: drh tags: trunk
22:02
Add dbdump.exe to the MSVC makefile. Closed-Leaf check-in: 59241a50 user: drh tags: dbdump
21:49
Fixes to the dump logic. All appears to be working in preliminary tests. check-in: 007b11e3 user: drh tags: dbdump
21:26
First draft of the complete dbdump.c library. check-in: 84ea4fcc user: drh tags: dbdump
19:26
Infrastructure for an extension C-library to implement sqlite3_db_dump() and a corresponding "dbdump" command-line utility - both of which do the same work as the ".dump" command of the CLI. check-in: 74c5ace4 user: drh tags: dbdump
18:31
Merge all recent changes from trunk. check-in: 3d04b2cd user: drh tags: apple-osx
18:24
In the output of the ".dump" command in the CLI, quote newline and carriage-return characters using the char() function, so that they do not get eaten by end-of-line processing logic in the OS or in other command-line utilities and/or libraries. check-in: 68f6dc7a user: drh tags: trunk
17:37
Fix the sqlite3TreeViewSelect() routine so that it works with a null pointer to the Select object. check-in: 9034cf7e user: drh tags: trunk
14:30
Fix a segfault that could occur following an OOM error in the flattenSubquery() routine. check-in: c6dda3f7 user: dan tags: trunk
13:45
In the OSSFuzz test module, invoke the progress handler much more frequently so that timeouts are detected punctually even if the test script is running opcodes that individually take a long time (for example, an OP_Function opcode that invokes "randomblob(1.5e6)"). check-in: f3b6959c user: drh tags: trunk
2017-03-12
20:28
Fix a possible NULL pointer dereference in following an OOM error in sqlite3ExprIsInteger(). Problem found by OSS-Fuzz. check-in: 5ec655e8 user: drh tags: trunk
19:39
Remove an obsolete assert() in the IN operator code generation. check-in: 18bf6aca user: drh tags: trunk
2017-03-11
13:02
Make sure the translateColumnToCopy() routine in the query planner does not try to access an array that failed to be fully allocated due to a prior OOM. This fixes an issue discovered by OSSFuzz. check-in: 3299a261 user: drh tags: trunk
01:56
The output of the ".dump" command in the CLI quotes newline and carriage-return characters using "char(10)" and "char(13)". Closed-Leaf check-in: 8b2954dd user: drh tags: string-quoting-dump
00:46
Increase the number of significant digits in floating point literals on ".dump" output from the shell. check-in: 7359fcac user: drh tags: trunk
2017-03-10
18:36
Remove the rbu_round_trip.tcl script. It is now part of project "test-dbs". check-in: b5bf2957 user: dan tags: trunk
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: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
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
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