]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
More speed improvements. (CVS 1580)
authordrh <drh@noemail.net>
Sun, 13 Jun 2004 00:54:01 +0000 (00:54 +0000)
committerdrh <drh@noemail.net>
Sun, 13 Jun 2004 00:54:01 +0000 (00:54 +0000)
FossilOrigin-Name: c5ebc1c05eccc2c0697b6047a504954e11960f73

manifest
manifest.uuid
src/btree.c
src/update.c
src/vdbeaux.c

index c5d2000261f9219f62fdb4a33867fee457e2fdf7..da390906e32edf06d0e2a1296ff42dd4cf903f0e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C The\sVDBE\saggregate\sfunctions\suse\san\sin-memory\sbtree\sinstead\sof\sa\sdisk-based\nbtree\sfor\simproved\sperformance.\s(CVS\s1579)
-D 2004-06-12T20:42:30
+C More\sspeed\simprovements.\s(CVS\s1580)
+D 2004-06-13T00:54:02
 F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a
 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -26,7 +26,7 @@ F sqlite.def fc4f5734786fe4743cfe2aa98eb2da4b089edb5f
 F sqlite.pc.in 30552343140c53304c2a658c080fbe810cd09ca2
 F src/attach.c 93b8ecec4a8d7b4e9f2479e2327d90c9d01765e8
 F src/auth.c 5c2f0bea4729c98c2be3b69d6b466fc51448fe79
-F src/btree.c 281af87aa117de024f5b6c2728a2339cba9ef584
+F src/btree.c fed8a295ebb11c2ebadb473c04cd3ba55c17e934
 F src/btree.h 589427ac13bb544d298cd99726e2572a6fe4bdaa
 F src/build.c 916a84fa5f8bfd44dbe14c3d7c923dd07ee7373f
 F src/date.c 65b483caeb0e4dd663667d2f927caa058168ebff
@@ -67,7 +67,7 @@ F src/test4.c a921a69821fd30209589228e64f94e9f715b6fe2
 F src/test5.c 13ac1db35b03acbc197ceb245fe862da5ebf2369
 F src/tokenize.c 183c5d7da11affab5d70d903d33409c8c0ce6c5b
 F src/trigger.c 3ff6f24e5273767117126b712eaae24c3d6466aa
-F src/update.c 168b6d523087ca4545b74ec9f3102b1f3c6b1e38
+F src/update.c 6133c876aa126e1771cda165fd992bb0d2f8eb38
 F src/utf.c e16737b3fc4201bf7ce9bd8ced5250596aa31b76
 F src/util.c 90375fa253137562d536ccdd40b297f0fd7413fc
 F src/vacuum.c b921eb778842592e1fb48a9d4cef7e861103878f
@@ -75,7 +75,7 @@ F src/vdbe.c c71e47262d3d3539a20a489a03b9cde15ef3acb7
 F src/vdbe.h 46f74444a213129bc4b5ce40124dd8ed613b0cde
 F src/vdbeInt.h ffc7b8ed911c5bf804796a768fdb6f0568010fa2
 F src/vdbeapi.c ee350b552fc4c1c695b760f914f69e9c5556e829
-F src/vdbeaux.c f5fc39d6437d82f8a178159f079a4c3abacdbbfe
+F src/vdbeaux.c 7b45d4934cddcf0fb79feac13c3399165774d35c
 F src/vdbemem.c 34f59988831ea032b7f526c2c73175f9f4c0f3ad
 F src/where.c dda77afaa593cd54e5955ec433076de18faf62f6
 F test/all.test 569a92a8ee88f5300c057cc4a8f50fbbc69a3242
@@ -223,7 +223,7 @@ F www/support.tcl 1801397edd271cc39a2aadd54e701184b5181248
 F www/tclsqlite.tcl 19191cf2a1010eaeff74c51d83fd5f5a4d899075
 F www/vdbe.tcl 59288db1ac5c0616296b26dce071c36cb611dfe9
 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P e42316f5708de6f639b7b54e08d4be73b45367e9
-R 9f1d93376dedf808e4c658f32dc84e20
+P 8029f1e465b900215acdff48c8eefb53c71341a8
+R 138e81a320888ca19cc24892b2fcae4f
 U drh
