Make REINDEX robust in the face of malloc() errors. (CVS 3990)
FossilOrigin-Name: dbe417745d3d4ed875715ad7083d7345d1b6a56f
This commit is contained in:
parent
cf1be45fe2
commit
84f31128b2
14
manifest
14
manifest
@ -1,5 +1,5 @@
|
||||
C Make\sthe\sANALYZE\scommand\srobust\sin\sthe\sface\sof\smalloc()\sfailures.\s(CVS\s3989)
|
||||
D 2007-05-12T12:08:51
|
||||
C Make\sREINDEX\srobust\sin\sthe\sface\sof\smalloc()\serrors.\s(CVS\s3990)
|
||||
D 2007-05-12T15:00:15
|
||||
F Makefile.in 87b200ad9970907f76df734d29dff3d294c10935
|
||||
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
|
||||
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
||||
@ -64,7 +64,7 @@ F src/auth.c 902f4722661c796b97f007d9606bd7529c02597f
|
||||
F src/btree.c 0c2f9b06c90d7c59925c03153c9d47fd739c8ca5
|
||||
F src/btree.h 1d527bf61ed176f980c34999d5793a0fd45dcf8c
|
||||
F src/btreeInt.h cb3c0e9eb842d06079a62cdf3492c90c5db7ba75
|
||||
F src/build.c 5789303291d40a1d37bfede83c1c769be22c88ab
|
||||
F src/build.c 8e744caf66d4411143985863108736887096d634
|
||||
F src/callback.c 9c12535669a638f90a67e10440b99c7b93c0fbf4
|
||||
F src/complete.c 7d1a44be8f37de125fcafd3d3a018690b3799675
|
||||
F src/date.c 6049db7d5a8fdf2c677ff7d58fa31d4f6593c988
|
||||
@ -296,7 +296,7 @@ F test/malloc6.test 025ae0b78542e0ddd000d23f79d93e9be9ba0f15
|
||||
F test/malloc7.test 1cf52834509eac7ebeb92105dacd4669f9ca9869
|
||||
F test/malloc8.test e4054ca2a87ab1d42255bec009b177ba20b5a487
|
||||
F test/malloc9.test 8381041fd89c31fba60c8a1a1c776bb022108572
|
||||
F test/mallocA.test d8b8de87bf2e605e6d4507f96b87fa1d891693e2
|
||||
F test/mallocA.test 525674e6e0775a9bf85a33f1da1c6bbddc712c30
|
||||
F test/manydb.test 8de36b8d33aab5ef295b11d9e95310aeded31af8
|
||||
F test/memdb.test a67bda4ff90a38f2b19f6c7f95aa7289e051d893
|
||||
F test/memleak.test d2d2a1ff7105d32dc3fdf691458cf6cba58c7217
|
||||
@ -490,7 +490,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
|
||||
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
||||
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
|
||||
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
|
||||
P 260338c4b2b18c9f4da8bc7fe3eda306dcaa4e38
|
||||
R f6d6bb84867a23616a67a2ab24e70c0a
|
||||
P c08658e1f8598941ebddddb98942b98cfcb86e7a
|
||||
R 72a1de25bc540615c732aa41aeba85b0
|
||||
U drh
|
||||
Z 29e801396d63998d48f02963b7838607
|
||||
Z 5ad3bb426ed54207061f91dbb90ceab1
|
||||
|
@ -1 +1 @@
|
||||
c08658e1f8598941ebddddb98942b98cfcb86e7a
|
||||
dbe417745d3d4ed875715ad7083d7345d1b6a56f
|
@ -22,7 +22,7 @@
|
||||
** COMMIT
|
||||
** ROLLBACK
|
||||
**
|
||||
** $Id: build.c,v 1.429 2007/05/08 20:59:49 drh Exp $
|
||||
** $Id: build.c,v 1.430 2007/05/12 15:00:15 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
#include <ctype.h>
|
||||
@ -3306,6 +3306,7 @@ void sqlite3Reindex(Parse *pParse, Token *pName1, Token *pName2){
|
||||
iDb = sqlite3TwoPartName(pParse, pName1, pName2, &pObjName);
|
||||
if( iDb<0 ) return;
|
||||
z = sqlite3NameFromToken(pObjName);
|
||||
if( z==0 ) return;
|
||||
zDb = db->aDb[iDb].zName;
|
||||
pTab = sqlite3FindTable(db, z, zDb);
|
||||
if( pTab ){
|
||||
|
@ -10,7 +10,7 @@
|
||||
#***********************************************************************
|
||||
# This file contains additional out-of-memory checks (see malloc.tcl).
|
||||
#
|
||||
# $Id: mallocA.test,v 1.1 2007/05/12 12:08:51 drh Exp $
|
||||
# $Id: mallocA.test,v 1.2 2007/05/12 15:00:15 drh Exp $
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
@ -118,7 +118,7 @@ proc do_malloc_test {tn args} {
|
||||
#
|
||||
file delete -force test.db.bu
|
||||
db eval {
|
||||
CREATE TABLE t1(a,b,c);
|
||||
CREATE TABLE t1(a COLLATE NOCASE,b,c);
|
||||
INSERT INTO t1 VALUES(1,2,3);
|
||||
INSERT INTO t1 VALUES(1,2,4);
|
||||
INSERT INTO t1 VALUES(2,3,4);
|
||||
@ -134,6 +134,18 @@ sqlite3 db test.db
|
||||
do_malloc_test 1 -sqlbody {
|
||||
ANALYZE
|
||||
}
|
||||
do_malloc_test 2 -sqlbody {
|
||||
REINDEX;
|
||||
}
|
||||
do_malloc_test 3 -sqlbody {
|
||||
REINDEX t1;
|
||||
}
|
||||
do_malloc_test 4 -sqlbody {
|
||||
REINDEX main.t1;
|
||||
}
|
||||
do_malloc_test 5 -sqlbody {
|
||||
REINDEX nocase;
|
||||
}
|
||||
|
||||
# Ensure that no file descriptors were leaked.
|
||||
do_test malloc-99.X {
|
||||
|
Loading…
x
Reference in New Issue
Block a user