/ Check-in [68103d91]
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 | SQL 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
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: 29a681dd 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: 68103d91 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: 60f16838 user: drh tags: apple-osx-3623
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to ext/rtree/rtree.c.

   435    435     *ppNode = pNode;
   436    436     rc = sqlite3_reset(pRtree->pReadNode);
   437    437   
   438    438     if( rc==SQLITE_OK && iNode==1 ){
   439    439       pRtree->iDepth = readInt16(pNode->zData);
   440    440     }
   441    441   
   442         -  assert( (rc==SQLITE_OK && pNode) || (pNode==0 && rc!=SQLITE_OK) );
   443         -  nodeHashInsert(pRtree, pNode);
          442  +  if( pNode!=0 ){
          443  +    nodeHashInsert(pRtree, pNode);
          444  +  }else if( rc==SQLITE_OK ){
          445  +    rc = SQLITE_CORRUPT;
          446  +  }
   444    447   
   445    448     return rc;
   446    449   }
   447    450   
   448    451   /*
   449    452   ** Overwrite cell iCell of node pNode with the contents of pCell.
   450    453   */