SQLite
Timeline
Not logged in

All nodes on the path from [release] to [trunk]

2014-11-22
21:37
[1e1221fc48] Leaf: Always reinitialized the Index.bUnordered and Index.noSkipscan flags before rereading the sqlite_stat1 table, even if SQLITE_ENABLE_STAT4 is defined. (user: drh, tags: trunk)
19:52
[9660ce5418] Fix an error in the comments from the previous check-in. (user: drh, tags: trunk)
18:50
[221659945c] Deploy heuristics (well-commented) to better estimate how much unindexed terms in the WHERE clause filter the number of output rows from a single table. (user: drh, tags: trunk)
12:22
[eea4793349] Remove a redundant test case (probably a copy/paste error). Add an assert() to where.c to ensure that automatic indexes do not have there output row counts adjusted downward by supplementary constraints. (user: drh, tags: trunk)
2014-11-20
23:21
[b1e6c02f8b] Fix a typo in a requirements mark on the abs() SQL function. (user: drh, tags: trunk)
23:11
[332cc9591d] Fix a benign test error on PRAGMA collation_list introduced by a recent checkin. (user: drh, tags: trunk)
23:03
[fcf8b7e4c6] Updates to requirements tags on the mutex documentation. (user: drh, tags: trunk)
19:22
[4b608b62ac] Add requirements marks on the built-in collating functions. (user: drh, tags: trunk)
15:30
[ef9fbc08b0] Ensure that when the number of cells on a page drops to zero that the freelist and fragment counter are both cleared. Also add evidence marks corresponding to file-format documentation. (user: drh, tags: trunk)
02:58
[2d7c8da5f1] Fix the encoding of some integers to use the minimum amount of space: -128, -32768, -8388608, -217483648, and -140737488355328. (user: drh, tags: trunk)
02:18
[9a9627e178] Add some requirements marks to the record formatting logic. Comment changes only - the code is unaltered. (user: drh, tags: trunk)
2014-11-19
16:36
[6d00bcca6e] Add new requirements marks associated with the file format documentation. No changes to code. (user: drh, tags: trunk)
14:31
[89b3c1c455] Completely remove an assert() that had previously been commented out. (user: drh, tags: trunk)
14:05
[9ed97a85fe] Add an ALWAYS on an always-true branch in wal.c. Fix the ANALYZE command so that it resets the "unordered" and "noskipscan" flags on indices when reloading the sqlite_stat1 table. (user: drh, tags: trunk)
2014-11-18
21:54
[4461bf045d] Adding the "noskipscan" token to an sqlite_stat1.stat field prevents an index for being used with the skip-scan algorithm. (user: drh, tags: trunk)
21:45
[c52f7971e9] Allow an automatic index to be used if the only uses of declared indexes for the same loop use the skip-scan algorithm. (user: drh, tags: trunk)
20:57
[2ab564bf96] Leaf: Version 3.8.7.2. (user: drh, tags: release, branch-3.8.7, version-3.8.7.2)
20:49
[296b0c7397] Merge in all the other ROLLBACK fixes from the branch-3.8.7 branch. I don't know why I was doing them one-by-one. (user: drh, tags: trunk)
20:22
[2896f2640a] 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. (user: drh, tags: trunk)
20:16
[abccda769a] Update a couple of test cases to account for the fact that ROLLBACK does not always abort all running SELECT statements. (user: drh, tags: trunk)
12:28
[945a9e687f] Increment the version number to 3.8.7.2 (user: drh, tags: branch-3.8.7)
02:44
[c5eae8a60d] Add an ALWAYS() to an always-true conditional in the WAL rollback logic. (user: drh, tags: branch-3.8.7)
2014-11-17
20:33
[57c4aa988c] Remove code from sqlite3BtreeKeySize() made unreachable by the previous check-in. (user: drh, tags: branch-3.8.7)
19:44
[2f2ecb9948] Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state. Cherrypick of 54e7d3fcb1. (user: dan, tags: branch-3.8.7)
19:42
[54e7d3fcb1] Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state. (user: dan, tags: trunk)
19:25
[e956e7db05] Improved comments on the BtCursor.skipNext field. No changes to code. (user: drh, tags: branch-3.8.7)
17:13
[34fc4a082c] 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". (user: drh, tags: branch-3.8.7)
15:32
[42588207ff] 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. (user: drh, tags: branch-3.8.7)
15:22
[eba171e980] Update a couple of test cases to account for the fact that ROLLBACK does not always abort all running SELECT statements. (user: dan, tags: branch-3.8.7)
2014-11-14
15:42
[98457a57d6] Do not automatically remove the DISTINCT keyword from "a IN (SELECT DISTINCT ...)" expressions. Fix for [db87229497]. (user: drh, tags: branch-3.8.7)
15:28
[55e453aadb] Do not automatically remove the DISTINCT keyword from "a IN (SELECT DISTINCT ...)" expressions. Fix for [db87229497]. (user: dan, tags: trunk)
2014-11-13
14:30
[ef03a20335] Modify the documentation for sqlite3_backup_init() to indicate that it will fail if there is already a read or read-write transaction open on the destination database. (user: dan, tags: trunk)
14:18
[169b550549] Have calls to sqlite3_backup_init() fail if there is already a read or read-write transaction open on the destination database. (user: dan, tags: trunk)
13:42
[402780a9c8] 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 (user: drh, tags: branch-3.8.7)
2014-11-12
17:45
[eaf3aae014] Add further tests for rollback operations in the presence of ongoing selects. (user: dan, tags: trunk)
14:56
[dd03a2802f] 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. (user: dan, tags: trunk)
14:12
[839a6df9f9] Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (user: drh, tags: branch-3.8.7)
14:07
[e1017745e1] 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]. (user: drh, tags: branch-3.8.7)
2014-11-11
22:55
[d4b2d5d066] 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. (user: drh, tags: branch-3.8.7)
19:07
[1412fcc480] Remove some calls to the 'breakpoint' test command. (user: mistachkin, tags: trunk)
16:11
[a066a3832a] Add tests for sqlite3_blob_bytes(). (user: dan, tags: trunk)
14:59
[b5df5ac052] Permit read operations to continue after a ROLLBACK as long as the schema does not change. (user: drh, tags: trunk)
12:20
[5a1eac2419] Add new test file e_blobclose.test, containing tests for sqlite3_blob_close(). (user: dan, tags: trunk)
2014-11-10
19:16
[8289c3e9b4] New test cases for deleting content out from under a SELECT statement. (user: drh, tags: trunk)
17:53
[1df77e5f1b] Add test file e_blobwrite.test, containing tests for the sqlite3_blob_write() interface. (user: dan, tags: trunk)
16:49
[27cf665b95] Add the eval() SQL function extension in ext/misc/eval.c. (user: drh, tags: trunk)
14:42
[7f3819f642] Shorten over-length source code lines in shell.c. (user: drh, tags: trunk)
2014-11-07
14:41
[ecbccd0e59] Add new test file e_blobopen.test, containing tests for sqlite3_blob_open(). (user: dan, tags: trunk)
14:37
[b45bc80bb1] Fix another harmless comment typo. (user: drh, tags: trunk)
13:52
[5700508535c] In the ".scanstats on" output from the shell, round the estRows value to the nearest integer, rather than rounding toward zero. (user: drh, tags: trunk)
13:24
[94c564da4c] Fix harmless typos in comments. (user: drh, tags: trunk)
11:39
[402703212a] Fix typo in sqlite3.h reported on the mailing list. (user: drh, tags: trunk)
01:43
[360c8ca11c] Update documentation on sqlite3_config() and add corresponding evidence marks. (user: drh, tags: trunk)
2014-11-06
14:43
[20c7614add] Added SQLITE_SCANSTAT_SELECTID. Change the value returned by SQLITE_SCANSTAT_EST from sqlite3_int64 to double. Enhanced the formatting and display of scan statistics using the ".scanstats on" command in the shell. (user: drh, tags: trunk)
2014-11-05
21:34
[272fddc14c] Fixes to the Windows VFS to allow memory mapped files to work without WAL support. (user: drh, tags: trunk)
21:21
[83a1e5db92] Fix harmless compiler warnings in the new balance_nonroot() routine. (user: drh, tags: trunk)
19:26
[2d36be5d9a] Change the query planner to do a better job of estimating the number rows selected by a BETWEEN operator using STAT4 when both upper and lower bounds are contained within the same sample. (user: drh, tags: trunk)
15:57
[42705fd7d8] 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]. (user: drh, tags: trunk)
14:19
[948d6e5d07] Add a test case to check that the previous commit is effective. (user: dan, tags: trunk)
13:13
[c106b75536] Enhance whereLoopCheaperProperSubset(X,Y) so that it does not report true if X uses skip-scan less than Y, since in that case X might deserve to be cheaper even if it is a proper subset. (user: drh, tags: trunk)
09:07
[7974c0ed10] Add the ".scanstats on" command to the shell tool. Executing this command causes the shell tool to print values from sqlite3_stmt_scanstatus() after each query is run. (user: dan, tags: trunk)
2014-11-04
21:38
[7df82c46da] Improved output formatting for the showstat4 tool. (user: drh, tags: trunk)
17:23
[d423349d2c] Add various requirements evidence marks for sqlite3_config() options. (user: drh, tags: trunk)
14:22
[391c9b85ab] 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. (user: drh, tags: trunk)
13:41
[681031a436] Improved documentation and addition of source-code evidence marks for the sqlite3_config() interface. (user: drh, tags: trunk)
12:11
[6eb03e62a3] Add the SQLITE_CONFIG_PCACHE_HDRSZ option for sqlite3_config(). (user: drh, tags: trunk)
2014-11-03
18:03
[d97c324eb1] Updates to the sqlite3_stmt_scanstatus() documentation. No changes to code. (user: drh, tags: trunk)
16:56
[ab3b0fc576] 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. (user: dan, tags: trunk)
14:46
[a518bc3318] 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. (user: drh, tags: trunk)
13:24
[3dda3c9374] When enlarging the size of a StrAccum object, use sqlite3DbMallocSize() to record the entire size of the allocation, not just the requested size. (user: drh, tags: trunk)
2014-11-01
18:32
[49188b2bb5] Add requirements marks and make minor tweaks to documentation. (user: drh, tags: trunk)
2014-10-31
14:46
[67f0d469da] 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. (user: drh, tags: trunk)
14:26
[a07078b600] Simplify the logic in the cell redistribution loop of balance_nonroot(). Enhance and clarify comments and add assert() statements for additional verification of correctness. (user: drh, tags: trunk)
12:22
[2e838db82e] Simplify the math slightly, and reduce by one the number of loop iterations, for the loop in balance_nonroot() that moves cells between pages. (user: drh, tags: trunk)
10:31
[ea5d56be5f] Add the "varint.c" utility program in the tool directory. (user: drh, tags: trunk)
02:51
[9fc7c88e3f] Remove an unnecessary branch from balance_nonroot(). (user: drh, tags: trunk)
00:05
[69c3924fe8] 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. (user: drh, tags: trunk)
2014-10-30
23:14
[67adb44838] 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. (user: drh, tags: trunk)
20:48
[c7d9aa3a1c] Tweaks to comments in btree.c. Minor code changes to enhance testability. (user: drh, tags: trunk)
2014-10-29
18:20
[08a27440f1] Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (user: drh, tags: trunk)
13:59
[3b7b72c468] Version 3.8.7.1 (user: drh, tags: release, branch-3.8.7, version-3.8.7.1)
01:27
[83afe23e55] Increase the version number to 3.8.7.1 (user: drh, tags: branch-3.8.7)
01:26
[cc33e846c8] 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. (user: drh, tags: branch-3.8.7)
01:18
[837368adfe] Disable the use of strchrnul() unless specifically enabled by compile-time options. Cherrypick of check-in e580470db77d6da9 (user: drh, tags: branch-3.8.7)
01:13
[304ea6ba6f] 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. (user: drh, tags: branch-3.8.7)
01:07
[a8f9bd1e89] 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. (user: drh, tags: branch-3.8.7)
00:58
[24780f8ddc] 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]. (user: drh, tags: trunk)
2014-10-28
20:49
[f84af4adcc] Add new test file e_totalchanges.test, containing tests of the sqlite3_total_changes() interface. (user: dan, tags: trunk)
20:35
[96e9917c35] Update the documentation on the sqlite3_randomness() interface to conform to enhancements associated with the SQLITE_ENABLE_API_ARMOR change. (user: drh, tags: trunk)
18:24
[41cdd0c422] Modify the documentation for sqlite3_changes() to make it more testable. Add tests and minor fixes for the same. (user: dan, tags: trunk)
16:50
[8523670d50] 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=?". (user: dan, tags: trunk)
16:19
[95f8ebdbf8] Fix a faulty assert() in the DELETE code generator. (user: drh, tags: trunk)
15:58
[23073a0539] Trivial simplification to the automatic index logic. (user: drh, tags: trunk)
12:35
[1a7e711ed1] Bump the version number to 3.8.8 (user: drh, tags: trunk)
00:56
[30f86eb3f9] Correct the documentation on the maximum size of a scratch allocation. (user: drh, tags: trunk)
2014-10-27
22:06
[7857d27caa] Add special handling for static mutexes in sqlite3_mutex_alloc() when automatic calls to sqlite3_initialize() are enabled. (user: mistachkin, tags: trunk)
20:14
[2b9340c868] Remove a small amount of unnecessary #ifdeffery from random.c. (user: drh, tags: trunk)
19:58
[9588b345d0] Fix compilation issue with MSVC due to a misplaced variable declaration. (user: mistachkin, tags: trunk)
19:42
[d33a1ff3aa] Fix harmless compiler warning in an assert statement. (user: mistachkin, tags: trunk)
19:39
[9646a136e6] Fix a typo in the macro name of an #ifdef (user: drh, tags: trunk)
18:34
[ffb9d8144b] 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. (user: drh, tags: trunk)
18:21
[637246165a] Fix an unused variable in btree.c:allocateSpace(). (user: drh, tags: trunk)
14:26
[face33bea1] Optimizations aimed at reducing the number of memcpy() operations required by balance_nonroot(). (user: dan, tags: trunk)
11:25
[fc6920b548] Add test file e_wal.test. (user: dan, tags: trunk)
2014-10-25
13:42
[0f08924fe0] 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. (user: drh, tags: trunk)
12:28
[b9ad601eab] 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. (user: drh, tags: trunk)
2014-10-24
19:28
[d95d0313c4] Enhance the automatic index logic so that it creates a partial index when doing so gives the same answer for less work. (user: drh, tags: trunk)
15:26
[401235edf4] Honor a high likelihood() on range constraints. (user: drh, tags: trunk)
14:32
[03d0498d0f] Get the likelihood() functions working on operators like BETWEEN that create virtual terms in the WHERE-clause analysis. (user: drh, tags: trunk)
2014-10-23
01:01
[9762ad0639] Implement sqlite3_create_collation() by invoking sqlite3_create_collation_v2() with a NULL destructor argument. This saves a little space. (user: drh, tags: trunk)
2014-10-22
20:07
[e580470db7] Disable the use of strchrnul() unless specifically enabled by compile-time options. (user: drh, tags: trunk)
19:57
[ca3b00c44e] 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. (user: drh, tags: trunk)
15:27
[3c933bf95f] 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. (user: drh, tags: trunk)
2014-10-21
21:56
[3e922208b6] 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. (user: drh, tags: trunk)
18:16
[a27861c28c] Further tuning of the cost estimates for skip-scan loops, especially for cases when skip-scan loops are in competition with regular loops. (user: drh, tags: trunk)
16:01
[ec1e942f08] Add WHERETRACE debugging output to the whereLoopAdjustCost() routine. (user: drh, tags: trunk)
01:05
[f4b22a2620] 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. (user: drh, tags: trunk)
2014-10-17
21:35
[19fe4a0a47] Fix a (probably harmless) bug in the CSV output mode of the command-line shell. (user: drh, tags: trunk)
11:24
[e4ab094f8a] Version 3.8.7 (user: drh, tags: trunk, release, version-3.8.7)