SQLite
Timeline
Not logged in

200 most recent timeline items related to "trunk"

2017-01-22
02:04
[772dcb08] Leaf: Fixes to documentation comments in the public header file. (user: mistachkin, tags: trunk)
00:11
[ed62c5a6] Fix an initialized variable in kvtest. (user: drh, tags: trunk)
2017-01-21
16:54
[8e5cfb20] B-tree optimization: When seeking on a rowid table that has already been positioned, check to see if the new row happens to be the next row on the same leaf page. That is a reasonably common case, and if it is true it avoids a full binary search. (user: drh, tags: btree-moveto-neighbor)
16:27
[347df3c1] Change sqlite3_blob_reopen() to call sqlite3VdbeExec() directly rather than going through sqlite3_step(). Performance enhancement. (user: drh, tags: trunk)
15:58
[ffda1d1e] Add extra (somewhat inefficient) trace callbacks for triggers if SQLITE_TRACE_TRIGGER is defined. (user: dan, tags: trigger-trace)
15:55
[0d1ad13a] In the kvtest.c test utility, reuse the buffer into which blobs are read, rather than reallocating it for each row. This is a closer match to how other test programs work, and thus provides a better comparison. (user: drh, tags: trunk)
15:30
[4cda3b30] Leaf: A proof-of-concept for running sqlite3_blob_open() without using OP_Column when operating on a pure key/value table. This demo does not include any corrupt database checking. Uses about 3% fewer CPU cycles on a key/value performance test. (user: drh, tags: kv-access-opt-demo)
14:11
[9d197a53] Remove an unnecessary sqlite3_bind_int64() call from sqlite3_blob_open(). Also other minor refactoring of the sqlite3_blob implementation. (user: drh, tags: trunk)
2017-01-20
20:43
[264e5c10] Minor performance optimization and size reduction to the accessPayload() routine in btree.c. (user: drh, tags: trunk)
16:47
[8971d98f] Fix a typo in the help message for kvtest. (user: dan, tags: trunk)
16:46
[90291327] Add option "--stats" to test program kvtest. Specifying --stats causes kvtest to output information similar to the shell tool option of the same name. (user: dan, tags: trunk)
16:09
[87b640c8] Get the "--testset rtree" option working on speedtest1. Add the --rtree, --lookaside, and --clang options to the speed-check.sh script. (user: drh, tags: trunk)
00:40
[52a61967] Minor performance optimizations to sqlite3_blob_open() and sqlite3_blob_reopen(). (user: drh, tags: trunk)
2017-01-19
21:20
[9ed38521] If compiled with SQLITE_INLINE_MEMCPY, all memcpy() calls are replaced with in-line code. With that change, cachegrind shows which memcpy() calls are taking the most time. This is a performance-measurement hack only and is not for production use. (user: drh, tags: trunk)
18:20
[ffd559af] In the 'vtshim' extension, avoid accessing freed memory when handling errors from xCreate/xConnect. (user: mistachkin, tags: trunk)
2017-01-18
22:47
[a84a08d0] In the 'windirent' test module, use a macro for the hidden/system attribute checking. (user: mistachkin, tags: trunk)
22:19
[b92cc6e5] Remove superfluous option to Tcl 'lsort' in the vtabH test file. (user: mistachkin, tags: trunk)
22:16
[d3c91c1f] Make the vtabH-3.1 test more portable and robust. (user: mistachkin, tags: trunk)
22:16
[26dd42b4] Fix handling of initial hidden and/or system files in the opendir() implementation for Windows. No changes to non-test code. (user: mistachkin, tags: trunk)
20:14
[2a8f6c89] Add temporary code to record and report on the set of b-tree pages read and written by the current transaction. This is likely still buggy. (user: dan, tags: transaction-pages)
17:20
[a435841e] Baseline interface definition for the experimental sqlite3_kv accessor object. (user: drh, tags: sqlite3_kv)
2017-01-17
10:41
[681d96eb] Fix a problem that could cause a spurious SQLITE_NOMEM error when attempting to resume an RBU operation if the previous client failed right after completing the incremental checkpoint. Also a "cannot vacuum wal db" error that could occur when resuming an RBU vacuum if an error (OOM or IO error) occurs during the incremental checkpoint. (user: dan, tags: trunk)
00:10
[7fd560c6] Disable intrinsic functions for Windows using Clang, due to reports of linkage errors. This causes a 0.6% performance reduction. We will want to revisit this change in the future. (user: drh, tags: trunk)
2017-01-16
18:10
[9b64af7b] Back out check-in [0b3174e0b1364c] and replace it with a better fix for \ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem identified by ticket [7ffd1ca1d2ad4ec]. Add new test cases for both tickets. (user: drh, tags: trunk)
16:43
[06136652] Closed-Leaf: Back out check-in [0b3174e0b1364c] and replace it with a better fix for ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem identified by ticket [7ffd1ca1d2ad4ec]. (user: drh, tags: automatic-index-affinity)
16:01
[9d0dfe0b] Add test cases for tickets [91e2e8ba6ff2e2] and [7ffd1ca1d2ad4ec]. (user: drh, tags: automatic-index-affinity)
11:54
[e42ed9b4] Leaf: An example showing how to improve performance of sqlite3VdbeSerialPut() using the GCC intrinsic function __builtin_bswap64(). (user: drh, tags: builtin-bswap64)
2017-01-13
22:21
[8b42b8e3] Merge updates from trunk. (user: mistachkin, tags: winSectorSize)
18:24
[97914266] Fix a problem preventing resumption of RBU operations after recovering from a process or system failure that occurs during the incremental-checkpoint phase. (user: dan, tags: trunk)
12:53
[8c85b8fd] Fix the build for SQLITE_ENABLE_MEMORY_MANAGEMENT. (user: drh, tags: trunk)
2017-01-12
19:10
[9acc7238] Remove a branch that is probably unreachable, and which adds no value. (user: drh, tags: trunk)
16:21
[385db266] Fix harmless compiler warnings in the UPDATE code generator. (user: drh, tags: trunk)
16:14
[bddf3956] Remove an unnecessary corruption test from the btree balancer. If corruption is present, it will be found harmlessly by later tests. (user: drh, tags: trunk)
15:19
[bd8b977a] Leaf: Test case macros to show that the previous check-in is well tested. (user: drh, tags: extra-testcase-macros)
15:11
[8097712c] Improved detection of cells that extend into the reserved space at the end of the page while adjusting overflow page pointers during autovacuum. (user: drh, tags: trunk)
11:52
[163cc1b2] Remove invalid test case from cursorhints2.test (user: drh, tags: trunk)
11:50
[c07aef6f] Make sure Tcl_AppendResult() always has a NULL-pointer argument at the end. (user: drh, tags: trunk)
2017-01-11
21:03
[7ae6104a] Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. (user: dan, tags: trunk)
20:10
[62257eb5] Closed-Leaf: Fix a problem causing the pre-update hook to be passed an incorrect rowid value in some single-pass multi-row updates. (user: dan, tags: onepass-update)
16:52
[381fd34b] Attempt to detect physical sector sizes on Windows 8 and higher. (user: mistachkin, tags: winSectorSize)
14:15
[f58f75b5] In the STAT4 computations, ensure that the aAvgEq values do not go negative. (user: drh, tags: trunk)
2017-01-10
20:04
[46db23cc] Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. (user: dan, tags: onepass-update)
17:37
[e500c15a] Add a test case for ticket [25e335f802dd]. (user: dan, tags: trunk)
17:33
[c92ecff2] Throw an error if the ON clause of a LEFT JOIN references tables to the right of the ON clause. Fix for ticket [25e335f802dd]. (user: drh, tags: trunk)
16:09
[4209b89e] Avoid unnecessary calls to the xRoundup() method of the memory allocator when the soft heap limit is not set. (user: drh, tags: trunk)
15:08
[71c03b59] Fix a potential assertion fault discovered by OSS-Fuzz. (user: drh, tags: trunk)
2017-01-09
20:57
[ff9eab95] Leaf: Merge latest changes from trunk, and also move the perf-counter into the inner loop of sqlite3BtreeMovetoUnpacked(). (user: drh, tags: vdbe-aux-perf)
19:55
[a5fa0965] Remove a redundant assignment statement. (user: drh, tags: trunk)
19:27
[237aa974] Performance optimization and size reduction in the OP_Variable opcode. (user: drh, tags: trunk)
18:22
[d38fd229] Fix typo in a comment. No changes to code. (user: mistachkin, tags: trunk)
18:20
[8a90f691] Closed-Leaf: Try to move OP_Concat operations outside the inner loop. This turns out to make things very slightly slower, at least in speedtest1.c. (user: drh, tags: failed-optimization)
15:44
[6e106acd] Modify the OP_RowData opcode so that when P3!=0 it is allowed to hold an ephemeral copy of the content. This avoids unnecessary memcpy() operations in the xfer-optimization and VACUUM. (user: drh, tags: trunk)
13:43
[a5fe03bc] Add the SQLITE_UINT64_TYPE compile-time option. (user: drh, tags: trunk)
06:33
[d0e212d0] Upgrade this branch to 3.16 plus the various fixes that appeared after its release. (user: dan, tags: begin-concurrent)
2017-01-07
14:47
[3178ec4c] Improvements to the iIdxNoSeek optimization of sqlite3GenerateRowDelete() so that it is automatically disabled for BEFORE triggers but works in all other cases. (user: drh, tags: trunk)
14:26
[db2c0960] Critical fix to the previous check-in so that it works when there are BEFORE triggers that move the cursor before the OP_Delete has a chance to be applied. (user: drh, tags: trunk)
03:26
[f0495c51] Avoid an unnecessary btree seek while deleting an index entry due to a conflict on a REPLACE operation. (user: drh, tags: trunk)
00:56
[d577dda0] Avoid duplicate b-tree searches in the duplicate row detector used to implement DISTINCT. (user: drh, tags: trunk)
00:42
[746b1836] This hack illustrates how to use the VDBE_PROFILE mechanism to show which bytecode operators are using resources other than time. In this case, the number of loops through the binary search code in sqlite3BtreeMovetoUnpacked() is measured, for the purpose of helping to identify unnecessary btree searches. (user: drh, tags: vdbe-aux-perf)
2017-01-06
13:49
[6696cd18] Ensure that "PRAGMA case_sensitive_like" and "PRAGMA shrink_memory" set the number of output columns to 0 (as they are statements that return no data). (user: dan, tags: trunk)
11:55
[609ac1c7] Improve handling of corrupt data in fts5. (user: dan, tags: trunk)
01:09
[9ea0badd] Clarify the documentation on sqlite3_column_count(). (user: drh, tags: trunk)
00:02
[28d87789] Remove several non-portable tests for the deprecated temp_store_directory PRAGMA. (user: mistachkin, tags: trunk)
2017-01-05
20:00
[2f57939a] Ensure that sqlite3_column_count() returns 0 for the "set" mode of "get/set" PRAGMA statements that do not return a value in that case (e.g. page_size, cache_size, auto_vacuum). (user: dan, tags: trunk)
19:32
[5c05d8ec] Closed-Leaf: Ensure that sqlite3_column_count() returns 0 for the "set" mode of "get/set" PRAGMA statements that do not return a value in that case (e.g. page_size, cache_size, auto_vacuum). (user: dan, tags: pragma-columncount-fix)
17:23
[590ca83b] Fix handling the case where a sub-query in a FROM clause is itself a UNION ALL, and one side of that UNION ALL is a query on a view that includes an ORDER BY. Fix for ticket [190c2507]. (user: dan, tags: trunk)
13:50
[571f166e] Fix problems in trigger and foreign key handling when doing REPLACE on a WITHOUT ROWID table that has no secondary indexes. Fix for ticket [30027b613b4]. (user: drh, tags: trunk)
07:58
[2dc7eeb5] Ensure that the sqlite3_value_text() interface returns a buffer that is long enough to hold the complete string plus the zero terminator even when the input is a zeroblob. Fix for a problem detected by OSS-Fuzz. (user: drh, tags: trunk)
06:57
[c1220b1a] Closed-Leaf: Fix some problems with foreign key processing within REPLACE ops on WITHOUT ROWID tables with no triggers or auxiliary indexes. (user: dan, tags: replace-fix)
2017-01-04
20:13
[71ccb1f4] Possible fix for [30027b61]. There may still be problems surrounding foreign key processing. (user: dan, tags: replace-fix)
14:53
[8d670973] Adjust filename creation in test_sqllog.c so that it uses leading zeros on counters, so that files appear in order when sorted lexicographically. (user: drh, tags: trunk)
13:09
[82e4001b] Performance enhancements in the printf implementation. (user: drh, tags: trunk)
04:18
[80ad317f] Factor constant functions out of the inner loop since they are more expensive than the extra OP_Copy needed to move the result into place. (user: drh, tags: trunk)
04:10
[2ab997e4] Closed-Leaf: Clean up the implementation of constant function factorization. (user: drh, tags: factor-constant-funcs)
01:07
[62e9270a] Attempt to factor out constant functions from the interior of table scans, since functions can often be expensive to compute. (user: drh, tags: factor-constant-funcs)
00:26
[acdb8f6f] Closed-Leaf: Changes to the printf implementation for better performance. (user: drh, tags: printf-optimization)
2017-01-03
21:57
[d3ac32a6] Use compiler intrinsic functions for signed integer math when overflow detection is needed. (user: drh, tags: trunk)
21:50
[4c2efd42] Closed-Leaf: Back out the use of __sync_fetch_and_sub() as it does not appear to work. (user: drh, tags: gnu-safe-math)
17:33
[82cbebb8] Make use of the __buildin_OP_overflow() functions from GCC when doing 64-bit signed integer arithmetic. (user: drh, tags: gnu-safe-math)
15:57
[bf984e98] Fix the row-values in UPDATE statements within TRIGGER problem identified by ticket [8c9458e7]. (user: drh, tags: branch-3.16)
14:45
[bed0eaa5] Add the experimental affinity() SQL function when SQLITE_DEBUG is defined. (user: drh, tags: trunk)
14:39
[f778f58a] Closed-Leaf: Put the affinity() function implementation inside of #ifdef SQLITE_DEBUG. (user: drh, tags: affinity-sql-func)
14:30
[c27cd8a8] Merge all the latest changes from trunk. (user: drh, tags: affinity-sql-func)
13:45
[36944be6] Defer size checking on row-value assignments for when the RHS is a SELECT until after the "*" wildcards have been expanded. (user: drh, tags: trunk)
11:59
[abc27b60] Fix a typo on a comment. No code changes. (user: drh, tags: trunk)
08:11
[548532fd] Add test cases for the fix in [f12ed3ce]. No problems discovered. (user: dan, tags: trunk)
02:58
[696219b1] Closed-Leaf: Improvements to the way vector assignment size checking is done. Size checks when the RHS is a SELECT are deferred until after "*" wildcards are expanded. (user: drh, tags: vector-size-check)
01:24
[f12ed3ce] Fix the row-values in UPDATE statements within TRIGGER problem identified by ticket [8c9458e7]. (user: drh, tags: trunk)
00:27
[14da99d4] Closed-Leaf: Improved assert()s on the sqlite3ExprListDup() logic for TK_SELECT_COLUMN. (user: drh, tags: rowvalue-update-trigger)
2017-01-02
22:36
[61a442ea] Proposed fix for the row-value TRIGGER UPDATE problem described in ticket [8c9458e7]. (user: drh, tags: rowvalue-update-trigger)
19:10
[16415b5a] Increase the version number to 3.17.0 for the next release cycle. (user: drh, tags: trunk)
19:02
[584da48f] Provide the SQLITE_DEFAULT_LOOKASIDE compile-time option and make it's default value be 1200,100 (raised from 512,125 in the latest release). (user: drh, tags: trunk)
18:40
[12d9493c] Change SQLITE_DEFAULT_PCACHE_INITSZ from 100 to 20, which is experimentally determined to be slightly faster. (user: drh, tags: trunk)
18:19
[cfb31582] Avoid unnecessary calls to sqlite3BtreeEnterAll() and sqlite3BtreeLeaveAll() when no btree is using shared-cache. (user: drh, tags: trunk)
12:20
[cb338f36] Add the --all option to the wordcount test program. Fix the speedtest1 test program so that it builds on MSVC and so that the --lookaside 0 0 option works. (user: drh, tags: trunk)
11:57
[04ac0b75] Version 3.16.0 (user: drh, tags: trunk, release, version-3.16.0)
2017-01-01
12:44
[2c4d167c] Detect row-value comparison size mismatches even when the size of one operand is obscured by an unexpanded subquery. (user: drh, tags: trunk)
2016-12-31
21:55
[18baeadf] Closed-Leaf: Add the --help and --all options to the wordcount test utility. (user: drh, tags: wordcount-enhancement)
18:37
[52b99bcb] Closed-Leaf: In speedtest1.c, make the "--lookaside 0 0" option completely disable lookaside. (user: drh, tags: speedtest1)
14:33
[8c28fde0] Minor #include change to speedtest1.c so that it will compile under MSVC. (user: drh, tags: speedtest1)
2016-12-30
17:40
[14d855d2] Fix a crash that could occur following an OOM in the group_concat() function if the second argument is an SQLITE_BLOB value. (user: dan, tags: trunk)
15:16
[a0971e71] Strengthen the defense against OOM in the instr() SQL function. (user: drh, tags: trunk)
14:25
[0bdbe49c] Add a test to ensure that the app-defined pcache xFetch() method is never passed a key of zero. (user: drh, tags: trunk)
14:15
[56ff72ab] Avoid passing NULL pointers to memcmp() or memcpy(), even when the "number-of-bytes" argument is passed 0. (user: dan, tags: trunk)
13:40
[5550e815] Improved detection of zero page numbers in the page cache. (user: drh, tags: pcache1-zero-page)
12:10
[2842bc60] Fix a harmless compiler warning in fuzzcheck.c (user: drh, tags: trunk)
12:06
[3e25ba6e] Disable the pagerAcquireMapPage() routine if memory-mapped I/O is disabled. This fixes a harmless compiler warning on OpenBSD. (user: drh, tags: trunk)
00:09
[f57952ba] 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. (user: drh, tags: trunk)
2016-12-29
19:48
[afcdc4a6] Fix harmless compiler warnings in the command-line shell and in Lemon. (user: drh, tags: trunk)
17:25
[a7dca29f] 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. (user: drh, tags: trunk)
16:58
[8074d59c] 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. (user: drh, tags: trunk)
16:49
[55d29839] Closed-Leaf: Add more detail to the header command to further explain how to compile and use the kvtest.c utility. (user: drh, tags: kvtest)
03:57
[489e0787] Add the kvtest.c test program for measuring key/value read performance under various scenarios. (user: drh, tags: kvtest)
2016-12-27
15:59
[a6af06f1] Do not allow the nockpt.test module to run under the inmemory_journal permutation. (user: drh, tags: trunk)
13:33
[7854bee2] 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. (user: drh, tags: trunk)
12:45
[4cb0945f] Adjust a corruption test case to accommodate the sqlite3BtreeInsert() optimization of check-in [0b86fbca66]. (user: drh, tags: trunk)
12:35
[a54e619e] Disable new test modules nockpt.test and interrupt2.test for incompatible permutations. Add a CORRUPT_DB term to an assert() in vdbe.c. (user: drh, tags: trunk)
12:08
[2d71cbdf] Avoid a potential (harmless) signed integer overflow in memory usage accounting when calling sqlite3_realloc() to reduce the size of an allocation. (user: drh, tags: trunk)
02:43
[382eea36] Minor changes to make some newer test cases work under more compile-time options. (user: drh, tags: trunk)
2016-12-26
12:25
[edc9db41] 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. (user: drh, tags: trunk)
12:14
[a37c00dc] Enable ossfuzz.c to build even if SQLITE_OMIT_PROGRESS_CALLBACK is defined. (user: drh, tags: trunk)
01:41
[e447b23c] 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. (user: drh, tags: trunk)
00:18
[57e40e1c] Add the built-in affinity() SQL function. (user: drh, tags: affinity-sql-func)
00:15
[8c5187f6] Enhance the fuzztest utility with the --prng-seed option. Always reseed the PRNG prior to each test. (user: drh, tags: trunk)
2016-12-24
21:32
[def29333] 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. (user: drh, tags: trunk)
19:37
[2f481b85] The schema name "main" is always an acceptable alias for the primary database even if the primary database is renamed using SQLITE_DBCONFIG_MAINDBNAME. (user: drh, tags: trunk)
18:18
[8558512e] 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. (user: drh, tags: trunk)
18:04
[c0d5626e] 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. (user: drh, tags: trunk)
2016-12-23
16:05
[2940661b] Fill in missing opcode documentation entries for OP_SorterNext and OP_SorterSort. (user: drh, tags: trunk)
13:54
[99fddf2e] Use the VList object to capture the mapping between SQL parameter names and variable numbers in a single memory allocation. (user: drh, tags: trunk)
13:52
[aa23d7ea] Closed-Leaf: Add check to prevent a VList from growing after pointers to labels have been taken. (user: drh, tags: VList)
03:59
[68ecafa1] 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. (user: drh, tags: VList)
2016-12-22
14:53
[fa86db2f] Fix harmless compiler warnings. (user: drh, tags: trunk)
2016-12-21
21:26
[52a12e47] 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. (user: drh, tags: trunk)
19:45
[f7ab01f2] Simplifications to the way UnpackedRecord objects are allocated. Smaller and faster code that also fixes a subtle (currently unreachable) bug. (user: drh, tags: trunk)
2016-12-18
17:42
[165c0446] 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. (user: drh, tags: trunk)
2016-12-17
21:07
[50325abe] Refinements to the new dbfuzz test program. (user: drh, tags: trunk)
20:27
[ef6e071a] 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. (user: drh, tags: trunk)
08:18
[8dedd6ad] 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. (user: dan, tags: trunk)
2016-12-16
21:29
[4b1e7804] Merge recent enhancements from trunk, and especially the pragma-as-vtab change. (user: drh, tags: apple-osx)
21:15
[89250777] Leaf: Merge the pragma-as-vtab enhancement from trunk. (user: drh, tags: est_count_pragma)
18:43
[94689e3b] Add the ".lint fkey-indexes" command to the command-line shell. (user: drh, tags: trunk)
18:41
[1268dc77] Closed-Leaf: Fix minor issues with the ".lint" command implemention in the shell and the shell help text related to ".lint". (user: drh, tags: fkey-missing-indexes)
18:14
[d66ec5cf] Built-in PRAGMA statements without side-effects can be invoked as table-valued functions by prefixing their name with "pragma_". (user: drh, tags: trunk)
15:57
[74a0ca1f] Merge recent trunk enhancements. (user: drh, tags: est_count_pragma)
15:05
[053a149c] Fix a problem causing the planner to generate sub-optimal plans for some queries that use recursive WITH sub-queries with LIMIT clauses. (user: dan, tags: trunk)
04:20
[546821e2] Closed-Leaf: Fix an error in the way the "schema" argument to some pragma virtual tables is handled. (user: drh, tags: pragma-as-vtab)
01:09
[994a4401] Merge enhancements from trunk, and especially the ability to use temp.sqlite_master as an alias for sqlite_temp_master. (user: drh, tags: pragma-as-vtab)
01:00
[8d646905] All temp.sqlite_master to be used as an alias for sqlite_temp_master. (user: drh, tags: trunk)
2016-12-15
18:59
[4e374912] Do exponential rather than linear expansion of the SrcList.a array when appending new elements, to reduce the number of malloc() calls. (user: drh, tags: trunk)
16:01
[a88ca352] Closed-Leaf: Do more pragma processing from tables rather than in-line code. (user: drh, tags: table-driven-pragma)
2016-12-14
19:28
[7df23aca] 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. (user: dan, tags: fkey-missing-indexes)
14:07
[9cae4c2e] Refactor the Table.nRef field as Table.nTabRef for easier grepping. (user: drh, tags: trunk)
13:54
[d08b72c3] Increase the size of the reference count on Table objects to 32 bits. (user: drh, tags: trunk)
11:39
[00a184b6] Fix the configure makefile to align it with the manual makefile. Unsaved changes from the previous check-in. (user: drh, tags: trunk)
11:23
[bb48f7a5] Adjust the unix makefiles so that "make test" runs fuzzcheck prior to even attempting to build the other test programs. (user: drh, tags: trunk)
11:14
[0ea2762f] Three times faster sqlite3SrcListAppend() in the common case by avoiding the call to sqlite3SrcListEnlarge() for the first allocation. (user: drh, tags: trunk)
10:30
[6aa9b265] Fix the optimization that prevents writing freelist pages to the journal. (user: drh, tags: trunk)
2016-12-13
23:22
[c7021960] 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. (user: drh, tags: trunk)
20:30
[ed2c9f37] Fix harmless compiler warnings. (user: drh, tags: trunk)
18:47
[7f88bb44] Convert sqlite3PagerGet() into a pointer-dispatched virtual method. This makes it about 25% faster. (user: drh, tags: trunk)
18:34
[dee20ba9] Closed-Leaf: In the pager, avoid checking for the illegal page number 0 except when creating a new page. (user: drh, tags: pager-get-method)
16:57
[850877d1] 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. (user: dan, tags: trunk)
14:32
[df5bb90d] 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. (user: drh, tags: pager-get-method)
2016-12-12
23:24
[1a636d5e] Add the --mmap option to the speedtest1 program and to the speed-check.sh script that is frequently used to run speedtest1. (user: drh, tags: trunk)
18:12
[1b36fbb9] Remove unnecessary MemPage initialization resets in the autovacuum ptrmap processing. (user: drh, tags: trunk)
16:15
[a24f805b] Merge all the latest performance enhancements from trunk. (user: drh, tags: apple-osx)
16:08
[9675518b] Faster operation for large in-memory databases. (user: drh, tags: trunk)
12:58
[dc006e08] Merge recent enhancements from trunk. (user: drh, tags: est_count_pragma)
11:05
[d4dff10a] Performance optimization in sqlite3PagerWrite(). (user: drh, tags: trunk)
01:53
[4fc6580f] Updates to the tokenizer for EBCDIC. No changes for standard builds. (user: drh, tags: trunk)
01:30
[57deb1b4] Size and performance optimization in btreeInitPage() in the freeblock validation step. (user: drh, tags: trunk)
00:58
[f9f2e23b] Change the order of comparison for divider cell overflow in balance non-root to avoid a (harmless) reference to an uninitialized variable. (user: drh, tags: trunk)
2016-12-10
13:12
[35ecd4eb] Avoid an unnecessary memset() in the sqlite3BtreeInsert() routine. (user: drh, tags: trunk)
12:58
[8165f88b] 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. (user: drh, tags: trunk)
04:06
[c9bdf7ad] Avoid signed integer overflow when dealing with a LIMIT and OFFSET whose sum exceeds the maximum integer value. (user: drh, tags: trunk)
00:14
[478627c9] Closed-Leaf: 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. (user: drh, tags: failed-dropCell-opt)
2016-12-09
19:42
[684ef458] When doing the sqlite3BtreeInsert() overwrite optimization, make sure the memcpy() does not extend off the end of the page. (user: drh, tags: trunk)
18:09
[c1f0ae9d] Additional comments and an assert on the sqlite3BtreeInsert() overwrite optimization. (user: drh, tags: trunk)
17:32
[0b86fbca] In sqlite3BtreeInsert() when replacing a re-existing row, try to overwrite the cell directly rather than deallocate and reallocate the cell. (user: drh, tags: trunk)
16:12
[0ea3ece9] Fix an fts5 bug that could cause a crash following an OOM error or sqlite3_interrupt() interrupt. (user: dan, tags: trunk)
16:02
[01ada3d1] Avoid unnecessary zeroing of fields in the MemPage object that are going to be reinitialized before use anyhow. A smaller and faster binary results. (user: drh, tags: trunk)
00:15
[1f16c9a7] Fix an obscure problem in range estimation with STAT4. (user: drh, tags: trunk)
2016-12-08
23:52
[92998e4a] Fix the showstat4 utility program so that is displays strings using standard SQL notation (single quotes) rather than C-style notation. (user: drh, tags: trunk)
19:04
[b26df26e] Fix a minor error in the cg_anno.tcl script causing the cycles-per-file counts to be miscomputed. (user: drh, tags: trunk)
18:36
[254a83bf] Update the tool/cg_anno.tcl script to give a summary of cycle counts by canonical source file name. (user: drh, tags: trunk)
01:38
[83bc5e40] More changes to take advantage of the sqlite3VdbeAppendP4() method. (user: drh, tags: trunk)
2016-12-07
21:35
[28883e8f] Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently coded instruction. (user: drh, tags: trunk)
20:22
[3954f837] The use P4_DYNAMIC in place of the P4_MPRINTF operand type. (user: drh, tags: trunk)
20:09
[04716c90] Performance optimization for sqlite3VdbeAddOp4(). (user: drh, tags: trunk)
17:06
[24574a15] Put the SQLITE_UNTESTABLE compile-time option in the correct order for PRAGMA compile_options. (user: drh, tags: trunk)
15:49
[f3608187] Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE. (user: drh, tags: trunk)
15:38
[433d16ff] Prevent the flattening or where-term push-down optimizations from obscuring misuses of SQL row values that can lead to crashes or assert() failures. (user: dan, tags: trunk)
13:49
[afab1663] Always honor the sqlite3.dbOptFlags bitmask, regardless of compile-time options. Continuing fix for ticket [da78413751863]. (user: drh, tags: trunk)
07:46
[391344d8] Leaf: Merge latest trunk changes into this branch. (user: dan, tags: changebatch)
2016-12-06
22:47
[2a81763e] Performance improvement and size reduction in the Expr node allocator function sqlite3PExpr(). (user: drh, tags: trunk)
19:33
[0820f8b3] Add missing nul-terminator to a Tcl_AppendResult() call in tclsqlite.c. (user: dan, tags: trunk)
17:59
[e8247065] 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. (user: drh, tags: trunk)
2016-12-05
20:16
[b4bc40d1] Fix a harmless redundant local variable declaration in the date/time function logic. (user: drh, tags: trunk)
20:06
[8df492c1] Work around a bug in the definition of "ino_t" on some versions of Android. (user: drh, tags: trunk)