]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove a memory allocation from sqlite3VdbeIOTraceSql(). This means that
authordrh <drh@noemail.net>
Mon, 13 Aug 2007 11:10:34 +0000 (11:10 +0000)
committerdrh <drh@noemail.net>
Mon, 13 Aug 2007 11:10:34 +0000 (11:10 +0000)
when doing I/O tracing, the text of an SQL statement is truncated to the
first 1000 characters.  But it also means tracing works in an out-of-memory
situation. (CVS 4210)

FossilOrigin-Name: 578da2476e356ea35d272e18faf490efedeaf25c

manifest
manifest.uuid
src/vdbeaux.c

index d3315fc79c9d08167ac3b19602c4272fb8fa3f00..6b5559cd870f2cbd7a90b468d1e2f0e37be7843c 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Updates\sto\stest\sscripts\sfor\sbetter\ssupport\sof\ssoft-heap-limit\stesting.\s(CVS\s4209)
-D 2007-08-12T20:07:59
+C Remove\sa\smemory\sallocation\sfrom\ssqlite3VdbeIOTraceSql().\s\sThis\smeans\sthat\nwhen\sdoing\sI/O\stracing,\sthe\stext\sof\san\sSQL\sstatement\sis\struncated\sto\sthe\nfirst\s1000\scharacters.\s\sBut\sit\salso\smeans\stracing\sworks\sin\san\sout-of-memory\nsituation.\s(CVS\s4210)
+D 2007-08-13T11:10:35
 F Makefile.in 0c0e53720f658c7a551046442dd7afba0b72bfbe
 F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -144,7 +144,7 @@ F src/vdbe.c cf973bd1af5fbda845b0f759bb06eb19ff42e215
 F src/vdbe.h 001c5b257567c1d3de7feb2203aac71d0d7b16a3
 F src/vdbeInt.h c3514903cad9e36d6b3242be20261351d09db56c
 F src/vdbeapi.c 220b81132abaf0f620edb8da48799a77daef12a7
-F src/vdbeaux.c 6a29a0e372b48bf3b305feb4d1126ada20d61c02
+F src/vdbeaux.c d626e0f8cd78b4280bcb7af25d5c5566348ba87a
 F src/vdbeblob.c bb30b3e387c35ba869949494b2736aff97159470
 F src/vdbefifo.c 3ca8049c561d5d67cbcb94dc909ae9bb68c0bf8f
 F src/vdbemem.c ca4d3994507cb0a9504820293af69f5c778b4abd
@@ -524,7 +524,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
 F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P 7961a7385013d74ec78cbdfff6867c505528c163
-R 690155010e3cd347c457c2124998bd06
+P 990f621f2247f1636e895dcf51fea1e08f202d31
+R 0fa9df43f865850ecc78db80fef1138d
 U drh
-Z 29b329640ed678cd299e540cfde97bf2
+Z 94518ffb3c3b64a4210e21c75b2f41f5
index d1db475c244dde357c649c8fb9b292bb557eebd6..687bb9ce95df06f3723527e2cb8aac29fd78b8a5 100644 (file)
@@ -1 +1 @@
-990f621f2247f1636e895dcf51fea1e08f202d31
\ No newline at end of file
+578da2476e356ea35d272e18faf490efedeaf25c
\ No newline at end of file
index 01c2eeecfed33c879cc01c1da85bd5cee609679b..d949448052682827379d16419b930afc611af136 100644 (file)
@@ -793,8 +793,9 @@ void sqlite3VdbeIOTraceSql(Vdbe *p){
   if( nOp<1 ) return;
   pOp = &p->aOp[nOp-1];
   if( pOp->opcode==OP_Noop && pOp->p3!=0 ){
-    char *z = sqlite3StrDup(pOp->p3);
     int i, j;
+    char z[1000];
+    sqlite3_snprintf(sizeof(z), z, "%s", pOp->p3);
     for(i=0; isspace((unsigned char)z[i]); i++){}
     for(j=0; z[i]; i++){
       if( isspace((unsigned char)z[i]) ){
@@ -807,7 +808,6 @@ void sqlite3VdbeIOTraceSql(Vdbe *p){
     }
     z[j] = 0;
     sqlite3_io_trace("SQL %s\n", z);
-    sqliteFree(z);
   }
 }
 #endif /* !SQLITE_OMIT_TRACE && SQLITE_ENABLE_IOTRACE */