Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Improved comment on the pager.c PERSIST rollback journal delete logic inside of hasHotJournal(). No changes to code. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
e5b17a9d07a35c9b44ff977ba81b93d7 |
User & Date: | drh 2014-03-07 14:57:07.028 |
Context
2014-03-08
| ||
19:07 | Fix a bug causing "SELECT char()" to return SQLITE_NOMEM. (check-in: ba39df9d4f user: dan tags: trunk) | |
2014-03-07
| ||
14:57 | Improved comment on the pager.c PERSIST rollback journal delete logic inside of hasHotJournal(). No changes to code. (check-in: e5b17a9d07 user: drh tags: trunk) | |
03:31 | Revise change from the previous check-in to clarify the situation when handling open journal files, regardless of journal mode. (check-in: 1c318ef3b7 user: mistachkin tags: trunk) | |
Changes
Changes to src/pager.c.
︙ | ︙ | |||
4885 4886 4887 4888 4889 4890 4891 | ** in fact there is none. This results in a false-positive which will ** be dealt with by the playback routine. Ticket #3883. */ rc = sqlite3OsCheckReservedLock(pPager->fd, &locked); if( rc==SQLITE_OK && !locked ){ Pgno nPage; /* Number of pages in database file */ | < < < < < < > > > > > > > > | 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 | ** in fact there is none. This results in a false-positive which will ** be dealt with by the playback routine. Ticket #3883. */ rc = sqlite3OsCheckReservedLock(pPager->fd, &locked); if( rc==SQLITE_OK && !locked ){ Pgno nPage; /* Number of pages in database file */ rc = pagerPagecount(pPager, &nPage); if( rc==SQLITE_OK ){ /* If the database is zero pages in size, that means that either (1) the ** journal is a remnant from a prior database with the same name where ** the database file but not the journal was deleted, or (2) the initial ** transaction that populates a new database is being rolled back. ** In either case, the journal file can be deleted. However, take care ** not to delete the journal file if it is already open due to ** journal_mode=PERSIST. */ if( nPage==0 && !jrnlOpen ){ sqlite3BeginBenignMalloc(); if( pagerLockDb(pPager, RESERVED_LOCK)==SQLITE_OK ){ sqlite3OsDelete(pVfs, pPager->zJournal, 0); if( !pPager->exclusiveMode ) pagerUnlockDb(pPager, SHARED_LOCK); } sqlite3EndBenignMalloc(); |
︙ | ︙ |