diff options
author | drh <drh@noemail.net> | 2011-01-16 00:56:19 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2011-01-16 00:56:19 +0000 |
commit | d40d7ec78b4ac44c1b94fd8ac7356868966c811a (patch) | |
tree | 24ebe903af9f60183277c816e9b1790f80267138 /src/pager.c | |
parent | 0bf1f496b8f2ab09a48074d5ce035c3359803646 (diff) | |
download | sqlite-d40d7ec78b4ac44c1b94fd8ac7356868966c811a.tar.gz sqlite-d40d7ec78b4ac44c1b94fd8ac7356868966c811a.zip |
Make sure the change-counter and SQLite-version fields of the header are
set correctly even when doing a VACUUM with locking_mode=EXCLUSIVE.
Ticket [5d863f876ee9561b].
FossilOrigin-Name: 04fa1e16905183b948ee6456675799a873d5f97d
Diffstat (limited to 'src/pager.c')
-rw-r--r-- | src/pager.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/pager.c b/src/pager.c index e0b4cd3c5..846cdf63e 100644 --- a/src/pager.c +++ b/src/pager.c @@ -4005,6 +4005,7 @@ static int pager_write_pagelist(Pager *pPager, PgHdr *pList){ char *pData; /* Data to write */ assert( (pList->flags&PGHDR_NEED_SYNC)==0 ); + if( pList->pgno==1 ) pager_write_changecounter(pList); /* Encode the database */ CODEC2(pPager, pList->pData, pgno, 6, return SQLITE_NOMEM, pData); @@ -5584,7 +5585,7 @@ static int pager_incr_changecounter(Pager *pPager, int isDirectMode){ ** direct mode, page 1 is always held in cache and hence the PagerGet() ** above is always successful - hence the ALWAYS on rc==SQLITE_OK. */ - if( !DIRECT_MODE && ALWAYS(rc==SQLITE_OK) ){ + if( !DIRECT_MODE && rc==SQLITE_OK ){ rc = sqlite3PagerWrite(pPgHdr); } |