Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Avoid unnecessary fstat() calls to determine the database size when transitioning into a read transaction on a rollback-mode database. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | io-opt |
Files: | files | file ages | folders |
SHA3-256: |
6c3476b513965df22d648f9a1b99733a |
User & Date: | drh 2017-05-29 16:45:45.492 |
Context
2017-05-29
| ||
17:59 | Omit unnecessary fstat() calls for determining the database file size, resulting in smaller and faster code. (check-in: dd61c73677 user: drh tags: trunk) | |
16:45 | Avoid unnecessary fstat() calls to determine the database size when transitioning into a read transaction on a rollback-mode database. (Closed-Leaf check-in: 6c3476b513 user: drh tags: io-opt) | |
14:57 | Avoid unnecessary calls to fstat() to determine the database file size. (check-in: c733a1dea3 user: drh tags: io-opt) | |
Changes
Changes to src/pager.c.
︙ | ︙ | |||
3300 3301 3302 3303 3304 3305 3306 | static int pagerOpenWalIfPresent(Pager *pPager){ int rc = SQLITE_OK; assert( pPager->eState==PAGER_OPEN ); assert( pPager->eLock>=SHARED_LOCK ); if( !pPager->tempFile ){ int isWal; /* True if WAL file exists */ | > > > > > | | | | | < < | < < < < < < | | > | 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 | static int pagerOpenWalIfPresent(Pager *pPager){ int rc = SQLITE_OK; assert( pPager->eState==PAGER_OPEN ); assert( pPager->eLock>=SHARED_LOCK ); if( !pPager->tempFile ){ int isWal; /* True if WAL file exists */ rc = sqlite3OsAccess( pPager->pVfs, pPager->zWal, SQLITE_ACCESS_EXISTS, &isWal ); if( rc==SQLITE_OK ){ if( isWal ){ Pgno nPage; /* Size of the database file */ rc = pagerPagecount(pPager, &nPage); if( rc ) return rc; if( nPage==0 ){ rc = sqlite3OsDelete(pPager->pVfs, pPager->zWal, 0); }else{ testcase( sqlite3PcachePagecount(pPager->pPCache)==0 ); rc = sqlite3PagerOpenWal(pPager, 0); } }else if( pPager->journalMode==PAGER_JOURNALMODE_WAL ){ pPager->journalMode = PAGER_JOURNALMODE_DELETE; } } } return rc; } |
︙ | ︙ |