-C Fix\sthe\sdocumentation\sof\sthe\sSQLITE_FUNCTION\sauthorizer\scode\sso\sthat\sit\nagrees\swith\show\sSQLite\shas\salways\sbehaved.\s\sTicket\s#3489.\s(CVS\s5876)
-D 2008-11-10T23:54:06
+C When\san\sOOM\serror\soccurs\swhile\sresizing\san\ssqlite_value\sobject,\smake\ssure\nthe\svalue\sof\sthe\sobject\sis\sset\sto\sNULL.\s\sTicket\s#3488.\s(CVS\s5877)
+D 2008-11-11T00:21:30
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 48172b58e444a9725ec482e0c022a564749acab4
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F src/vdbeaux.c 75258853624ec5fba72039f87397b3d88c586fa1
F src/vdbeblob.c b0dcebfafedcf9c0addc7901ad98f6f986c08935
F src/vdbefifo.c 20fda2a7c4c0bcee1b90eb7e545fefcdbf2e1de7
-F src/vdbemem.c ff746621ff0f695507ac9989fe3256ea8bee66ad
+F src/vdbemem.c 223e03281855515e9474dbf66f157452093a77c2
F src/vtab.c 527c180e9c5fca417c9167d02af4b5039f892b4b
F src/walker.c 488c2660e13224ff70c0c82761118efb547f8f0d
F src/where.c 171c9b2583944f66484c8552daa85373ce9e949f
F test/mallocG.test 4584d0d8ddb8009f16ca0c8bab1fa37f6358efa2
F test/mallocH.test 79b65aed612c9b3ed2dcdaa727c85895fd1bfbdb
F test/mallocI.test 6e24fe6444bd2999ccc81f984977b44c0d6e5591
-F test/mallocJ.test 110204e20eb8a9475d6df57d07d09c31d4542b07
+F test/mallocJ.test 9ed2275a7857fe1d5f5e1debc68dfdc285fc262f
F test/malloc_common.tcl 984baeb6c6b185e798827d1187d426acc2bc4962
F test/manydb.test 8de36b8d33aab5ef295b11d9e95310aeded31af8
F test/memdb.test a67bda4ff90a38f2b19f6c7f95aa7289e051d893
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P 239186804c7541abc512da33bba8f6fc7d24a374
-R ee6aa1a2f8d51d75cfc7bd7b3020fdfd
+P 806b6ed202292e386ac3e51cebcfb67f3870cd2f
+R d1d72399c4198836cc46e37f71d2e131
U drh
-Z db4af086fc1384c13372fd47a63469cd
+Z ffa9723504b4d99f03db9e73564e4aa9
** only within the VDBE. Interface routines refer to a Mem using the
** name sqlite_value
**
-** $Id: vdbemem.c,v 1.125 2008/11/05 17:41:19 drh Exp $
+** $Id: vdbemem.c,v 1.126 2008/11/11 00:21:30 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
if( sqlite3DbMallocSize(pMem->db, pMem->zMalloc)<n ){
if( preserve && pMem->z==pMem->zMalloc ){
pMem->z = pMem->zMalloc = sqlite3DbReallocOrFree(pMem->db, pMem->z, n);
- if( !pMem->z ){
- pMem->flags = MEM_Null;
- }
preserve = 0;
}else{
sqlite3DbFree(pMem->db, pMem->zMalloc);
}
pMem->z = pMem->zMalloc;
- pMem->flags &= ~(MEM_Ephem|MEM_Static);
+ if( pMem->z==0 ){
+ pMem->flags = MEM_Null;
+ }else{
+ pMem->flags &= ~(MEM_Ephem|MEM_Static);
+ }
pMem->xDel = 0;
return (pMem->z ? SQLITE_OK : SQLITE_NOMEM);
}
# This test script checks malloc failures in LIMIT operations for
# UPDATE/DELETE statements.
#
-# $Id: mallocJ.test,v 1.3 2008/11/04 14:25:06 drh Exp $
+# $Id: mallocJ.test,v 1.4 2008/11/11 00:21:30 drh Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
}
# ticket #3467
-do_malloc_test mallocJ-2 -sqlprep {
+do_malloc_test mallocJ-2 -start 114 -sqlprep {
CREATE TABLE t1(a,b);
INSERT INTO t1 VALUES(1,2);
+ PRAGMA vdbe_trace=ON;
} -sqlbody {
SELECT a, b, 'abc' FROM t1
UNION