SQLite

Check-in [fb26ae7239]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Avoid doing IO purely to check assert() constraints. (CVS 5526)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: fb26ae723959390a716f221af93c6c29eec16955
User & Date: danielk1977 2008-08-02 17:03:32.000
Context
2008-08-02
17:36
Fix a reference count leak introduced by (5526). (CVS 5527) (check-in: f653995c32 user: danielk1977 tags: trunk)
17:03
Avoid doing IO purely to check assert() constraints. (CVS 5526) (check-in: fb26ae7239 user: danielk1977 tags: trunk)
15:32
Fix a bug introduced by (5519) causing builds with SQLITE_OMIT_VIRTUALTABLE to malfunction. (CVS 5525) (check-in: 761e73ceab user: danielk1977 tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/btree.c.
1
2
3
4
5
6
7
8
9
10
11
12

13
14
15
16
17
18
19
1
2
3
4
5
6
7
8
9
10
11

12
13
14
15
16
17
18
19











-
+







/*
** 2004 April 6
**
** The author disclaims copyright to this source code.  In place of
** a legal notice, here is a blessing:
**
**    May you do good and not evil.
**    May you find forgiveness for yourself and forgive others.
**    May you share freely, never taking more than you give.
**
*************************************************************************
** $Id: btree.c,v 1.493 2008/08/01 20:10:08 drh Exp $
** $Id: btree.c,v 1.494 2008/08/02 17:03:32 danielk1977 Exp $
**
** This file implements a external (disk-based) database using BTrees.
** See the header comment on "btreeInt.h" for additional information.
** Including a description of file format and an overview of operation.
*/
#include "btreeInt.h"

4519
4520
4521
4522
4523
4524
4525

4526
4527
4528
4529
4530
4531
4532
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533







+







      nSrc = nData;
      pSrc = pData;
    }
  }
  releasePage(pToRelease);
  return SQLITE_OK;
}


/*
** Change the MemPage.pParent pointer on the page whose number is
** given in the second argument so that MemPage.pParent holds the
** pointer in the third argument.
**
** If the final argument, updatePtrmap, is non-zero and the database
4566
4567
4568
4569
4570
4571
4572
4573

4574
4575

4576
4577


4578
4579
4580
4581
4582
4583
4584
4567
4568
4569
4570
4571
4572
4573

4574
4575
4576
4577


4578
4579
4580
4581
4582
4583
4584
4585
4586







-
+


+
-
-
+
+







    return ptrmapPut(pBt, pgno, PTRMAP_BTREE, pNewParent->pgno);
  }

#ifndef NDEBUG
  /* If the updatePtrmap flag was clear, assert that the entry in the
  ** pointer-map is already correct.
  */
  if( ISAUTOVACUUM ){
  if( ISAUTOVACUUM && sqlite3PagerLookup(pBt->pPager,PTRMAP_PAGENO(pBt,pgno)) ){
    u8 eType;
    Pgno ii;
    int rc;
    ptrmapGet(pBt, pgno, &eType, &ii);
    assert( ii==pNewParent->pgno && eType==PTRMAP_BTREE );
    rc = ptrmapGet(pBt, pgno, &eType, &ii);
    assert( rc==SQLITE_OK && ii==pNewParent->pgno && eType==PTRMAP_BTREE );
  }
#endif

  return SQLITE_OK;
}