aboutsummaryrefslogtreecommitdiff
path: root/src/pager.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2011-01-16 00:56:19 +0000
committerdrh <drh@noemail.net>2011-01-16 00:56:19 +0000
commitd40d7ec78b4ac44c1b94fd8ac7356868966c811a (patch)
tree24ebe903af9f60183277c816e9b1790f80267138 /src/pager.c
parent0bf1f496b8f2ab09a48074d5ce035c3359803646 (diff)
downloadsqlite-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.c3
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);
}