SQLite

Check-in [c5eae8a60d]
Login

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

Overview
Comment:Add an ALWAYS() to an always-true conditional in the WAL rollback logic.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | branch-3.8.7
Files: files | file ages | folders
SHA1: c5eae8a60d474131fbfa4d0c2b459005267e8be4
User & Date: drh 2014-11-18 02:44:32.636
Context
2014-11-18
12:28
Increment the version number to 3.8.7.2 (check-in: 945a9e687f user: drh tags: branch-3.8.7)
02:44
Add an ALWAYS() to an always-true conditional in the WAL rollback logic. (check-in: c5eae8a60d 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: 57c4aa988c user: drh tags: branch-3.8.7)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/wal.c.
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
  
    /* Restore the clients cache of the wal-index header to the state it
    ** was in before the client began writing to the database. 
    */
    memcpy(&pWal->hdr, (void *)walIndexHdr(pWal), sizeof(WalIndexHdr));

    for(iFrame=pWal->hdr.mxFrame+1; 
        rc==SQLITE_OK && iFrame<=iMax; 
        iFrame++
    ){
      /* This call cannot fail. Unless the page for which the page number
      ** is passed as the second argument is (a) in the cache and 
      ** (b) has an outstanding reference, then xUndo is either a no-op
      ** (if (a) is false) or simply expels the page from the cache (if (b)
      ** is false).







|







2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
  
    /* Restore the clients cache of the wal-index header to the state it
    ** was in before the client began writing to the database. 
    */
    memcpy(&pWal->hdr, (void *)walIndexHdr(pWal), sizeof(WalIndexHdr));

    for(iFrame=pWal->hdr.mxFrame+1; 
        ALWAYS(rc==SQLITE_OK) && iFrame<=iMax; 
        iFrame++
    ){
      /* This call cannot fail. Unless the page for which the page number
      ** is passed as the second argument is (a) in the cache and 
      ** (b) has an outstanding reference, then xUndo is either a no-op
      ** (if (a) is false) or simply expels the page from the cache (if (b)
      ** is false).