mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-10 01:02:56 +03:00
Remove an assert() statement that may not be true if an IO or malloc error has occured. (CVS 4037)
FossilOrigin-Name: 16c8e9c20cd2a7628c20a31c3e9605fe2d92ba2e
This commit is contained in:
12
manifest
12
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Fix\sa\spage\sreference\sleak\sthat\scould\soccur\safter\san\sIO\serror.\s(CVS\s4036)
|
C Remove\san\sassert()\sstatement\sthat\smay\snot\sbe\strue\sif\san\sIO\sor\smalloc\serror\shas\soccured.\s(CVS\s4037)
|
||||||
D 2007-05-24T09:20:16
|
D 2007-05-24T09:41:21
|
||||||
F Makefile.in a42354804b50c2708ce72cf79e4daa30f50191b5
|
F Makefile.in a42354804b50c2708ce72cf79e4daa30f50191b5
|
||||||
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
|
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
|
||||||
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
||||||
@@ -93,7 +93,7 @@ F src/os_unix.c cb1fb044b84870c7b1b8b2902e9d7be779f8b7ce
|
|||||||
F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e
|
F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e
|
||||||
F src/os_win.c d868d5f9e95ec9c1b9e2a30c54c996053db6dddd
|
F src/os_win.c d868d5f9e95ec9c1b9e2a30c54c996053db6dddd
|
||||||
F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
|
F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
|
||||||
F src/pager.c 9fa154fbc5f511dedadc9f9df87df6b103c0303a
|
F src/pager.c a193f8f0783e33ea0aa1965e951c3daa2b2c9c4e
|
||||||
F src/pager.h 94110a5570dca30d54a883e880a3633b2e4c05ae
|
F src/pager.h 94110a5570dca30d54a883e880a3633b2e4c05ae
|
||||||
F src/parse.y e276a0c35d6579938708f0842d0eba4e9b6866e6
|
F src/parse.y e276a0c35d6579938708f0842d0eba4e9b6866e6
|
||||||
F src/pragma.c 0d25dad58bdfd6789943a10f1b9663c2eb85b96d
|
F src/pragma.c 0d25dad58bdfd6789943a10f1b9663c2eb85b96d
|
||||||
@@ -494,7 +494,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
|
|||||||
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
||||||
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
|
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
|
||||||
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
|
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
|
||||||
P c6575173be13296fbe57932f2d24a568f6d552ff
|
P d00c8242c610476c15d6eb4dc53fecab3971fea1
|
||||||
R baefc7d51c05b37700d6c36d25807fe6
|
R 9abf1f4debe1a38817737548dec4e891
|
||||||
U danielk1977
|
U danielk1977
|
||||||
Z 4631c8b4d947d8c5bb83b93a6f0ce1c2
|
Z 935819231bb9014e0bc1aad53066c093
|
||||||
|
@@ -1 +1 @@
|
|||||||
d00c8242c610476c15d6eb4dc53fecab3971fea1
|
16c8e9c20cd2a7628c20a31c3e9605fe2d92ba2e
|
@@ -18,7 +18,7 @@
|
|||||||
** file simultaneously, or one process from reading the database while
|
** file simultaneously, or one process from reading the database while
|
||||||
** another is writing.
|
** another is writing.
|
||||||
**
|
**
|
||||||
** @(#) $Id: pager.c,v 1.341 2007/05/24 07:22:42 danielk1977 Exp $
|
** @(#) $Id: pager.c,v 1.342 2007/05/24 09:41:21 danielk1977 Exp $
|
||||||
*/
|
*/
|
||||||
#ifndef SQLITE_OMIT_DISKIO
|
#ifndef SQLITE_OMIT_DISKIO
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
@@ -1083,7 +1083,10 @@ static int pager_playback_one_page(Pager *pPager, OsFile *jfd, int useCksum){
|
|||||||
**
|
**
|
||||||
** An exception to the above rule: If the database is in no-sync mode
|
** An exception to the above rule: If the database is in no-sync mode
|
||||||
** and a page is moved during an incremental vacuum then the page may
|
** and a page is moved during an incremental vacuum then the page may
|
||||||
** not be in the pager cache.
|
** not be in the pager cache. Later: if a malloc() or IO error occurs
|
||||||
|
** during a Movepage() call, then the page may not be in the cache
|
||||||
|
** either. So the condition described in the above paragraph is not
|
||||||
|
** assert()able.
|
||||||
**
|
**
|
||||||
** If in EXCLUSIVE state, then we update the pager cache if it exists
|
** If in EXCLUSIVE state, then we update the pager cache if it exists
|
||||||
** and the main file. The page is then marked not dirty.
|
** and the main file. The page is then marked not dirty.
|
||||||
@@ -1102,7 +1105,6 @@ static int pager_playback_one_page(Pager *pPager, OsFile *jfd, int useCksum){
|
|||||||
** cache or else it is marked as needSync==0.
|
** cache or else it is marked as needSync==0.
|
||||||
*/
|
*/
|
||||||
pPg = pager_lookup(pPager, pgno);
|
pPg = pager_lookup(pPager, pgno);
|
||||||
assert( pPager->state>=PAGER_EXCLUSIVE || pPg!=0 || pPager->noSync );
|
|
||||||
PAGERTRACE3("PLAYBACK %d page %d\n", PAGERID(pPager), pgno);
|
PAGERTRACE3("PLAYBACK %d page %d\n", PAGERID(pPager), pgno);
|
||||||
if( pPager->state>=PAGER_EXCLUSIVE && (pPg==0 || pPg->needSync==0) ){
|
if( pPager->state>=PAGER_EXCLUSIVE && (pPg==0 || pPg->needSync==0) ){
|
||||||
rc = sqlite3OsSeek(pPager->fd, (pgno-1)*(i64)pPager->pageSize);
|
rc = sqlite3OsSeek(pPager->fd, (pgno-1)*(i64)pPager->pageSize);
|
||||||
|
Reference in New Issue
Block a user