Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch apple-osx-385 Excluding Merge-Ins
This is equivalent to a diff from 2dbdfa5170 to e5f5ef008d
2015-04-06
| ||
22:05 | Detect and suppress an endless loops in clearDatabasePage() that might result from a corrupt database file. This is an edited cherry-pick from [30011ad2f55c] and [395bb3e677a]. (Leaf check-in: e5f5ef008d user: drh tags: apple-osx-385) | |
2015-04-01
| ||
13:21 | Improved detection and suppression of endless loops in clearDatabasePage(). (check-in: 30011ad2f5 user: drh tags: trunk) | |
2014-08-15
| ||
22:37 | Aborted merge. (Closed-Leaf check-in: c8ade949d4 user: numist tags: obsolete) | |
2014-06-30
| ||
19:57 | Merge the latest trunk changes into the apple-osx branch. (check-in: f426876fe1 user: drh tags: apple-osx) | |
2014-06-05
| ||
12:53 | Merge in the 3.8.5 release changes and the FTS integrity-check fix. (check-in: 2dbdfa5170 user: drh tags: apple-osx) | |
11:15 | Fix a problem that was causing the FTS4 integrity-check command to fail if the table had one or more "notindexed" columns. (check-in: 7123bb2605 user: dan tags: trunk) | |
2014-05-29
| ||
20:36 | Merge trunk changes into the apple-osx branch. (check-in: b9fad4490c user: drh tags: apple-osx) | |
Changes to src/btree.c.
︙ | |||
7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 | 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 | + + + + + | assert( sqlite3_mutex_held(pBt->mutex) ); if( pgno>btreePagecount(pBt) ){ return SQLITE_CORRUPT_BKPT; } rc = getAndInitPage(pBt, pgno, &pPage, 0); if( rc ) return rc; if( pPage->bBusy ){ rc = SQLITE_CORRUPT_BKPT; goto cleardatabasepage_out; } pPage->bBusy = 1; hdr = pPage->hdrOffset; for(i=0; i<pPage->nCell; i++){ pCell = findCell(pPage, i); if( !pPage->leaf ){ rc = clearDatabasePage(pBt, get4byte(pCell), 1, pnChange); if( rc ) goto cleardatabasepage_out; } |
︙ | |||
7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 | 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 | + | if( freePageFlag ){ freePage(pPage, &rc); }else if( (rc = sqlite3PagerWrite(pPage->pDbPage))==0 ){ zeroPage(pPage, pPage->aData[hdr] | PTF_LEAF); } cleardatabasepage_out: pPage->bBusy = 0; releasePage(pPage); return rc; } /* ** Delete all information from a single table in the database. iTable is ** the page number of the root of the table. After this routine returns, |
︙ |
Changes to src/btreeInt.h.
︙ | |||
275 276 277 278 279 280 281 282 283 284 285 286 287 288 | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | + | u8 nOverflow; /* Number of overflow cell bodies in aCell[] */ u8 intKey; /* True if intkey flag is set */ u8 leaf; /* True if leaf flag is set */ u8 hasData; /* True if this page stores data */ u8 hdrOffset; /* 100 for page 1. 0 otherwise */ u8 childPtrSize; /* 0 if leaf==1. 4 if leaf==0 */ u8 max1bytePayload; /* min(maxLocal,127) */ u8 bBusy; /* Prevent endless loop in clearDatabasePage() */ u16 maxLocal; /* Copy of BtShared.maxLocal or BtShared.maxLeaf */ u16 minLocal; /* Copy of BtShared.minLocal or BtShared.minLeaf */ u16 cellOffset; /* Index in aData of first cell pointer */ u16 nFree; /* Number of free bytes on the page */ u16 nCell; /* Number of cells on this page, local and ovfl */ u16 maskPage; /* Mask for page offset */ u16 aiOvfl[5]; /* Insert the i-th overflow cell before the aiOvfl-th |
︙ |
Added test/corruptJ.test.
|