/ 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 dc006e08b80758b8.

2016-12-23
03:59
Use the VList object to replace Parse.azVar for tracking the mapping between SQL parameter names and parameter numbers. There is a performance improvement, though there are still a few hiccups in the current code. check-in: 68ecafa1 user: drh tags: VList
2016-12-22
14:53
Fix harmless compiler warnings. check-in: fa86db2f user: drh tags: trunk
2016-12-21
21:26
Change the default lookaside configuration from 500 slots of 128 bytes each to 125 slots of 512 bytes each. This uses the same amount of memory (64,000 bytes) but seems to perform much better in test applications. check-in: 52a12e47 user: drh tags: trunk
19:45
Simplifications to the way UnpackedRecord objects are allocated. Smaller and faster code that also fixes a subtle (currently unreachable) bug. check-in: f7ab01f2 user: drh tags: trunk
2016-12-18
17:42
Change the OP_IfNotZero opcode so that it decrements register P1 by 1 rather than the value in P3, and so that it only decrements if originally positive. This avoids decrementing the smallest 64-bit signed integer. check-in: 165c0446 user: drh tags: trunk
2016-12-17
21:07
Refinements to the new dbfuzz test program. check-in: 50325abe user: drh tags: trunk
20:27
Enhance fuzzershell.c to read and execute SQL commands in the autoexec table of the database under test. Add the dbfuzz.c test program combining selected features of fuzzershell.c and fuzzcheck.c. check-in: ef6e071a user: drh tags: trunk
08:18
Fix a problem in the shell tools readfile() command causing blobs to be truncated at the first embedded 0x00 byte in release builds, or an assert() to fail in a debug build. check-in: 8dedd6ad user: dan tags: trunk
2016-12-16
21:29
Merge recent enhancements from trunk, and especially the pragma-as-vtab change. check-in: 4b1e7804 user: drh tags: apple-osx
21:15
Merge the pragma-as-vtab enhancement from trunk. check-in: 89250777 user: drh tags: est_count_pragma
21:02
Fix a potential memory leak following an OOM error in the pragma processing. check-in: 396ab8f8 user: drh tags: est_count_pragma
18:43
Add the ".lint fkey-indexes" command to the command-line shell. check-in: 94689e3b user: drh tags: trunk
18:41
Fix minor issues with the ".lint" command implemention in the shell and the shell help text related to ".lint". Closed-Leaf check-in: 1268dc77 user: drh tags: fkey-missing-indexes
18:14
Built-in PRAGMA statements without side-effects can be invoked as table-valued functions by prefixing their name with "pragma_". check-in: d66ec5cf user: drh tags: trunk
17:28
Change ".fkey_missing_indexes" to ".lint fkey-indexes". check-in: ee621ade user: dan tags: fkey-missing-indexes
16:49
Experimental merge of the est_count_pragma and the pragma-as-vtab branches. Closed-Leaf check-in: 4b73ee33 user: drh tags: est-count-pragma-vtab
16:44
Update .fkey_missing_indexes to use the built-in pragma vtabs. check-in: 3ab05987 user: dan tags: fkey-missing-indexes
16:13
Merge the pragma-as-vtab change into this branch. check-in: 4ba45e72 user: dan tags: fkey-missing-indexes
15:57
Merge recent trunk enhancements. check-in: 74a0ca1f user: drh tags: est_count_pragma
15:05
Fix a problem causing the planner to generate sub-optimal plans for some queries that use recursive WITH sub-queries with LIMIT clauses. check-in: 053a149c user: dan tags: trunk
04:20
Fix an error in the way the "schema" argument to some pragma virtual tables is handled. Closed-Leaf check-in: 546821e2 user: drh tags: pragma-as-vtab
02:31
Simplifications to facilitate full test coverage. check-in: 01afc515 user: drh tags: pragma-as-vtab
02:14
Minor bug fixes and enhancements to the pragma eponymous virtual tables. check-in: 3f8f4615 user: drh tags: pragma-as-vtab
01:09
Merge enhancements from trunk, and especially the ability to use temp.sqlite_master as an alias for sqlite_temp_master. check-in: 994a4401 user: drh tags: pragma-as-vtab
01:00
All temp.sqlite_master to be used as an alias for sqlite_temp_master. check-in: 8d646905 user: drh tags: trunk
2016-12-15
21:33
Fix the cost estimation in the BestIndex method of the eponymous pragma virtual table implementation. check-in: 7126807a user: drh tags: pragma-as-vtab
21:11
The pragma as eponymous virtual table mechanism now appears to work. check-in: 2c274a1a user: drh tags: pragma-as-vtab
20:59
Code to automatically create eponymous virtual tables for read-only pragmas. Compiles, but does not yet work. check-in: 988a61e8 user: drh tags: pragma-as-vtab
18:59
Do exponential rather than linear expansion of the SrcList.a array when appending new elements, to reduce the number of malloc() calls. check-in: 4e374912 user: drh tags: trunk
16:01
Do more pragma processing from tables rather than in-line code. Closed-Leaf check-in: a88ca352 user: drh tags: table-driven-pragma
06:01
Add the -groupbyparent option to the ".fkey_missing_indexes" command. check-in: 976c51b4 user: dan tags: fkey-missing-indexes
2016-12-14
19:28
Add the experimental ".fkey_missing_indexes" command to the shell tool. To identify indexes that should be created on child keys if FK processing is to be enabled. check-in: 7df23aca user: dan tags: fkey-missing-indexes
14:07
Refactor the Table.nRef field as Table.nTabRef for easier grepping. check-in: 9cae4c2e user: drh tags: trunk
13:54
Increase the size of the reference count on Table objects to 32 bits. check-in: d08b72c3 user: drh tags: trunk
11:39
Fix the configure makefile to align it with the manual makefile. Unsaved changes from the previous check-in. check-in: 00a184b6 user: drh tags: trunk
11:23
Adjust the unix makefiles so that "make test" runs fuzzcheck prior to even attempting to build the other test programs. check-in: bb48f7a5 user: drh tags: trunk
11:14
Three times faster sqlite3SrcListAppend() in the common case by avoiding the call to sqlite3SrcListEnlarge() for the first allocation. check-in: 0ea2762f user: drh tags: trunk
10:30
Fix the optimization that prevents writing freelist pages to the journal. check-in: 6aa9b265 user: drh tags: trunk
2016-12-13
23:22
In the command-line shell, in the output of the ".dump", ".schema", and ".fullschema" commands, convert CREATE TABLE statements that appear to come from shadow tables into CREATE TABLE IF NOT EXISTS statements. check-in: c7021960 user: drh tags: trunk
20:30
Fix harmless compiler warnings. check-in: ed2c9f37 user: drh tags: trunk
18:47
Convert sqlite3PagerGet() into a pointer-dispatched virtual method. This makes it about 25% faster. check-in: 7f88bb44 user: drh tags: trunk
18:34
In the pager, avoid checking for the illegal page number 0 except when creating a new page. Closed-Leaf check-in: dee20ba9 user: drh tags: pager-get-method
16:57
Fix a problem causing SQLite to return false "foreign key violation" errors when there is a partial (i.e. WHERE constrained) UNIQUE index on the parent key columns. This bug did not cause SQLite to allow illegal data to be inserted into the database, only to reject legal operations. check-in: 850877d1 user: dan tags: trunk
15:53
Further refinements to the virtual method implementation of sqlite3PagerGet(). check-in: 67df4446 user: drh tags: pager-get-method
14:32
Make the sqlite3PagerGet() interface into a virtual method, with different implementations based on the current state of the pager. This gives a small performance increase by avoiding unnecessary branches inside the various methods. check-in: df5bb90d user: drh tags: pager-get-method
2016-12-12
23:24
Add the --mmap option to the speedtest1 program and to the speed-check.sh script that is frequently used to run speedtest1. check-in: 1a636d5e user: drh tags: trunk
18:12
Remove unnecessary MemPage initialization resets in the autovacuum ptrmap processing. check-in: 1b36fbb9 user: drh tags: trunk
16:15
Merge all the latest performance enhancements from trunk. check-in: a24f805b user: drh tags: apple-osx
16:08
Faster operation for large in-memory databases. check-in: 9675518b user: drh tags: trunk
12:58
Merge recent enhancements from trunk. check-in: dc006e08 user: drh tags: est_count_pragma
11:05
Performance optimization in sqlite3PagerWrite(). check-in: d4dff10a user: drh tags: trunk
01:53
Updates to the tokenizer for EBCDIC. No changes for standard builds. check-in: 4fc6580f user: drh tags: trunk
01:30
Size and performance optimization in btreeInitPage() in the freeblock validation step. check-in: 57deb1b4 user: drh tags: trunk
00:58
Change the order of comparison for divider cell overflow in balance non-root to avoid a (harmless) reference to an uninitialized variable. check-in: f9f2e23b user: drh tags: trunk
2016-12-10
13:12
Avoid an unnecessary memset() in the sqlite3BtreeInsert() routine. check-in: 35ecd4eb user: drh tags: trunk
12:58
Reorder the fields in the VdbeCursor object so that those that need to be bulk zeroed on allocation are grouped at the beginning, and the memset() only runs over those fields that really need it. check-in: 8165f88b user: drh tags: trunk
04:06
Avoid signed integer overflow when dealing with a LIMIT and OFFSET whose sum exceeds the maximum integer value. check-in: c9bdf7ad user: drh tags: trunk
00:14
In balance_nonroot, try to combine dropCell/insertCell combinations for the dividers into a cell overwrites. This results in a very small (0.05%) performance gain which is probably not worth the added complexity. Closed-Leaf check-in: 478627c9 user: drh tags: failed-dropCell-opt
2016-12-09
19:42
When doing the sqlite3BtreeInsert() overwrite optimization, make sure the memcpy() does not extend off the end of the page. check-in: 684ef458 user: drh tags: trunk
18:09
Additional comments and an assert on the sqlite3BtreeInsert() overwrite optimization. check-in: c1f0ae9d user: drh tags: trunk
17:32
In sqlite3BtreeInsert() when replacing a re-existing row, try to overwrite the cell directly rather than deallocate and reallocate the cell. check-in: 0b86fbca user: drh tags: trunk
16:12
Fix an fts5 bug that could cause a crash following an OOM error or sqlite3_interrupt() interrupt. check-in: 0ea3ece9 user: dan tags: trunk
16:02
Avoid unnecessary zeroing of fields in the MemPage object that are going to be reinitialized before use anyhow. A smaller and faster binary results. check-in: 01ada3d1 user: drh tags: trunk
00:15
Fix an obscure problem in range estimation with STAT4. check-in: 1f16c9a7 user: drh tags: trunk
2016-12-08
23:52
Fix the showstat4 utility program so that is displays strings using standard SQL notation (single quotes) rather than C-style notation. check-in: 92998e4a user: drh tags: trunk
19:04
Fix a minor error in the cg_anno.tcl script causing the cycles-per-file counts to be miscomputed. check-in: b26df26e user: drh tags: trunk
18:36
Update the tool/cg_anno.tcl script to give a summary of cycle counts by canonical source file name. check-in: 254a83bf user: drh tags: trunk
01:38
More changes to take advantage of the sqlite3VdbeAppendP4() method. check-in: 83bc5e40 user: drh tags: trunk
2016-12-07
21:35
Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently coded instruction. check-in: 28883e8f user: drh tags: trunk
20:22
The use P4_DYNAMIC in place of the P4_MPRINTF operand type. check-in: 3954f837 user: drh tags: trunk
20:09
Performance optimization for sqlite3VdbeAddOp4(). check-in: 04716c90 user: drh tags: trunk
17:06
Put the SQLITE_UNTESTABLE compile-time option in the correct order for PRAGMA compile_options. check-in: 24574a15 user: drh tags: trunk
15:49
Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE. check-in: f3608187 user: drh tags: trunk
15:38
Prevent the flattening or where-term push-down optimizations from obscuring misuses of SQL row values that can lead to crashes or assert() failures. check-in: 433d16ff user: dan tags: trunk
13:49
Always honor the sqlite3.dbOptFlags bitmask, regardless of compile-time options. Continuing fix for ticket [da78413751863]. check-in: afab1663 user: drh tags: trunk
07:46
Merge latest trunk changes into this branch. Leaf check-in: 391344d8 user: dan tags: changebatch
2016-12-06
22:47
Performance improvement and size reduction in the Expr node allocator function sqlite3PExpr(). check-in: 2a81763e user: drh tags: trunk
19:33
Add missing nul-terminator to a Tcl_AppendResult() call in tclsqlite.c. check-in: 0820f8b3 user: dan tags: trunk
17:59
In the LEMON parser-generator, fix the stack overflow processing so that it correct invokes the destructor on the top-level of the parse stack. check-in: e8247065 user: drh tags: trunk
2016-12-05
20:16
Fix a harmless redundant local variable declaration in the date/time function logic. check-in: b4bc40d1 user: drh tags: trunk
20:06
Work around a bug in the definition of "ino_t" on some versions of Android. check-in: 8df492c1 user: drh tags: trunk
2016-12-02
19:07
Simplify the date/time function logic for improved rebustness and also to decrease the size of the binary. check-in: 6e144735 user: drh tags: trunk
17:08
Extend the valid range of 'unixepoch' dates from JulianDay 0 through 9999-12-31. check-in: 768c9859 user: drh tags: trunk
14:15
Fix a potential integer overflow during out-of-bound date computations. Closed-Leaf check-in: 3c58b173 user: drh tags: date-overflow-fix
02:19
Test cases for the improved LIKE/GLOB matcher. check-in: 0bdb7ae1 user: drh tags: trunk
2016-12-01
19:58
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening sub-selects. Possible fix for [2df0107b]. check-in: a427c405 user: dan tags: trunk
19:38
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening sub-selects. Possible fix for [2df0107b]. Closed-Leaf check-in: 8bed4cd5 user: dan tags: left-join-fix
18:57
Performance improvement for GLOB and LIKE matching for patterns with two or more multi-character wildcards ("*" or "%"). check-in: 2df0ebf9 user: drh tags: trunk
18:49
Faster version of patternCompare() that uses new return values rather than an extra parameter to communicate wildcard information back up to parent searches. Closed-Leaf check-in: a1e2b6ce user: drh tags: pattern-compare-optimization
17:34
Modify the patternCompare() function (used for GLOB, LIKE) to better handle patterns containing multiple wildcard characters ("*", "%"). check-in: c5e5614d user: dan tags: pattern-compare-optimization
2016-11-30
16:54
Add the remember(V,PTR) extension function which copies an SQL value into an application variable. check-in: d2d30914 user: drh tags: trunk
16:39
Merge all the latest changes from trunk. check-in: 7ca58a07 user: drh tags: est_count_pragma
14:47
Fix then handling of the (oversized) integer literal -0x8000000000000000. check-in: 3816bb41 user: drh tags: trunk
05:08
Change the OP_DecrJumpZero opcode back to its old behavior of always decrementing, except top the decrementing when it reaches the largest negative number. check-in: 9d0d8c2e user: drh tags: trunk
04:07
More improvements to boundary cases in the date/time functions, flowing out of branch coverage testing. check-in: 1218005a user: drh tags: trunk
01:05
Prevent a warning about integer overflow when using a very large negative LIMIT. check-in: 96106d56 user: drh tags: trunk
00:48
Further changes to the date/time functions to suppress harmless signed integer overflow warnings that could have occurred when doing out-of-range date calculations which, according to the docs, give undefined results. check-in: dc453b34 user: drh tags: trunk
2016-11-29
20:39
The documentation says that the built-in date-time functions give undefined results for dates before 0000-01-01 and after 9999-12-31. Change the actually implementation so that the answer given is really NULL. This also avoids unnecessary hand-wringing over an signed integer overflow that might otherwise occur when processing out-of-bound dates. check-in: d410a839 user: drh tags: trunk
2016-11-28
21:22
Fix broken hyperlinks to the sqlite3_snapshot objection definition in the documentation. No changes to code. check-in: 9021f687 user: drh tags: trunk
19:13
Version 3.15.2 Leaf check-in: bbd85d23 user: drh tags: release, version-3.15.2, branch-3.15