Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix an incorrect assert() in pager.c. (CVS 369) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
08a68e098a677c508652ba2ff4bd6318 |
User & Date: | drh 2002-02-14 12:50:34.000 |
Context
2002-02-14
| ||
13:00 | Version 2.3.2 (CVS 446) (check-in: 4d06700007 user: drh tags: trunk) | |
12:50 | Fix an incorrect assert() in pager.c. (CVS 369) (check-in: 08a68e098a user: drh tags: trunk) | |
2002-02-13
| ||
23:30 | Version 2.3.1 (CVS 445) (check-in: 846148d6e3 user: drh tags: trunk) | |
Changes
Changes to VERSION.
|
| | | 1 | 2.3.2 |
Changes to src/pager.c.
︙ | ︙ | |||
14 15 16 17 18 19 20 | ** The pager is used to access a database disk file. It implements ** atomic commit and rollback through the use of a journal file that ** is separate from the database file. The pager also implements file ** locking to prevent two processes from writing the same database ** file simultaneously, or one process from reading the database while ** another is writing. ** | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | ** The pager is used to access a database disk file. It implements ** atomic commit and rollback through the use of a journal file that ** is separate from the database file. The pager also implements file ** locking to prevent two processes from writing the same database ** file simultaneously, or one process from reading the database while ** another is writing. ** ** @(#) $Id: pager.c,v 1.39 2002/02/14 12:50:35 drh Exp $ */ #include "sqliteInt.h" #include "pager.h" #include "os.h" #include <assert.h> #include <string.h> |
︙ | ︙ | |||
1089 1090 1091 1092 1093 1094 1095 | } } /* If the checkpoint journal is open and the page is not in it, ** then write the current page to the checkpoint journal. */ if( pPager->ckptOpen && !pPg->inCkpt && (int)pPg->pgno<=pPager->ckptSize ){ | | | 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 | } } /* If the checkpoint journal is open and the page is not in it, ** then write the current page to the checkpoint journal. */ if( pPager->ckptOpen && !pPg->inCkpt && (int)pPg->pgno<=pPager->ckptSize ){ assert( pPg->inJournal || (int)pPg->pgno>pPager->origDbSize ); rc = sqliteOsWrite(&pPager->cpfd, &pPg->pgno, sizeof(Pgno)); if( rc==SQLITE_OK ){ rc = sqliteOsWrite(&pPager->cpfd, pData, SQLITE_PAGE_SIZE); } if( rc!=SQLITE_OK ){ sqlitepager_rollback(pPager); pPager->errMask |= PAGER_ERR_FULL; |
︙ | ︙ |
Changes to test/misc1.test.
︙ | ︙ | |||
9 10 11 12 13 14 15 | # #*********************************************************************** # This file implements regression tests for SQLite library. # # This file implements tests for miscellanous features that were # left out of other test files. # | | | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # #*********************************************************************** # This file implements regression tests for SQLite library. # # This file implements tests for miscellanous features that were # left out of other test files. # # $Id: misc1.test,v 1.3 2002/02/14 12:50:35 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Test the creation and use of tables that have a large number # of columns. # |
︙ | ︙ | |||
109 110 111 112 113 114 115 116 117 | CREATE TABLE t1(a); INSERT INTO t1 VALUES('hi'); PRAGMA full_column_names=on; SELECT rowid, * FROM t1; }] lindex $r 1 } {hi} finish_test | > > > > > > > > > > > > > > > > > > > > | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | CREATE TABLE t1(a); INSERT INTO t1 VALUES('hi'); PRAGMA full_column_names=on; SELECT rowid, * FROM t1; }] lindex $r 1 } {hi} # Here's a test for yet another bug found by Joel Lucsy. The code # below was causing an assertion failure. # do_test misc1-4.1 { execsql { BEGIN; CREATE TABLE t2(a); INSERT INTO t2 VALUES('This is a long string to use up a lot of disk -'); UPDATE t2 SET a=a||a||a||a; INSERT INTO t2 SELECT '1 - ' || a FROM t2; INSERT INTO t2 SELECT '2 - ' || a FROM t2; INSERT INTO t2 SELECT '3 - ' || a FROM t2; INSERT INTO t2 SELECT '4 - ' || a FROM t2; INSERT INTO t2 SELECT '5 - ' || a FROM t2; INSERT INTO t2 SELECT '6 - ' || a FROM t2; COMMIT; SELECT count(*) FROM t2; } } {64} finish_test |
Changes to www/changes.tcl.
︙ | ︙ | |||
12 13 14 15 16 17 18 19 20 21 22 23 24 25 | } proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2002 Feb 13 (2.3.1)} { <li>Bug fix: An assertion was failing if "PRAGMA full_column_names=ON;" was set and you did a query that used a rowid, like this: "SELECT rowid, * FROM ...".</li> } | > > > > > > > | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | } proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2002 Feb 14 (2.3.2)} { <li>Bug fix: There was an incorrect assert() in pager.c. The real code was all correct (as far as is known) so everything should work OK if you compile with -DNDEBUG=1. But without disability the assertions, there could be a fault.</li> } chng {2002 Feb 13 (2.3.1)} { <li>Bug fix: An assertion was failing if "PRAGMA full_column_names=ON;" was set and you did a query that used a rowid, like this: "SELECT rowid, * FROM ...".</li> } |
︙ | ︙ |