SQLite

Timeline
Login

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

129 check-ins for the month beginning 2016-12-01

Following month ↑
2016-12-31
21:55
Add the --help and --all options to the wordcount test utility. (Closed-Leaf check-in: 18baeadfc8 user: drh tags: wordcount-enhancement)
18:37
In speedtest1.c, make the "--lookaside 0 0" option completely disable lookaside. (Closed-Leaf check-in: 52b99bcbf1 user: drh tags: speedtest1)
14:33
Minor #include change to speedtest1.c so that it will compile under MSVC. (check-in: 8c28fde004 user: drh tags: speedtest1)
2016-12-30
17:40
Fix a crash that could occur following an OOM in the group_concat() function if the second argument is an SQLITE_BLOB value. (check-in: 14d855d2b2 user: dan tags: trunk)
15:16
Strengthen the defense against OOM in the instr() SQL function. (check-in: a0971e7136 user: drh tags: trunk)
14:25
Add a test to ensure that the app-defined pcache xFetch() method is never passed a key of zero. (check-in: 0bdbe49c6d user: drh tags: trunk)
14:15
Avoid passing NULL pointers to memcmp() or memcpy(), even when the "number-of-bytes" argument is passed 0. (check-in: 56ff72ab44 user: dan tags: trunk)
13:55
Clarify the expectations for the behavior of the xFetch method on the sqlite3_pcache_methods object for the case when the key is zero. (Closed-Leaf check-in: b0810ac1b2 user: drh tags: pcache1-zero-page)
13:40
Improved detection of zero page numbers in the page cache. (check-in: 5550e815dd user: drh tags: pcache1-zero-page)
12:10
Fix a harmless compiler warning in fuzzcheck.c (check-in: 2842bc6053 user: drh tags: trunk)
12:06
Disable the pagerAcquireMapPage() routine if memory-mapped I/O is disabled. This fixes a harmless compiler warning on OpenBSD. (check-in: 3e25ba6e42 user: drh tags: trunk)
00:09
Encode a 64-bit integer literal in date.c as a constant expression so that it works on older compilers. Also fix a harmless compiler warning in vdbe.c. (check-in: f57952bac6 user: drh tags: trunk)
2016-12-29
19:48
Fix harmless compiler warnings in the command-line shell and in Lemon. (check-in: afcdc4a60e user: drh tags: trunk)
17:25
In kvtest.c, use stat() instead of fseek()/ftell() to determine the size of a BLOB to be read directly from disk. This makes the pile-of-files database more competative against SQLite. (check-in: a7dca29f03 user: drh tags: trunk)
16:58
Add the kvtest.c test program used to show that it is many times faster to read thumbnail and similar BLOBs out of an SQLite database than it is to read them as separate files from the filesystem. (check-in: 8074d59cf1 user: drh tags: trunk)
16:49
Add more detail to the header command to further explain how to compile and use the kvtest.c utility. (Closed-Leaf check-in: 55d29839c9 user: drh tags: kvtest)
16:18
Fix kvtest.c so that it compiles using MSVC. (check-in: e2bbeae7e7 user: drh tags: kvtest)
15:26
In kvtest.c: do not show the --cache-size setting on fopen() runs. Show progress for the (potentially slow) "export" command. (check-in: b0f58d2470 user: drh tags: kvtest)
14:44
Improvements to the kvtest.c utility. Added the --cache-size option. Additional reporting of version and settings at the end of "./kvtest run". (check-in: f6fcac6ae8 user: drh tags: kvtest)
03:57
Add the kvtest.c test program for measuring key/value read performance under various scenarios. (check-in: 489e0787c1 user: drh tags: kvtest)
2016-12-27
15:59
Do not allow the nockpt.test module to run under the inmemory_journal permutation. (check-in: a6af06f164 user: drh tags: trunk)
13:33
Allow sqlite3_interrupt() to be invoked on a database connection that is in the process of being closed even if SQLITE_ENABLE_API_ARMOR is defined. (check-in: 7854bee260 user: drh tags: trunk)
12:45
Adjust a corruption test case to accommodate the sqlite3BtreeInsert() optimization of check-in [0b86fbca66]. (check-in: 4cb0945f13 user: drh tags: trunk)
12:35
Disable new test modules nockpt.test and interrupt2.test for incompatible permutations. Add a CORRUPT_DB term to an assert() in vdbe.c. (check-in: a54e619e6f user: drh tags: trunk)
12:08
Avoid a potential (harmless) signed integer overflow in memory usage accounting when calling sqlite3_realloc() to reduce the size of an allocation. (check-in: 2d71cbdf6b user: drh tags: trunk)
02:43
Minor changes to make some newer test cases work under more compile-time options. (check-in: 382eea36c5 user: drh tags: trunk)
2016-12-26
12:25
During fuzz testing with the fuzzcheck utility program, impose a record length limit of 100MB and a limit on the length of LIKE strings of 50 bytes. (check-in: edc9db41f3 user: drh tags: trunk)
12:14
Enable ossfuzz.c to build even if SQLITE_OMIT_PROGRESS_CALLBACK is defined. (check-in: a37c00dcd1 user: drh tags: trunk)
01:41
Remove an incorrect ALWAYS() macro from balance_nonroot(), which could result in corrupt databases if it were optimized out. This ALWAYS was added only two weeks ago (check-in [f9f2e23bbd68a]) and has never appeared in an official release. (check-in: e447b23cfd user: drh tags: trunk)
00:18
Add the built-in affinity() SQL function. (check-in: 57e40e1cb1 user: drh tags: affinity-sql-func)
00:15
Enhance the fuzztest utility with the --prng-seed option. Always reseed the PRNG prior to each test. (check-in: 8c5187f69d user: drh tags: trunk)
2016-12-24
21:32
Combine the implementations of the ".tables" and ".indexes" commands in the command-line shell. The ".indexes" command now puts the indexes in multiple columns, just like ".tables" and shows all indexes in all attached databases. (check-in: def2933365 user: drh tags: trunk)
19:37
The schema name "main" is always an acceptable alias for the primary database even if the primary database is renamed using SQLITE_DBCONFIG_MAINDBNAME. (check-in: 2f481b854f user: drh tags: trunk)
18:18
Change the output format of the ".databases" command in the command-line shell so that it shows the schema name, a colon, and the corresponding filename. (check-in: 8558512e9c user: drh tags: trunk)
18:04
In the command-line shell, improve the formatting to the ".databases" command and on the ".tables" command, only show the schema prefix for databases past the first ("main") database. (check-in: c0d5626e27 user: drh tags: trunk)
2016-12-23
16:05
Fill in missing opcode documentation entries for OP_SorterNext and OP_SorterSort. (check-in: 2940661b8c user: drh tags: trunk)
13:54
Use the VList object to capture the mapping between SQL parameter names and variable numbers in a single memory allocation. (check-in: 99fddf2ecb user: drh tags: trunk)
13:52
Add check to prevent a VList from growing after pointers to labels have been taken. (Closed-Leaf check-in: aa23d7eaf6 user: drh tags: VList)
13:30
Fix the VList object so that it actually works. (check-in: 9dcd85698a user: drh tags: VList)
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: 68ecafa142 user: drh tags: VList)
2016-12-22
14:53
Fix harmless compiler warnings. (check-in: fa86db2f91 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: 52a12e47de 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: f7ab01f254 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: 165c044686 user: drh tags: trunk)
2016-12-17
21:07
Refinements to the new dbfuzz test program. (check-in: 50325abe79 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: ef6e071a62 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: 8dedd6ad44 user: dan tags: trunk)
2016-12-16
21:29
Merge recent enhancements from trunk, and especially the pragma-as-vtab change. (check-in: 4b1e780433 user: drh tags: apple-osx)
21:15
Merge the pragma-as-vtab enhancement from trunk. (check-in: 89250777b2 user: drh tags: est_count_pragma)
21:02
Fix a potential memory leak following an OOM error in the pragma processing. (check-in: 396ab8f87e user: drh tags: est_count_pragma)
18:43
Add the ".lint fkey-indexes" command to the command-line shell. (check-in: 94689e3bda 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: 1268dc7771 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: d66ec5cfb6 user: drh tags: trunk)
17:28
Change ".fkey_missing_indexes" to ".lint fkey-indexes". (check-in: ee621ade38 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: 4b73ee33f3 user: drh tags: est-count-pragma-vtab)
16:44
Update .fkey_missing_indexes to use the built-in pragma vtabs. (check-in: 3ab05987b0 user: dan tags: fkey-missing-indexes)
16:13
Merge the pragma-as-vtab change into this branch. (check-in: 4ba45e7223 user: dan tags: fkey-missing-indexes)
15:57
Merge recent trunk enhancements. (check-in: 74a0ca1f15 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: 053a149cc8 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: 546821e29e user: drh tags: pragma-as-vtab)
02:31
Simplifications to facilitate full test coverage. (check-in: 01afc51597 user: drh tags: pragma-as-vtab)
02:14
Minor bug fixes and enhancements to the pragma eponymous virtual tables. (check-in: 3f8f461504 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: 994a4401f5 user: drh tags: pragma-as-vtab)
01:00
All temp.sqlite_master to be used as an alias for sqlite_temp_master. (check-in: 8d646905b8 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: 7126807a18 user: drh tags: pragma-as-vtab)
21:11
The pragma as eponymous virtual table mechanism now appears to work. (check-in: 2c274a1a7b 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: 988a61e8b0 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: 4e3749127e user: drh tags: trunk)
16:01
Do more pragma processing from tables rather than in-line code. (Closed-Leaf check-in: a88ca3524b user: drh tags: table-driven-pragma)
06:01
Add the -groupbyparent option to the ".fkey_missing_indexes" command. (check-in: 976c51b483 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: 7df23aca1f user: dan tags: fkey-missing-indexes)
14:07
Refactor the Table.nRef field as Table.nTabRef for easier grepping. (check-in: 9cae4c2e30 user: drh tags: trunk)
13:54
Increase the size of the reference count on Table objects to 32 bits. (check-in: d08b72c38f 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: 00a184b65f 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: bb48f7a559 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: 0ea2762f1d user: drh tags: trunk)
10:30
Fix the optimization that prevents writing freelist pages to the journal. (check-in: 6aa9b26544 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: c7021960f5 user: drh tags: trunk)
20:30
Fix harmless compiler warnings. (check-in: ed2c9f3738 user: drh tags: trunk)
18:47
Convert sqlite3PagerGet() into a pointer-dispatched virtual method. This makes it about 25% faster. (check-in: 7f88bb4412 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: dee20ba982 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: 850877d1ea user: dan tags: trunk)
15:53
Further refinements to the virtual method implementation of sqlite3PagerGet(). (check-in: 67df444648 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: df5bb90d20 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: 1a636d5e0e user: drh tags: trunk)
18:12
Remove unnecessary MemPage initialization resets in the autovacuum ptrmap processing. (check-in: 1b36fbb9f0 user: drh tags: trunk)
16:15
Merge all the latest performance enhancements from trunk. (check-in: a24f805b5e user: drh tags: apple-osx)
16:08
Faster operation for large in-memory databases. (check-in: 9675518b33 user: drh tags: trunk)
12:58
Merge recent enhancements from trunk. (check-in: dc006e08b8 user: drh tags: est_count_pragma)
11:05
Performance optimization in sqlite3PagerWrite(). (check-in: d4dff10a3d user: drh tags: trunk)
01:53
Updates to the tokenizer for EBCDIC. No changes for standard builds. (check-in: 4fc6580ffa user: drh tags: trunk)
01:30
Size and performance optimization in btreeInitPage() in the freeblock validation step. (check-in: 57deb1b412 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: f9f2e23bbd user: drh tags: trunk)
2016-12-10
13:12
Avoid an unnecessary memset() in the sqlite3BtreeInsert() routine. (check-in: 35ecd4ebc5 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: 8165f88bb1 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: c9bdf7adb4 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: 478627c9e9 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: 684ef4582e user: drh tags: trunk)
18:09
Additional comments and an assert on the sqlite3BtreeInsert() overwrite optimization. (check-in: c1f0ae9d29 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: 0b86fbca66 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: 0ea3ece988 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: 01ada3d106 user: drh tags: trunk)
00:15
Fix an obscure problem in range estimation with STAT4. (check-in: 1f16c9a76b 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: 92998e4afb 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: b26df26e18 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: 254a83bf30 user: drh tags: trunk)
01:38
More changes to take advantage of the sqlite3VdbeAppendP4() method. (check-in: 83bc5e40af 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: 28883e8f3e user: drh tags: trunk)
20:22
The use P4_DYNAMIC in place of the P4_MPRINTF operand type. (check-in: 3954f83798 user: drh tags: trunk)
20:09
Performance optimization for sqlite3VdbeAddOp4(). (check-in: 04716c907b user: drh tags: trunk)
17:06
Put the SQLITE_UNTESTABLE compile-time option in the correct order for PRAGMA compile_options. (check-in: 24574a15a3 user: drh tags: trunk)
15:49
Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE. (check-in: f360818737 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: 433d16ff3a user: dan tags: trunk)
13:49
Always honor the sqlite3.dbOptFlags bitmask, regardless of compile-time options. Continuing fix for ticket [da78413751863]. (check-in: afab166313 user: drh tags: trunk)
07:46
Merge latest trunk changes into this branch. (Leaf check-in: 391344d88a user: dan tags: changebatch)
2016-12-06
22:47
Performance improvement and size reduction in the Expr node allocator function sqlite3PExpr(). (check-in: 2a81763e68 user: drh tags: trunk)
19:33
Add missing nul-terminator to a Tcl_AppendResult() call in tclsqlite.c. (check-in: 0820f8b3de 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: e8247065cf user: drh tags: trunk)
2016-12-05
20:16
Fix a harmless redundant local variable declaration in the date/time function logic. (check-in: b4bc40d183 user: drh tags: trunk)
20:06
Work around a bug in the definition of "ino_t" on some versions of Android. (check-in: 8df492c171 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: 6e144735ed user: drh tags: trunk)
17:08
Extend the valid range of 'unixepoch' dates from JulianDay 0 through 9999-12-31. (check-in: 768c9859b2 user: drh tags: trunk)
14:15
Fix a potential integer overflow during out-of-bound date computations. (Closed-Leaf check-in: 3c58b173d9 user: drh tags: date-overflow-fix)
02:19
Test cases for the improved LIKE/GLOB matcher. (check-in: 0bdb7ae126 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: a427c40528 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: 8bed4cd549 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: 2df0ebf95f 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: a1e2b6ce3a 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: c5e5614d98 user: dan tags: pattern-compare-optimization)
Previous month ↓