From: drh Date: Fri, 4 Dec 2009 13:42:59 +0000 (+0000) Subject: Fix an FTS3 problem where an OOM error was not being propagated back X-Git-Tag: version-3.7.2~753 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=406a15ad8baa24830795b3d0075fd52a82153d00;p=thirdparty%2Fsqlite.git Fix an FTS3 problem where an OOM error was not being propagated back out to the top-level interface. FossilOrigin-Name: 2ad1461f255c2499367b706a5ec65b44c1fc1618 --- diff --git a/ext/fts3/fts3.c b/ext/fts3/fts3.c index cca04a573b..980304dadc 100644 --- a/ext/fts3/fts3.c +++ b/ext/fts3/fts3.c @@ -1563,12 +1563,14 @@ static int fts3TermSelect( sqlite3_int64 i2 = sqlite3_column_int64(pStmt, 2); rc = sqlite3Fts3SegReaderNew(p, iAge, i1, i2, 0, 0, 0, &pNew); } - sqlite3Fts3ReadBlock(p, 0, 0, 0); + if( rc==SQLITE_OK ){ + rc = sqlite3Fts3ReadBlock(p, 0, 0, 0); + } } iAge++; /* If a new Fts3SegReader was allocated, add it to the apSegment array. */ - assert( (rc==SQLITE_OK)==(pNew!=0) ); + assert( pNew!=0 || rc!=SQLITE_OK ); if( pNew ){ if( nSegment==nAlloc ){ Fts3SegReader **pArray; diff --git a/manifest b/manifest index 0874d9e367..88f6e71557 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,8 @@ -C Reset\sthe\sstate\sof\sthe\sasynchronous\sIO\smodule\sat\sthe\send\sof\sthe\stkt-94c04eaadb.test\sscript. -D 2009-12-04T08:41:00 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +C Fix\san\sFTS3\sproblem\swhere\san\sOOM\serror\swas\snot\sbeing\spropagated\sback\nout\sto\sthe\stop-level\sinterface. +D 2009-12-04T13:43:00 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in c5827ead754ab32b9585487177c93bb00b9497b3 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -56,7 +59,7 @@ F ext/fts2/mkfts2amal.tcl 974d5d438cb3f7c4a652639262f82418c1e4cff0 F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a F ext/fts3/README.tokenizers 998756696647400de63d5ba60e9655036cb966e9 F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d -F ext/fts3/fts3.c b15d44a46f76b08806b75d70c44c62254269d619 +F ext/fts3/fts3.c fb2459bc19dfc3594ee66b3155444ca05f7ca903 F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe F ext/fts3/fts3Int.h cc716c74afa7da8e0f8ef39404f33ea62a823eb3 F ext/fts3/fts3_expr.c c18794a62c257d3456d3314c5a18e348ae0d84bd @@ -776,7 +779,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 3bb64842acdca2a4e81f1c72130a90c23b0804f1 -R 1f53e9168e6eecbc2ad14610a89af867 -U dan -Z a4f919370d7d735ad20ccedd36d51ae5 +P e8ae7e98977ff2a47237ad64f8a9a800a6d2797c +R 0e758f5e47d04871f42083bba7a7b4d8 +U drh +Z 836c78b8bfb06ee08ae63949c0d6547b +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQFLGRHnoxKgR168RlERAlDOAKCBM26yhl/CHQAH9C/zrnwkIo3gxwCfUCC4 +tNbW8OhAD6vpZUfnJqfu1UI= +=oqsH +-----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index 1d441d9128..a117cd44ba 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e8ae7e98977ff2a47237ad64f8a9a800a6d2797c \ No newline at end of file +2ad1461f255c2499367b706a5ec65b44c1fc1618 \ No newline at end of file