Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add extra OPTIMIZATION-IF-FALSE comments where required to pcache.c. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
9d55b8f541de43deb82d460d32005fd6 |
User & Date: | dan 2016-05-12 17:06:04.756 |
Context
2016-05-12
| ||
18:38 | Add an assert in pager.c to confirm that pPager->tempFile is always true for in-memory databases. (check-in: 3fd7109206 user: drh tags: trunk) | |
17:06 | Add extra OPTIMIZATION-IF-FALSE comments where required to pcache.c. (check-in: 9d55b8f541 user: dan tags: trunk) | |
12:08 | For in-memory databases, it does not matter if pcache entries are marked "clean" or "writable". (check-in: 06c1e27ca8 user: drh tags: trunk) | |
Changes
Changes to src/pcache.c.
︙ | ︙ | |||
420 421 422 423 424 425 426 | */ void SQLITE_NOINLINE sqlite3PcacheRelease(PgHdr *p){ assert( p->nRef>0 ); p->pCache->nRefSum--; if( (--p->nRef)==0 ){ if( p->flags&PGHDR_CLEAN ){ pcacheUnpin(p); | | | > > > | 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 | */ void SQLITE_NOINLINE sqlite3PcacheRelease(PgHdr *p){ assert( p->nRef>0 ); p->pCache->nRefSum--; if( (--p->nRef)==0 ){ if( p->flags&PGHDR_CLEAN ){ pcacheUnpin(p); }else if( p->pDirtyPrev!=0 ){ /*OPTIMIZATION-IF-FALSE*/ /* Move the page to the head of the dirty list. If p->pDirtyPrev==0, ** then page p is already at the head of the dirty list and the ** following call would be a no-op. Hence the OPTIMIZATION-IF-FALSE ** tag above. */ pcacheManageDirtyList(p, PCACHE_DIRTYLIST_FRONT); } } } /* ** Increase the reference count of a supplied page by 1. |
︙ | ︙ | |||
456 457 458 459 460 461 462 | /* ** Make sure the page is marked as dirty. If it isn't dirty already, ** make it so. */ void sqlite3PcacheMakeDirty(PgHdr *p){ assert( p->nRef>0 ); | | | 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 | /* ** Make sure the page is marked as dirty. If it isn't dirty already, ** make it so. */ void sqlite3PcacheMakeDirty(PgHdr *p){ assert( p->nRef>0 ); if( p->flags & (PGHDR_CLEAN|PGHDR_DONT_WRITE) ){ /*OPTIMIZATION-IF-FALSE*/ p->flags &= ~PGHDR_DONT_WRITE; if( p->flags & PGHDR_CLEAN ){ p->flags ^= (PGHDR_DIRTY|PGHDR_CLEAN); pcacheTrace(("%p.DIRTY %d\n",p->pCache,p->pgno)); assert( (p->flags & (PGHDR_DIRTY|PGHDR_CLEAN))==PGHDR_DIRTY ); pcacheManageDirtyList(p, PCACHE_DIRTYLIST_ADD); } |
︙ | ︙ |