Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix a problem preventing log file space from being reclaimed. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | rework-flow-control |
Files: | files | file ages | folders |
SHA1: |
b9f122f4e30c3e5c7d9a989df49c4497 |
User & Date: | dan 2012-09-24 17:18:45.416 |
Context
2012-09-25
| ||
14:50 | Fix a mmap-mode bug. check-in: be1e513090 user: dan tags: rework-flow-control | |
2012-09-24
| ||
17:18 | Fix a problem preventing log file space from being reclaimed. check-in: b9f122f4e3 user: dan tags: rework-flow-control | |
16:04 | Fix further bugs. check-in: 99b59dacbd user: dan tags: rework-flow-control | |
Changes
Changes to src/lsm_ckpt.c.
︙ | ︙ | |||
327 328 329 330 331 332 333 | int *piOut, int *pRc ){ int iOut = *piOut; assert( iOut==CKPT_HDR_LO_MSW ); | | | 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 | int *piOut, int *pRc ){ int iOut = *piOut; assert( iOut==CKPT_HDR_LO_MSW ); if( bFlush ){ i64 iOff = pDb->treehdr.iOldLog; ckptSetValue(p, iOut++, (iOff >> 32) & 0xFFFFFFFF, pRc); ckptSetValue(p, iOut++, (iOff & 0xFFFFFFFF), pRc); ckptSetValue(p, iOut++, pDb->treehdr.oldcksum0, pRc); ckptSetValue(p, iOut++, pDb->treehdr.oldcksum1, pRc); }else{ for(; iOut<=CKPT_HDR_LO_CKSUM2; iOut++){ |
︙ | ︙ | |||
706 707 708 709 710 711 712 | return rc; } /* ** The connection must be the worker in order to call this function. ** ** True is returned if there are currently too many free-list entries | | | 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 | return rc; } /* ** The connection must be the worker in order to call this function. ** ** True is returned if there are currently too many free-list entries ** in-memory to store in a checkpoint. Before calling CheckpointSaveWorker() ** to save the current worker snapshot, a new top-level LSM segment must ** be created so that some of them can be written to the LSM. */ int lsmCheckpointOverflowRequired(lsm_db *pDb){ Snapshot *p = pDb->pWorker; assert( lsmShmAssertWorker(pDb) ); return (p->freelist.nEntry > pDb->nMaxFreelist || p->nFreelistOvfl>0); |
︙ | ︙ |
Changes to src/lsm_main.c.
︙ | ︙ | |||
101 102 103 104 105 106 107 | */ static void dbReleaseClientSnapshot(lsm_db *pDb){ if( pDb->nTransOpen==0 && pDb->pCsr==0 ){ lsmFinishReadTrans(pDb); } } | < < < < < < < < < < < < < < < < < < < < < < < | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | */ static void dbReleaseClientSnapshot(lsm_db *pDb){ if( pDb->nTransOpen==0 && pDb->pCsr==0 ){ lsmFinishReadTrans(pDb); } } static int getFullpathname( lsm_env *pEnv, const char *zRel, char **pzAbs ){ int nAlloc = 0; char *zAlloc = 0; |
︙ | ︙ |