/ Check-in [bd8b977a]
Login

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

Overview
Comment:Test case macros to show that the previous check-in is well tested.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | extra-testcase-macros
Files: files | file ages | folders
SHA1:bd8b977abbc3eacdf0dd5c360e85e14db9456b2a
User & Date: drh 2017-01-12 15:19:53
Context
2017-01-12
15:19
Test case macros to show that the previous check-in is well tested. Leaf check-in: bd8b977a user: drh tags: extra-testcase-macros
15:11
Improved detection of cells that extend into the reserved space at the end of the page while adjusting overflow page pointers during autovacuum. check-in: 8097712c user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/btree.c.

3353
3354
3355
3356
3357
3358
3359


3360
3361
3362
3363
3364
3365
3366

    for(i=0; i<nCell; i++){
      u8 *pCell = findCell(pPage, i);
      if( eType==PTRMAP_OVERFLOW1 ){
        CellInfo info;
        pPage->xParseCell(pPage, pCell, &info);
        if( info.nLocal<info.nPayload ){


          if( pCell+info.nSize > pPage->aData+pPage->pBt->usableSize ){
            return SQLITE_CORRUPT_BKPT;
          }
          if( iFrom==get4byte(pCell+info.nSize-4) ){
            put4byte(pCell+info.nSize-4, iTo);
            break;
          }







>
>







3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368

    for(i=0; i<nCell; i++){
      u8 *pCell = findCell(pPage, i);
      if( eType==PTRMAP_OVERFLOW1 ){
        CellInfo info;
        pPage->xParseCell(pPage, pCell, &info);
        if( info.nLocal<info.nPayload ){
          testcase( pCell+info.nSize == pPage->aData+pPage->pBt->usableSize );
          testcase( pCell+info.nSize == pPage->aData+pPage->pBt->usableSize+1 );
          if( pCell+info.nSize > pPage->aData+pPage->pBt->usableSize ){
            return SQLITE_CORRUPT_BKPT;
          }
          if( iFrom==get4byte(pCell+info.nSize-4) ){
            put4byte(pCell+info.nSize-4, iTo);
            break;
          }