Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Merge fixes from the release branch. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
5279eb6057bbf02855f88787d73a611b |
User & Date: | drh 2018-02-01 14:44:35.572 |
Context
2018-02-05
| ||
00:32 | The SCRIPT_FILENAME cgi parameter in althttpd is now a full pathname. (check-in: f30335da5c user: drh tags: trunk) | |
2018-02-04
| ||
21:41 | Use Wapp to implement the search function. Search can now be run from the command-line using "./tclsh.docsrc doc/search". (check-in: 33c56bee81 user: drh tags: search-refactor) | |
2018-02-01
| ||
14:44 | Merge fixes from the release branch. (check-in: 5279eb6057 user: drh tags: trunk) | |
14:43 | Fix a typo in the flattening rules of the optoverview.html document. (check-in: 20ecb45b42 user: drh tags: branch-3.22) | |
2018-01-30
| ||
23:44 | Remove an unused variable from althttpd.c. (check-in: 94b9b95bee user: drh tags: trunk) | |
Changes
Changes to pages/howtocorrupt.in.
︙ | ︙ | |||
471 472 473 474 475 476 477 | or thread might then try to modify the database using a stale cache and cause database corruption.</p> <p>This problem was discovered during internal testing and has never been observed in the wild. The problem was fixed on 2011-01-27 and in version 3.7.5.</p> | | | 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 | or thread might then try to modify the database using a stale cache and cause database corruption.</p> <p>This problem was discovered during internal testing and has never been observed in the wild. The problem was fixed on 2011-01-27 and in version 3.7.5.</p> <h2> I/O error while obtaining a lock leads to corruption</h2> <p>If the operating system returns an I/O error while attempting to obtain a certain lock on shared memory in [WAL | WAL mode] then SQLite might fail to reset its cache, which could lead to database corruption if subsequent writes are attempted.</p> <p>Note that this problem only occurs if the attempt to acquire the lock |
︙ | ︙ | |||
528 529 530 531 532 533 534 | of recovery because the previous process writing to it crashed in the middle of a transaction and two or more processes try to open the that database at the same time, then the race condition might cause one of those processes to get a false indication that the recovery has already completed, allowing that process to continue using the database file without running recovery first. If that process writes to the file, then the file might go corrupt. This race condition | | | 528 529 530 531 532 533 534 535 536 537 538 539 | of recovery because the previous process writing to it crashed in the middle of a transaction and two or more processes try to open the that database at the same time, then the race condition might cause one of those processes to get a false indication that the recovery has already completed, allowing that process to continue using the database file without running recovery first. If that process writes to the file, then the file might go corrupt. This race condition had apparently existed in all prior versions of SQLite for Windows going back to 2004. But the race was very tight. Practically speaking, you need a fast multi-core machine in which you launch two processes to run recovery at the same moment on two separate cores. This defect was on Windows systems only and did not affect the posix OS interface.</p> |
Changes to pages/optoverview.in.
︙ | ︙ | |||
1072 1073 1074 1075 1076 1077 1078 | <li value="1"> <i>(Obsolete. Query flattening is no longer attempted for aggregate subqueries.)</i> <li value="2"> <i>(Obsolete. Query flattening is no longer attempted for aggregate subqueries.)</i> <li value="3"> | | | 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 | <li value="1"> <i>(Obsolete. Query flattening is no longer attempted for aggregate subqueries.)</i> <li value="2"> <i>(Obsolete. Query flattening is no longer attempted for aggregate subqueries.)</i> <li value="3"> ^If the subquery is the right operand of a LEFT JOIN then <ol type="a"><li> the subquery may not be a join, and <li> the FROM clause of the subquery may not contain a virtual table, and <li> the outer query may not be an aggregate.</ol></li> <li value="4"> ^The subquery is not DISTINCT. |
︙ | ︙ |