SQLite

Timeline
Login

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

200 most recent check-ins using file tool/showstat4.c version c39279d6

2017-07-21
03:23
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This is a cherry-pick of [f0f492245e95], which is in turn inspired by check-in [72de49f2]. (Leaf check-in: a66a5b39 user: drh tags: branch-3.8.6)
2016-08-10
03:35
Try to make pcache1TruncateUnsafe() run faster for the case where iLimit is very close to iMaxKey. (Leaf check-in: 9ab53605 user: drh tags: debug)
02:54
Remove all timers and other debugging logs except for the one timer on pcache1TruncateUnsafe(). (check-in: 5980e625 user: drh tags: debug)
2016-08-09
11:44
Add another timer on pcache1TruncateUnsafe(). (check-in: 42ce53f6 user: drh tags: debug)
11:23
Add a debug timer to pcache1Truncate(). Change the formatting of some other messages to make them easier to read. (check-in: 7d0af4b5 user: dan tags: debug)
01:21
Refocus the timer on the pager_end_transaction() routine. (check-in: 9d4eb6e4 user: drh tags: debug)
2016-08-04
14:08
Add extra logging calls to this branch. (check-in: 491f1ef3 user: dan tags: debug)
2016-07-30
03:33
A new version of the slow mutex log that uses gettimeofday() instead of trying to access the hardware timer. (check-in: 92b9fead user: drh tags: debug)
2016-07-29
16:32
Turn memory status off by default. (check-in: ea3c7162 user: drh tags: debug)
14:31
Enhance a debugging log message to better identify a mutex. (check-in: e60cb6d8 user: dan tags: debug)
14:23
Use __sync_synchronous(), when available, instead of a mutex when a memory barrier is needed. (check-in: 7d4562e9 user: drh tags: debug)
14:10
Add calls to sqlite3_log() when sqlite3_mutex_enter() takes more than 100,000 CPU cycles. (check-in: 33c7ef7a user: drh tags: debug)
2016-07-16
11:47
Temporarily add extra sqlite3_log() calls to this version to help with debugging a performance problem. (check-in: 613c1cea user: dan tags: debug)
2016-07-14
20:19
Experimental patch restore the slight bias in btree-balancing immediately after the change to reduces the amount of memcpy() work done by balancing. (Leaf check-in: 46bd9533 user: drh tags: btree-balance-bias)
2015-05-21
17:24
Prevent a virtual table from being destroyed while it is in use. Also: replace Vdbe.inVtabMethod with sqlite3.nVDestroy. Simplify the EXPLAIN output for P4.pVtab to only show the sqlite3_vtab pointer. Cherrypick of [cbeb9a1aed8c]. (check-in: b3bb660a user: dan tags: branch-3.8.6)
17:21
Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. Cherrypick of [c3c15d20c691]. (check-in: 31b13eb5 user: dan tags: branch-3.8.6)
2015-05-20
20:50
Fix a problem in test file e_reindex.test. Cherrypick of [5b3de9390f2f]. (check-in: 80633682 user: dan tags: branch-3.8.6)
20:34
Fix a problem causing the fts3 integrity-check to fail if run inside a transaction. Cherrypick of [3b925189a75e]. (check-in: 7d7d633c user: dan tags: branch-3.8.6)
20:30
Ensure that tables names are dequoted exactly once by the trigger and FK logic. Cherrypick of [59e92bd9521f] and [9d887b92f808]. (check-in: bd357739 user: dan tags: branch-3.8.6)
20:27
Fix an obscure problem with "INSERT INTO tbl(cols) SELECT" statements where the SELECT is a compound with an ORDER BY and "cols" is a strict subset of tbl's columns. Cherrypick of [718d5d0eab04]. (check-in: 3cd2b772 user: dan tags: branch-3.8.6)
20:24
Fix a potential NULL pointer deference on a corrupt database schema. Cherrypick of [dc61b292d8ea]. (check-in: 7f3943fb user: dan tags: branch-3.8.6)
20:21
Fix a bug caused by cherrypicking from a branch that assumes sqlite3_stricmp() can handle NULL arguments. (check-in: 2c649cdf user: dan tags: branch-3.8.6)
19:57
When parsing the schema, ignore any SQL that does not begin with "CREATE". Cherrypick of [d3c00d61581c]. (check-in: 0da229b8 user: dan tags: branch-3.8.6)
19:53
Detect and report oversized records constructed from multiple zeroblobs. Cherrypick of [9e139afd9211]. (check-in: 4a08f6b8 user: dan tags: branch-3.8.6)
19:50
Do not allow virtual table constructors to be called recursively. Cherrypick of [0a72726da215] (check-in: 023a29ba user: dan tags: branch-3.8.6)
19:48
Avoid signed integer overflow when converting oversized in-line integer widths and precisions in printf(). Cherrypick of [c494171f77dc], [5ce4e7d7651e], [95625ef3adc3] and [8e4ac2ce2441]. (check-in: b330c7ff user: dan tags: branch-3.8.6)
19:44
Ensure that comparison operators do not mess up the MEM_Dyn flag on registers when reverting affinity changes. Cherrypick of [02e3c88fbf6a]. (check-in: 4125477e user: dan tags: branch-3.8.6)
19:34
Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. Cherrypick of [eddc05e7bb31]. (check-in: fc1a4f29 user: dan tags: branch-3.8.6)
19:32
Silently ignore any attempt to add a prefix index for prefixes zero bytes in size to an fts3/4 table. Or any prefix index size so large that it overflows a 32-bit signed integer. Cherrypick of [ad4b19d2ac0889a2]. (check-in: ff7be4db user: dan tags: branch-3.8.6)
2014-12-09
01:34
Version 3.8.7.4 (Leaf check-in: f66f7a17 user: drh tags: release, version-3.8.7.4, branch-3.8.7)
2014-12-08
20:23
Add missing mutex calls around a call to sqlite3SchemaGet() within sqlite3_open(). (check-in: 266b3441 user: dan tags: branch-3.8.7)
18:02
Increase the version number to 3.8.7.4. (check-in: 33c90027 user: drh tags: branch-3.8.7)
17:45
Add a missing mutex around calls to clear the KeyInfo cache when closing a database connection. (check-in: 3ddc7e4c user: drh tags: branch-3.8.7)
2014-12-05
22:29
Version 3.8.7.3 (check-in: 647e77e8 user: drh tags: release, version-3.8.7.3, branch-3.8.7)
20:43
Fix a buffer overread that might occur in analyze.c if SQLITE_ENABLE_STAT4 was defined. (check-in: 194c90db user: dan tags: branch-3.8.7)
15:25
The KeyInfo cache must be cleared before closing the btree, not after. Revised fix for ticket [e4a18565a36884b00edf]. (check-in: 48529508 user: drh tags: branch-3.8.7)
14:54
Increase the version number to 3.8.7.3. (check-in: 9f7560bc user: drh tags: branch-3.8.7)
14:51
When closing a (shared-cache) database connection, be sure to clear out all KeyInfo objects cached on Index objects. Fix for ticket [e4a18565a36884b00edf]. (check-in: b7905b8c user: drh tags: branch-3.8.7)
2014-12-04
16:29
If a table is the right operand of a LEFT JOIN, then any column of that table can be NULL even if that column has a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. (check-in: 5a80957b user: drh tags: branch-3.8.7)
2014-11-21
11:22
Changes to comments in sqlite3ota.h. (check-in: 14139542 user: dan tags: ota-update)
10:46
Add support for updating virtual tables via ota. (check-in: 4dfcfe54 user: dan tags: ota-update)
2014-11-20
19:19
Add the "ota_delta()" feature for delta-compressed updates. (check-in: c64dcd17 user: dan tags: ota-update)
17:37
Update the ota extension so that it can be used to update tables with external PRIMARY KEY indexes. (check-in: 55066a11 user: dan tags: ota-update)
15:11
Updates to support zipvfs in pass-through mode. (check-in: 556c3de5 user: dan tags: ota-update)
2014-11-18
20:57
Version 3.8.7.2. (check-in: 2ab564bf user: drh tags: release, version-3.8.7.2, branch-3.8.7)
12:28
Increment the version number to 3.8.7.2 (check-in: 945a9e68 user: drh tags: branch-3.8.7)
02:44
Add an ALWAYS() to an always-true conditional in the WAL rollback logic. (check-in: c5eae8a6 user: drh tags: branch-3.8.7)
2014-11-17
20:33
Remove code from sqlite3BtreeKeySize() made unreachable by the previous check-in. (check-in: 57c4aa98 user: drh tags: branch-3.8.7)
19:44
Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state. Cherrypick of [54e7d3fcb1]. (check-in: 2f2ecb99 user: dan tags: branch-3.8.7)
19:25
Improved comments on the BtCursor.skipNext field. No changes to code. (check-in: e956e7db user: drh tags: branch-3.8.7)
18:35
Add tests for WITHOUT ROWID tables with composite primary keys. (check-in: 712d413d user: dan tags: ota-update)
17:57
Changes so that sqlite3_ckpt_open() works with zipvfs databases. (check-in: acbed338 user: dan tags: ota-update)
17:13
When a SELECT statement is terminated by a ROLLBACK TO operation, make the error message be "abort due to ROLLBACK" rather than "callback requested query abort". (check-in: 34fc4a08 user: drh tags: branch-3.8.7)
15:32
Fix a bug in the sqlite3TripAllCursors() routine that prevents it from reporting errors. It is unknown at this time whether or not this omission can result in any incorrect result in an actual query. (check-in: 42588207 user: drh tags: branch-3.8.7)
15:22
Update a couple of test cases to account for the fact that ROLLBACK does not always abort all running SELECT statements. (check-in: eba171e9 user: dan tags: branch-3.8.7)
15:07
Fix a problem with the parameters to an OP_Affinity in one of the VM programs generated by sqlite3_index_writer() that was causing an OOB read. (check-in: 447b33b3 user: dan tags: ota-update)
2014-11-14
15:42
Do not automatically remove the DISTINCT keyword from "a IN (SELECT DISTINCT ...)" expressions. Fix for [db87229497]. (check-in: 98457a57 user: drh tags: branch-3.8.7)
2014-11-13
13:42
When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. Cherry-pick of check-in [dd03a2802f3f27] (check-in: 402780a9 user: drh tags: branch-3.8.7)
2014-11-12
14:12
Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (check-in: 839a6df9 user: drh tags: branch-3.8.7)
14:07
Make sure that NULL results from OP_Column are fully and completely NULL and do not have the MEM_Ephem bit set. Fix for ticket [094d39a4c95ee4]. (check-in: e1017745 user: drh tags: branch-3.8.7)
2014-11-11
22:55
Enhance ROLLBACK so that pending queries are allowed to continue as long as the schema does not change. This is a cherry-pick of check-in [b5df5ac052]. (check-in: d4b2d5d0 user: drh tags: branch-3.8.7)
2014-11-04
19:52
Skip tests that require WAL mode when it is not enabled. (Closed-Leaf check-in: 6fc4ead2 user: mistachkin tags: winMmapNoWal)
19:37
For the Win32 VFS, allow memory mapped files to work when compiled without WAL support. (check-in: 1fc7e2f3 user: mistachkin tags: winMmapNoWal)
17:23
Add various requirements evidence marks for sqlite3_config() options. (check-in: d423349d user: drh tags: trunk)
14:22
Change the definition of SQLITE_CONFIG_SCRATCH so that at most one scratch buffer is used per thread. Use the generic heap memory allocator for the WalIterator object when running a checkpoint. (check-in: 391c9b85 user: drh tags: trunk)
13:41
Improved documentation and addition of source-code evidence marks for the sqlite3_config() interface. (check-in: 681031a4 user: drh tags: trunk)
12:11
Add the SQLITE_CONFIG_PCACHE_HDRSZ option for sqlite3_config(). (check-in: 6eb03e62 user: drh tags: trunk)
2014-11-03
18:03
Updates to the sqlite3_stmt_scanstatus() documentation. No changes to code. (check-in: d97c324e user: drh tags: trunk)
16:56
Add the experimental sqlite3_stmt_scanstatus() API. For comparing the number of rows actually visited by a loop with the estimate used by the query planner. (check-in: ab3b0fc5 user: dan tags: trunk)
16:39
Fix a typo preventing this from building with SQLITE_ENABLE_STMT_SCANSTATUS defined. (Closed-Leaf check-in: 4c5714ab user: dan tags: scanstatus)
16:35
Refactor the interface to make it more easily extensible. (check-in: 7955342d user: drh tags: scanstatus)
15:33
Add further tests. Fixes so that compilation without ENABLE_STMT_SCANSTATUS works. (check-in: a2303c71 user: dan tags: scanstatus)
14:46
Use exponential buffer size growth in StrAccum, as long as the size does not grow to large, to avoid excess memory allocation resize operations. Also, document the fact that setting scratch memory causes SQLite to try to avoid large memory allocations. (check-in: a518bc33 user: drh tags: trunk)
13:24
When enlarging the size of a StrAccum object, use sqlite3DbMallocSize() to record the entire size of the allocation, not just the requested size. (check-in: 3dda3c93 user: drh tags: trunk)
11:25
Remove unused variable from struct WhereInfo. Add some explanatory comments to new code. (check-in: f5313e0c user: dan tags: scanstatus)
2014-11-01
21:00
Minor performance enhancements to SQLITE_ENABLE_STMT_SCANSTATUS code. (check-in: f13d6ba8 user: dan tags: scanstatus)
20:38
If SQLITE_ENABLE_STMT_SCANSTATUS is defined, record the number of times each VDBE opcode is executed. Derive the values returned by sqlite3_stmt_scanstatus() from these records on demand. (check-in: 9ea37422 user: dan tags: scanstatus)
18:32
Add requirements marks and make minor tweaks to documentation. (check-in: 49188b2b user: drh tags: trunk)
18:08
Minor fixes and documentation improvements for sqlite3_stmt_scanstatus(). (check-in: 8d8cc960 user: dan tags: scanstatus)
2014-10-31
20:11
Add the experimental sqlite3_stmt_scanstatus() API. (check-in: 6a9bab34 user: dan tags: scanstatus)
15:20
Merge all recent trunk enhancements into the apple-osx branch. (check-in: fef8430f user: drh tags: apple-osx)
14:53
Merge recent trunk enhancements, and in particular the improvements to the b-tree balancing logic, into the sessions branch. (check-in: 28b044a5 user: drh tags: sessions)
14:46
Change the command-line shell man-page to use the ".tr" troff directive instead of ".cc" for escaping the initial "." characters in the ".help" output. (check-in: 67f0d469 user: drh tags: trunk)
14:26
Simplify the logic in the cell redistribution loop of balance_nonroot(). Enhance and clarify comments and add assert() statements for additional verification of correctness. (check-in: a07078b6 user: drh tags: trunk)
12:22
Simplify the math slightly, and reduce by one the number of loop iterations, for the loop in balance_nonroot() that moves cells between pages. (check-in: 2e838db8 user: drh tags: trunk)
10:31
Add the "varint.c" utility program in the tool directory. (check-in: ea5d56be user: drh tags: trunk)
02:51
Remove an unnecessary branch from balance_nonroot(). (check-in: 9fc7c88e user: drh tags: trunk)
00:05
In the balance_nonroot() routine, protect the values in aPgno[] array from change during the page sort, so that aPgno[] can be used to avoid unnecessary pointer-map updates for auto_vacuum databases. (check-in: 69c3924f user: drh tags: trunk)
2014-10-30
23:14
Improvements to the wording of some comments. Reinstate an assert() that is only true for non-corrupt database files by adding an "|| CORRUPT_DB" term. (check-in: 67adb448 user: drh tags: trunk)
20:48
Tweaks to comments in btree.c. Minor code changes to enhance testability. (check-in: c7d9aa3a user: drh tags: trunk)
2014-10-29
18:20
Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (check-in: 08a27440 user: drh tags: trunk)
13:59
Version 3.8.7.1 (check-in: 3b7b72c4 user: drh tags: release, version-3.8.7.1, branch-3.8.7)
01:27
Increase the version number to 3.8.7.1 (check-in: 83afe23e user: drh tags: branch-3.8.7)
01:26
Fix problems with running UPDATE and DELETE against a VIEW and referencing the rowid in the WHERE clause. This is a cherrypick of [95f8ebdbf87326f2] and [8523670d50004f3]. (check-in: cc33e846 user: drh tags: branch-3.8.7)
01:18
Disable the use of strchrnul() unless specifically enabled by compile-time options. Cherrypick of check-in [e580470db77d6da9] (check-in: 837368ad user: drh tags: branch-3.8.7)
01:13
In the OP_Column opcode, when extracting a field that is past the end of a short record (because the row was originally inserted prior to ALTER TABLE ADD COLUMN) then make sure the output register is fully NULL and does not contain leftover flags (such as MEM_Ephem) from its previous use. Fix for ticket [43107840f1c02]. This is a cherrypick of check-in [24780f8ddc1683fc]. (check-in: 304ea6ba user: drh tags: branch-3.8.7)
01:07
Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. This is a cherrypick of [3e922208b68563489]. (check-in: a8f9bd1e user: drh tags: branch-3.8.7)
00:58
In the OP_Column opcode, when extracting a field that is past the end of a short record (because the row was originally inserted prior to ALTER TABLE ADD COLUMN) then make sure the output register is fully NULL and does not contain leftover flags (such as MEM_Ephem) from its previous use. Fix for ticket [43107840f1c02]. (check-in: 24780f8d user: drh tags: trunk)
2014-10-28
20:49
Add new test file e_totalchanges.test, containing tests of the sqlite3_total_changes() interface. (check-in: f84af4ad user: dan tags: trunk)
20:35
Update the documentation on the sqlite3_randomness() interface to conform to enhancements associated with the SQLITE_ENABLE_API_ARMOR change. (check-in: 96e9917c user: drh tags: trunk)
18:24
Modify the documentation for sqlite3_changes() to make it more testable. Add tests and minor fixes for the same. (check-in: 41cdd0c4 user: dan tags: trunk)
16:50
Fix a crash that could occur if the WHERE clause of an UPDATE statement on a view that does not feature a column named "rowid" contains a term such as "rowid=?". (check-in: 8523670d user: dan tags: trunk)
16:19
Fix a faulty assert() in the DELETE code generator. (check-in: 95f8ebdb user: drh tags: trunk)
15:58
Trivial simplification to the automatic index logic. (check-in: 23073a05 user: drh tags: trunk)
12:35
Bump the version number to 3.8.8 (check-in: 1a7e711e user: drh tags: trunk)
00:56
Correct the documentation on the maximum size of a scratch allocation. (check-in: 30f86eb3 user: drh tags: trunk)
2014-10-27
22:06
Add special handling for static mutexes in sqlite3_mutex_alloc() when automatic calls to sqlite3_initialize() are enabled. (check-in: 7857d27c user: mistachkin tags: trunk)
20:14
Remove a small amount of unnecessary #ifdeffery from random.c. (check-in: 2b9340c8 user: drh tags: trunk)
19:58
Fix compilation issue with MSVC due to a misplaced variable declaration. (check-in: 9588b345 user: mistachkin tags: trunk)
19:42
Fix harmless compiler warning in an assert statement. (check-in: d33a1ff3 user: mistachkin tags: trunk)
19:39
Fix a typo in the macro name of an #ifdef (check-in: 9646a136 user: drh tags: trunk)
18:42
Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. (check-in: 10aaf3b1 user: drh tags: apple-osx)
18:34
Add the SQLITE_ENABLE_API_ARMOR compile-time option for extra API parameter validation. Enhance sqlite3_stricmp(), sqlite3_strnicmp(), and sqlite3_uri_parameter() for improved NULL parameter handling. (check-in: ffb9d814 user: drh tags: trunk)
18:21
Fix an unused variable in btree.c:allocateSpace(). (check-in: 63724616 user: drh tags: trunk)
14:26
Optimizations aimed at reducing the number of memcpy() operations required by balance_nonroot(). (check-in: face33be user: dan tags: trunk)
11:25
Add test file e_wal.test. (check-in: fc6920b5 user: dan tags: trunk)
08:02
If a free-slot is found within a page, but using that free-slot would fragment the page further and there are already at least 60 fragmented bytes, degragment the page. This matches the behaviour of the trunk. (Closed-Leaf check-in: 1f80f8c1 user: dan tags: defrag-opt)
07:01
Merge trunk with this branch. (check-in: a13df301 user: dan tags: defrag-opt)
2014-10-25
20:36
Further modifications to new code to better handle corrupt databases. (check-in: 1a8cf0a0 user: dan tags: defrag-opt)
13:42
Increase the resolution of the second parameter to the likelihood() SQL function (the probability value) so that it can handle probabilities as small as 0.00000001. Formerly, it ran out of precision at 0.001. (check-in: 0f08924f user: drh tags: trunk)
12:28
Do not use virtual (and hence redundant) WHERE-clause terms to restrict the content of a automatic partial index. Show when an automatic partial index is used in the EXPLAIN QUERY PLAN output. (check-in: b9ad601e user: drh tags: trunk)
2014-10-24
20:57
Ensure that the "Any prior cache entry associated with newKey is guaranteed not to be pinned" guarantee made to xRekey implementations is not violated. (check-in: ecc3544e user: dan tags: defrag-opt)
19:28
Enhance the automatic index logic so that it creates a partial index when doing so gives the same answer for less work. UPDATE: This change introduced a bug described by ticket [2326c258d02ead33]. (check-in: d95d0313 user: drh tags: trunk)
18:43
Fix some issues in the new code on this branch related to the handling of corrupt databases. (check-in: 19736dd9 user: dan tags: defrag-opt)
16:40
Fix some minor formatting and code organization issues. (check-in: eab8706d user: dan tags: defrag-opt)
15:26
Honor a high likelihood() on range constraints. (check-in: 401235ed user: drh tags: trunk)
14:32
Get the likelihood() functions working on operators like BETWEEN that create virtual terms in the WHERE-clause analysis. (check-in: 03d0498d user: drh tags: trunk)
12:37
Fix two problems. Tests now passing. (Closed-Leaf check-in: 1c220b80 user: drh tags: api-armor)
00:35
Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in progress and is not yet completely functional. (check-in: c297a84b user: drh tags: api-armor)
2014-10-23
17:26
Add debugging code to count the number of iterations of each loop made as part of statement execution. (Leaf check-in: c6a5b67a user: dan tags: debug-loopcounters)
01:01
Implement sqlite3_create_collation() by invoking sqlite3_create_collation_v2() with a NULL destructor argument. This saves a little space. (check-in: 9762ad06 user: drh tags: trunk)
2014-10-22
20:07
Disable the use of strchrnul() unless specifically enabled by compile-time options. (check-in: e580470d user: drh tags: trunk)
19:57
Change the 0x800 bit of SQLITE_TESTCTRL_OPTIMIZATIONS so that it disables the loading of STAT3 and STAT4 content, not just the using of that content. Change the internal name of that bit to SQLITE_Stat34. (check-in: ca3b00c4 user: drh tags: trunk)
18:42
Merge latest trunk with this branch. (check-in: 854a54c6 user: dan tags: defrag-opt)
16:25
The _beginthreadex() / _endthreadex() functions should only be used when compiling with MSVC. (Closed-Leaf check-in: 1a5a5da3 user: mistachkin tags: msvcThreads)
15:33
Add tests to check error handling in OTA. (check-in: ec7321ae user: dan tags: ota-update)
15:27
Take steps to avoid misestimating range query costs based on STAT4 data due to the roundoff error of converting from integers to LogEst and back to integers. (check-in: 3c933bf9 user: drh tags: trunk)
14:22
Version 3.8.6.1 (check-in: 1581c30c user: drh tags: release, version-3.8.6.1, branch-3.8.6)
11:30
Sync the database file in sqlite3_ckpt_close(), even if the checkpoint has not finished. (check-in: e2729d62 user: dan tags: ota-update)
03:00
Update the version number to 3.8.6.1 (check-in: cad7f8d6 user: drh tags: branch-3.8.6)
02:43
Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. This is a cherry-pick of [3e922208b68563] (check-in: 67484807 user: drh tags: branch-3.8.6)
2014-10-21
21:56
Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. (check-in: 3e922208 user: drh tags: trunk)
19:35
Test that sqlite3ota_open() works with URI paths. Fix some other issues. (check-in: 6fd09854 user: dan tags: ota-update)
18:16
Further tuning of the cost estimates for skip-scan loops, especially for cases when skip-scan loops are in competition with regular loops. (check-in: a27861c2 user: drh tags: trunk)
18:09
Add tests for another application writing the database while an ota update is ongoing. (check-in: 2402baa0 user: dan tags: ota-update)
16:01
Add WHERETRACE debugging output to the whereLoopAdjustCost() routine. (check-in: ec1e942f user: drh tags: trunk)
01:05
If a skip-scan is a proper subset of some other scan, then adjust the cost of the skip-scan upward so that it is more costly than the other scan. Such a cost imbalance can arise under STAT4 because of difficulties in getting an accurate estimate for skip-scans. (check-in: f4b22a26 user: drh tags: trunk)
2014-10-20
16:34
Merge version-3.8.7 changes with this branch. (check-in: d380a648 user: dan tags: ota-update)
16:24
Have the ota extension perform an incremental checkpoint after generating the wal file. (check-in: 0bf1301a user: dan tags: ota-update)
2014-10-17
21:35
Fix a (probably harmless) bug in the CSV output mode of the command-line shell. (check-in: 19fe4a0a user: drh tags: trunk)
12:11
Merge the 3.8.7 changes into the apple-osx branch. (check-in: aa7bbed1 user: drh tags: apple-osx)
11:53
Merge all version 3.8.7 updates from trunk. (check-in: f4de9e07 user: drh tags: sessions)
11:24
Version 3.8.7 (check-in: e4ab094f user: drh tags: trunk, release, version-3.8.7)
2014-10-16
21:39
Work around MSVC not being able to deduce that a local variable was initialized in a called function. (check-in: 06c576c1 user: mistachkin tags: trunk)
18:34
Changes to work around Win32 and MSVCRT APIs that are not present on Windows CE 200x. (check-in: 1418c006 user: mistachkin tags: trunk)
11:45
Update the vdbe-compress.tcl script to account for expressions of the form (123>var), where "var" should be replaced with a reference to a union member. (check-in: 640345d8 user: dan tags: trunk)
2014-10-15
20:02
Fix a problem causing sqlite3changeset_concat() to fail to detect attempts to concatenate patchsets which changesets. (check-in: 236704a9 user: dan tags: sessions)
19:37
Merge latest trunk changes with this branch. (check-in: 1b2824f1 user: dan tags: sessions)
15:28
Update releasetest.tcl so that x86-64 runs a superset of the x86 tests. (check-in: 3c1e70f4 user: dan tags: trunk)
14:45
Fix a problem causing lock5.test to fail in mmap-mode. (check-in: b3e7b446 user: dan tags: trunk)
11:55
Add a four-byte prefix to the BtShared.pTmpSpace buffer to avoid reading before the beginning of an allocation. (check-in: 9386bfca user: drh tags: trunk)
11:31
Rearrange an expression in vdbemem.c to avoid a (harmless) reference to a possibly unitialized variable. (check-in: 4a7b3fa0 user: dan tags: trunk)
2014-10-14
20:25
Make sure new sqlite3_vtab objects created by the xCreate() virtual table method are initialized by the system, in accordance with the documentation. (check-in: eab82330 user: drh tags: trunk)
17:27
Fix some code duplication issues on this branch. Add minor optimizations to the new code. (check-in: 58d7793b user: dan tags: defrag-opt)
14:17
Merge from trunk recent micro-optimizations and the fix for the DESC index GROUP BY ORDER BY bug. (check-in: 880df756 user: drh tags: apple-osx)
13:41
Merge recent trunk micro-optimizations and the DESC index GROUP BY ORDER BY bug fix into the sessions branch. (check-in: 83d4114f user: drh tags: sessions)
2014-10-13
23:39
Optimize a database corruption test inside of the OP_Column opcode. (check-in: 005e5b38 user: drh tags: trunk)
20:12
Use the padding word in the Mem object as temporary storage for serial_type value in OP_Record, and thus avoid a redundant computation of the serial_type for each column. (check-in: 4b3b65ee user: drh tags: trunk)
18:09
Merge trunk changes into this branch. (check-in: d5b7c5a8 user: dan tags: defrag-opt)
18:03
Further work on balance_nonroot(). (check-in: 6594f9b4 user: dan tags: defrag-opt)
17:42
Three small optimizations to vdbeaux.c. (check-in: 04892f8b user: drh tags: trunk)
16:02
Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out some of its functions and by avoiding unnecessary calls. (check-in: c2799aec user: drh tags: trunk)
13:00
Remove the OPFLAG_CLEARCACHE flag from OP_Column. In its place, change the P3 parameter of OP_SorterData to be the index of the pseudo-table cursor whose record header cache is to be cleared. This gives a small size reduction and performance increase. (check-in: 20062f49 user: drh tags: trunk)
12:30
Use OP_SorterColumns in aggregate queries. Remove OPFLAG_CLEARCACHE. (Closed-Leaf check-in: 134e65c0 user: drh tags: OP_SorterColumns)
01:23
Add the OP_SorterColumns opcode - an experiment in using a special case opcode to decode the Sorter output rather than the generic OP_Column. This might be faster. And with further work, it could eventually eliminate the need for OP_OpenPseudo. (check-in: b9c695e8 user: drh tags: OP_SorterColumns)
2014-10-12
22:37
Remove the VdbeCursor.lastRowid cache of the current rowid, since maintaining the correct cache value uses more CPU cycles than just recomputing the rowid on the occasions when it is actually needed. Replace it with the VdbeCursor.aOffset field which used to be computed from VdbeCursor.aType when needed. Saves 100 bytes of code space and runs 0.2% faster. (check-in: 91384a7d user: drh tags: trunk)
2014-10-11
23:31
Performance optimization and very slight size reduction for OP_Column. (check-in: 869c30e4 user: drh tags: trunk)
20:00
Attempt to further reduce memcpy() in balance_nonroot(). (check-in: fec849dc user: dan tags: defrag-opt)
17:22
Simplification to the insertCell() routine in btree.c, resulting in a performance boost and a very small size decrease. It turns out that the extra work involved in sometimes avoiding an memcpy() of the first four bytes of a record takes more time than just unconditionally copying those four bytes. (check-in: 66de1558 user: drh tags: trunk)
10:52
Require the SQLITE_ENABLE_RTREE compile-time option in speedtest1.c in order to enable the R-Tree tests. (check-in: 5d29a033 user: drh tags: trunk)
02:12
Make sure that a GROUP BY that also implements an ORDER BY scans the table in the correct order. Fix for ticket [ba7cbfaedc7e6]. (check-in: 7a32fdfd user: drh tags: trunk)
01:22
Remove an unnecessary conditional from the EXPLAIN QUERY PLAN logic. (check-in: c5dc83eb user: drh tags: trunk)
2014-10-10
20:52
Account for the ASC/DESC properties of ORDER BY expressions when using the same index for GROUP BY and ORDER BY. Candidate fix for [ba7cbfaedc]. (Closed-Leaf check-in: 2a957396 user: dan tags: experimental)
19:15
Restrict the scope of the explainIndexRange() function in where.c. (check-in: c3012452 user: drh tags: trunk)
19:10
Fix a failing test case in index5.test. Also tweak the way cache memory is divided between read-only and dirty pages when using SQLITE_CONFIG_PAGECACHE to reduce IO in some cases. (check-in: 8541dfb3 user: dan tags: trunk)
18:09
Changes to enable compiling using VC6. (check-in: 9ee5686a user: drh tags: trunk)
17:47
When using the -config option to releasetest.tcl, default the testing type to "fulltest" if it is not specified on the command line. (check-in: cf291cbe user: drh tags: trunk)
17:44
Provide the new "-config CONFIG" option to the test/releasetest.tcl script, which allows one to run a single test configuration selected by name. (check-in: d479e32b user: drh tags: trunk)
17:20
Add the estimated number of output rows to the EXPLAIN QUERY PLAN output if compiled with SQLITE_EXPLAIN_ESTIMATED_ROWS. This feature is off by default for the time being. (check-in: daa8314f user: drh tags: trunk)
15:47
Simplify the code used to generate the text for EXPLAIN QUERY PLAN. (check-in: beea1efc user: drh tags: trunk)
15:01
Fix a potential problem in the whereRangeScanEst() routine when STAT4 is active. The problem was introduced by recent enhancements. (check-in: 68e1b4de user: drh tags: trunk)
13:08
Cause the command-line shell to return non-zero if the final SQL statement is incomplete. (check-in: 177fff3b user: drh tags: trunk)
12:56
Merge all recent trunk changes. (check-in: abfef254 user: drh tags: sessions)
2014-10-09
19:35
Change the balance_nonroot() routine to reduce the amount of memcpy work that takes place. This is a work in progress. (check-in: 29304499 user: dan tags: defrag-opt)
15:08
Allow FTS tokenizers to choose whether or not to consider the "*" character part of tokens or not. This restores the pre-[e21bf7a2ad] behaviour. Also fix a problem causing FTS to interpret tokens beginning with "*" characters as EOF. (check-in: 49dfee7c user: dan tags: trunk)
14:10
Add a test case for the memory leak fixed by the previous check-in. (check-in: bae36d54 user: drh tags: trunk)
14:00
Fix a memory leak associated with the FTS4 matchinfo() function. (check-in: fb8da824 user: drh tags: trunk)
11:40
Record the errno on fstat() failures. (check-in: 2a6a0820 user: drh tags: apple-osx)
11:27
Merge the latest trunk enhancements into the apple-osx branch. (check-in: 6fc72077 user: drh tags: apple-osx)
2014-10-08
19:33
Remove an always-true branch in whereRangeScanEst(). Replace it with an assert(). (check-in: 42e48fd3 user: drh tags: trunk)