Bug fix: When multiple SQL statements were passed into a single sqlite_exec() call, execution speed would decrease for each statement executed because VDBE cursors were not being reused. Now the cursors are reused and execution time is linear. (CVS 754)

FossilOrigin-Name: b0d27a377a9f6134f81108fe45c8c868ab4d4411
This commit is contained in:
drh 2002-09-25 19:04:07 +00:00
parent df68f6b768
commit a226d05408
3 changed files with 12 additions and 8 deletions

@ -1,5 +1,5 @@
C Make\ssure\smemory\smalloced()\sfor\sstructures\sis\saligned\son\san\seven\sbyte\sboundry.\nSolaris\ssegfaults\sotherwise.\s(CVS\s753)
D 2002-09-21T15:57:57
C Bug\sfix:\sWhen\smultiple\sSQL\sstatements\swere\spassed\sinto\sa\ssingle\ssqlite_exec()\scall,\sexecution\sspeed\swould\sdecrease\sfor\seach\sstatement\sexecuted\sbecause\sVDBE\scursors\swere\snot\sbeing\sreused.\s\sNow\sthe\scursors\sare\sreused\sand\sexecution\stime\sis\slinear.\s(CVS\s754)
D 2002-09-25T19:04:07
F Makefile.in d6c9a85c2a5e696843201d090dcf8bf2f8716f2a
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@ -20,7 +20,7 @@ F spec.template 238f7db425a78dc1bb7682e56e3834c7270a3f5e
F sqlite.1 83f4a9d37bdf2b7ef079a82d54eaf2e3509ee6ea
F src/btree.c 8024b87635c2adf133f153f1bb595125ec1c7d7b
F src/btree.h 0ca6c2631338df62e4f7894252d9347ae234eda9
F src/build.c 84f397a61b5bfcc1140fd41b9f8c5bda364dfea5
F src/build.c 37e19378206b043ac6a0b7d53cf0726549a0bbdb
F src/delete.c aad9d4051ab46e6f6391ea5f7b8994a7c05bdd15
F src/encode.c 6c9c87d5b7b2c0101d011ebc283a80abf672a4d1
F src/expr.c e1327eb020a68ff7c49382e121ad4b71b3441b2a
@ -149,7 +149,7 @@ F www/speed.tcl a20a792738475b68756ea7a19321600f23d1d803
F www/sqlite.tcl ae3dcfb077e53833b59d4fcc94d8a12c50a44098
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
P 29145746f34438bd830c763872c5e82572150357
R 5d4b302464bafa2bfba8710f952a6108
P 14ebe30bf5937effdc388e23e998ba1a34fb0a29
R 177fd2a86ea7e1243cec22f56d3bf48e
U drh
Z dc6c63618e264b41d89885961d5df42f
Z f9ea9206896cc0d3e37a6baef7c96e75

@ -1 +1 @@
14ebe30bf5937effdc388e23e998ba1a34fb0a29
b0d27a377a9f6134f81108fe45c8c868ab4d4411

@ -25,7 +25,7 @@
** ROLLBACK
** PRAGMA
**
** $Id: build.c,v 1.113 2002/09/21 15:57:57 drh Exp $
** $Id: build.c,v 1.114 2002/09/25 19:04:07 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@ -81,6 +81,10 @@ void sqliteExec(Parse *pParse){
pParse->rc = rc;
pParse->schemaVerified = 0;
}
pParse->nTab = 0;
pParse->nMem = 0;
pParse->nSet = 0;
pParse->nAgg = 0;
}
/*