SQLite

Check-in [68103d91d4]
Login

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

Overview
Comment:Cherrypick the R-tree invalid shadow-table big fix of [7f2f71cc9e3c39093f09231f44] into the apple-osx 3.6.23 branch.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | apple-osx-3623
Files: files | file ages | folders
SHA1: 68103d91d483ae59f64b08159e8376d1c2dd5478
User & Date: drh 2010-08-24 02:10:17.000
Context
2010-10-02
01:01
Backport the very lastest R-Tree in order to take advantage of its enhanced robustness to corrupt databases. (Leaf check-in: 29a681dd7b user: drh tags: apple-osx-3623)
2010-08-24
02:10
Cherrypick the R-tree invalid shadow-table big fix of [7f2f71cc9e3c39093f09231f44] into the apple-osx 3.6.23 branch. (check-in: 68103d91d4 user: drh tags: apple-osx-3623)
01:59
Cherrypick the incremental_vacuum bug fix ([255f1eefa373153942c67b18b]) into the apple-osx 3.6.23 branch. (check-in: 60f16838cc user: drh tags: apple-osx-3623)
Changes
Unified Diff Show Whitespace Changes Patch
Changes to ext/rtree/rtree.c.
435
436
437
438
439
440
441
442
443



444
445
446
447
448
449
450
  *ppNode = pNode;
  rc = sqlite3_reset(pRtree->pReadNode);

  if( rc==SQLITE_OK && iNode==1 ){
    pRtree->iDepth = readInt16(pNode->zData);
  }

  assert( (rc==SQLITE_OK && pNode) || (pNode==0 && rc!=SQLITE_OK) );
  nodeHashInsert(pRtree, pNode);




  return rc;
}

/*
** Overwrite cell iCell of node pNode with the contents of pCell.
*/







|

>
>
>







435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
  *ppNode = pNode;
  rc = sqlite3_reset(pRtree->pReadNode);

  if( rc==SQLITE_OK && iNode==1 ){
    pRtree->iDepth = readInt16(pNode->zData);
  }

  if( pNode!=0 ){
  nodeHashInsert(pRtree, pNode);
  }else if( rc==SQLITE_OK ){
    rc = SQLITE_CORRUPT;
  }

  return rc;
}

/*
** Overwrite cell iCell of node pNode with the contents of pCell.
*/