Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix a problem with reading very large delete-key entries. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
0cabe78ef405256ab22ffca5ddbb13c3 |
User & Date: | dan 2014-02-03 17:30:30.852 |
Context
2014-02-04
| ||
19:40 | Fix a couple of other bugs. check-in: 822a5aad62 user: dan tags: trunk | |
2014-02-03
| ||
17:30 | Fix a problem with reading very large delete-key entries. check-in: 0cabe78ef4 user: dan tags: trunk | |
15:54 | Zero shared-memory before attempting recovery operations. check-in: 4cb2e9c5af user: dan tags: trunk | |
Changes
Changes to src/bt_main.c.
︙ | ︙ | |||
641 642 643 644 645 646 647 | pCell += sqlite4BtVarintGet32(pCell, &nVal); pVal = pCell; pCell += nVal; pCell += sqlite4BtVarintGet32(pCell, &nDummy); break; case 'C': | | > | 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 | pCell += sqlite4BtVarintGet32(pCell, &nVal); pVal = pCell; pCell += nVal; pCell += sqlite4BtVarintGet32(pCell, &nDummy); break; case 'C': pVal = 0; break; } if( pVal ){ btBufferAppendBlob(pBuf, bAscii, pVal, nVal); if( flags & BT_PGFLAGS_METATREE ){ /* Interpret the meta-tree entry */ if( nKey==sizeof(aSummaryKey) && 0==memcmp(pKey, aSummaryKey, nKey) ){ |
︙ | ︙ | |||
1471 1472 1473 1474 1475 1476 1477 | if( nKLocal==0 ){ /* Type (c) leaf cell. */ pCell += sqlite4BtVarintGet32(pCell, &nKLocal); pKLocal = pCell; pCell += nKLocal; pCell += sqlite4BtVarintGet32(pCell, &nKOvfl); pCell += sqlite4BtVarintGet32(pCell, &nVOvfl); | | | 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 | if( nKLocal==0 ){ /* Type (c) leaf cell. */ pCell += sqlite4BtVarintGet32(pCell, &nKLocal); pKLocal = pCell; pCell += nKLocal; pCell += sqlite4BtVarintGet32(pCell, &nKOvfl); pCell += sqlite4BtVarintGet32(pCell, &nVOvfl); if( nVOvfl>0 ) nVOvfl -= 1; }else{ pKLocal = pCell; pCell += nKLocal; pCell += sqlite4BtVarintGet32(pCell, &nVLocal); if( nVLocal==0 ){ /* Type (b) */ |
︙ | ︙ |