-Z 2c45278e0a9f61b73b24c4008e2c8da4
+Z cc9b57c631b9118103ce79035012013e
index a11de5132e9fc87a0bd715eef33fcce1890c7e10..59b7f5c94f0ff029bd39d1a8ded8532b6bccc45a 100644 (file)
@@ -1 +1 @@
-8029f1e465b900215acdff48c8eefb53c71341a8
\ No newline at end of file
+c5ebc1c05eccc2c0697b6047a504954e11960f73
\ No newline at end of file
index faa39705e8a9ce6483c026b400eea7b4ae9edd3a..73ce93bc0c3f0929ff91a8973051e0da766fc959 100644 (file)
@@ -9,7 +9,7 @@
 **    May you share freely, never taking more than you give.
 **
 *************************************************************************
-** $Id: btree.c,v 1.163 2004/06/09 20:03:09 drh Exp $
+** $Id: btree.c,v 1.164 2004/06/13 00:54:02 drh Exp $
 **
 ** This file implements a external (disk-based) database using BTrees.
 ** For a detailed discussion of BTrees, refer to
@@ -1484,7 +1484,7 @@ int sqlite3BtreeCursor(
       return rc;
     }
   }
-  pCur = sqliteMalloc( sizeof(*pCur) );
+  pCur = sqliteMallocRaw( sizeof(*pCur) );
   if( pCur==0 ){
     rc = SQLITE_NOMEM;
     goto create_cursor_exception;
@@ -1492,6 +1492,7 @@ int sqlite3BtreeCursor(
   pCur->pgnoRoot = (Pgno)iTable;
   if( iTable==1 && sqlite3pager_pagecount(pBt->pPager)==0 ){
     rc = SQLITE_EMPTY;
+    pCur->pPage = 0;
     goto create_cursor_exception;
   }
   rc = getAndInitPage(pBt, pCur->pgnoRoot, &pCur->pPage, 0);
index f38f2b8496789e30394df73cd3010b184483fcb0..56165991cdad2fdbe6a7b0d4842a4c248e189ca4 100644 (file)
@@ -12,7 +12,7 @@
 ** This file contains C code routines that are called by the parser
 ** to handle UPDATE statements.
 **
-** $Id: update.c,v 1.82 2004/06/10 10:50:45 danielk1977 Exp $
+** $Id: update.c,v 1.83 2004/06/13 00:54:02 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -81,7 +81,7 @@ void sqlite3Update(
       goto update_cleanup;
     }
   }
-  aXRef = sqliteMalloc( sizeof(int) * pTab->nCol );
+  aXRef = sqliteMallocRaw( sizeof(int) * pTab->nCol );
   if( aXRef==0 ) goto update_cleanup;
   for(i=0; i<pTab->nCol; i++) aXRef[i] = -1;
 
@@ -166,7 +166,7 @@ void sqlite3Update(
     if( i<pIdx->nColumn ) nIdx++;
   }
   if( nIdxTotal>0 ){
-    apIdx = sqliteMalloc( sizeof(Index*) * nIdx + nIdxTotal );
+    apIdx = sqliteMallocRaw( sizeof(Index*) * nIdx + nIdxTotal );
     if( apIdx==0 ) goto update_cleanup;
     aIdxUsed = (char*)&apIdx[nIdx];
   }
index 4a32ad3621bac2580fa3ab04d8f928f1d5abf372..c12c0db2a7e01d3572ee8e44fa533eb5a7498297 100644 (file)
@@ -304,7 +304,7 @@ void sqlite3VdbeChangeP3(Vdbe *p, int addr, const char *zP3, int n){
     int nField, nByte;
     nField = ((KeyInfo*)zP3)->nField;
     nByte = sizeof(*pKeyInfo) + (nField-1)*sizeof(pKeyInfo->aColl[0]);
-    pKeyInfo = sqliteMalloc( nByte );
+    pKeyInfo = sqliteMallocRaw( nByte );
     pOp->p3 = (char*)pKeyInfo;
     if( pKeyInfo ){
       memcpy(pKeyInfo, zP3, nByte);