Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix an LSM problem causing the wrong amount of "auto-work" to be performed under fairly obscure circumstances. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
a4876672edea4e96103efd2463ce9a34 |
User & Date: | dan 2018-01-05 11:34:18.736 |
Context
2018-01-05
| ||
19:01 | Add the ".ar" command to the command-line shell. (check-in: 148b8aee78 user: drh tags: trunk) | |
11:34 | Fix an LSM problem causing the wrong amount of "auto-work" to be performed under fairly obscure circumstances. (check-in: a4876672ed user: dan tags: trunk) | |
07:57 | Fix an LSM crash that could occur if LSM_CONFIG_AUTOFLUSH was set to 0. (check-in: 05346f83d5 user: dan tags: trunk) | |
Changes
Changes to ext/lsm1/lsm_sorted.c.
︙ | ︙ | |||
5248 5249 5250 5251 5252 5253 5254 | nRem -= nPg; if( nPg ) bDirty = 1; } /* If the in-memory part of the free-list is too large, write a new ** top-level containing just the in-memory free-list entries to disk. */ if( rc==LSM_OK && pDb->pWorker->freelist.nEntry > pDb->nMaxFreelist ){ | < > < | | 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 | nRem -= nPg; if( nPg ) bDirty = 1; } /* If the in-memory part of the free-list is too large, write a new ** top-level containing just the in-memory free-list entries to disk. */ if( rc==LSM_OK && pDb->pWorker->freelist.nEntry > pDb->nMaxFreelist ){ while( rc==LSM_OK && lsmDatabaseFull(pDb) ){ int nPg = 0; rc = sortedWork(pDb, 16, nMerge, 1, &nPg); nRem -= nPg; } if( rc==LSM_OK ){ rc = sortedNewFreelistOnly(pDb); } bDirty = 1; } if( rc==LSM_OK ){ *pnWrite = (nMax - nRem); *pbCkpt = (bCkpt && nRem<=0); if( nMerge==1 && pDb->nAutockpt>0 && *pnWrite>0 && pWorker->pLevel |
︙ | ︙ |