SQLite

Check-in [ae025cae22]
Login

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

Overview
Comment:Mark an always-true conditional as such.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | zero-byte-backup-fix
Files: files | file ages | folders
SHA1: ae025cae2266a91d4226bbdb66f82b9d7714750a
User & Date: drh 2012-10-13 20:55:12.166
Context
2012-10-13
23:16
Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients. (check-in: ca86138bda user: drh tags: trunk)
20:55
Mark an always-true conditional as such. (Closed-Leaf check-in: ae025cae22 user: drh tags: zero-byte-backup-fix)
20:20
Modify backup4 test name prefix to make the resulting test names unique. (check-in: 637fb1c1b7 user: mistachkin tags: zero-byte-backup-fix)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/pager.c.
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
# define DIRECT_MODE 0
  assert( isDirectMode==0 );
  UNUSED_PARAMETER(isDirectMode);
#else
# define DIRECT_MODE isDirectMode
#endif

  if( !pPager->changeCountDone && pPager->dbSize>0 ){
    PgHdr *pPgHdr;                /* Reference to page 1 */

    assert( !pPager->tempFile && isOpen(pPager->fd) );

    /* Open page 1 of the file for writing. */
    rc = sqlite3PagerGet(pPager, 1, &pPgHdr);
    assert( pPgHdr==0 || rc==SQLITE_OK );







|







5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
# define DIRECT_MODE 0
  assert( isDirectMode==0 );
  UNUSED_PARAMETER(isDirectMode);
#else
# define DIRECT_MODE isDirectMode
#endif

  if( !pPager->changeCountDone && ALWAYS(pPager->dbSize>0) ){
    PgHdr *pPgHdr;                /* Reference to page 1 */

    assert( !pPager->tempFile && isOpen(pPager->fd) );

    /* Open page 1 of the file for writing. */
    rc = sqlite3PagerGet(pPager, 1, &pPgHdr);
    assert( pPgHdr==0 || rc==SQLITE_OK );