Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix an error with OOM processing in the ANALYZE logic. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | stat3-enhancement |
Files: | files | file ages | folders |
SHA1: |
b26ec79c69f44b55bc4bb11e293f11b3 |
User & Date: | drh 2011-08-18 01:10:35.659 |
Context
2011-08-18
| ||
02:51 | Fix a bug in the cleanup of stat tables on a DROP TABLE in autovacuum mode. (check-in: 3fe5d54f63 user: drh tags: stat3-enhancement) | |
01:10 | Fix an error with OOM processing in the ANALYZE logic. (check-in: b26ec79c69 user: drh tags: stat3-enhancement) | |
2011-08-16
| ||
17:06 | Fix a few harmless compiler warnings. Add SQLITE_ENABLE_STAT3 to the standard compiler warning script. (check-in: 3d68f9afee user: drh tags: stat3-enhancement) | |
Changes
Changes to src/analyze.c.
︙ | ︙ | |||
502 503 504 505 506 507 508 509 510 511 512 | KeyInfo *pKey; int addrIfNot = 0; /* address of OP_IfNot */ int *aChngAddr; /* Array of jump instruction addresses */ if( pOnlyIdx && pOnlyIdx!=pIdx ) continue; VdbeNoopComment((v, "Begin analysis of %s", pIdx->zName)); nCol = pIdx->nColumn; pKey = sqlite3IndexKeyinfo(pParse, pIdx); if( iMem+1+(nCol*2)>pParse->nMem ){ pParse->nMem = iMem+1+(nCol*2); } | > > < < | 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 | KeyInfo *pKey; int addrIfNot = 0; /* address of OP_IfNot */ int *aChngAddr; /* Array of jump instruction addresses */ if( pOnlyIdx && pOnlyIdx!=pIdx ) continue; VdbeNoopComment((v, "Begin analysis of %s", pIdx->zName)); nCol = pIdx->nColumn; aChngAddr = sqlite3DbMallocRaw(db, sizeof(int)*nCol); if( aChngAddr==0 ) continue; pKey = sqlite3IndexKeyinfo(pParse, pIdx); if( iMem+1+(nCol*2)>pParse->nMem ){ pParse->nMem = iMem+1+(nCol*2); } /* Open a cursor to the index to be analyzed. */ assert( iDb==sqlite3SchemaToIndex(db, pIdx->pSchema) ); sqlite3VdbeAddOp4(v, OP_OpenRead, iIdxCur, pIdx->tnum, iDb, (char *)pKey, P4_KEYINFO_HANDOFF); VdbeComment((v, "%s", pIdx->zName)); |
︙ | ︙ |