From: drh Date: Wed, 15 Mar 2006 22:44:36 +0000 (+0000) Subject: Performance improvement in sqlite3VdbeAddOp(). (CVS 3138) X-Git-Tag: version-3.6.10~3029 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fd2d26bb7debc8719d3958792adb59070febdbc3;p=thirdparty%2Fsqlite.git Performance improvement in sqlite3VdbeAddOp(). (CVS 3138) FossilOrigin-Name: 6bcbe8fcad35de6e9b90e7776bd262fdf7cbc28e --- diff --git a/manifest b/manifest index 419cc9f1f6..8fa2479fb8 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sCHECK\sconstraints\sto\suse\salternative\sconflict\sresolution.\s\sTicket\s#1717.\s(CVS\s3137) -D 2006-03-15T16:26:10 +C Performance\simprovement\sin\ssqlite3VdbeAddOp().\s(CVS\s3138) +D 2006-03-15T22:44:37 F Makefile.in 5d8dff443383918b700e495de42ec65bc1c8865b F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -93,7 +93,7 @@ F src/vdbe.c 2c687d8cf6b75380ef26a8c9db047ce0e3fa7424 F src/vdbe.h 80ba1c391ec28180dd07a630577f50b22c2062da F src/vdbeInt.h 2109be6b58e3bfcd8e5b56d3b212b1a105a61051 F src/vdbeapi.c 7dc662e7c905ce666bb506dced932e0307115cbf -F src/vdbeaux.c db9dc285e1efacaece7ee6f9c2f5085e3700942e +F src/vdbeaux.c 2ee7d951161769bf3429df2a9cd2c4f2e358807e F src/vdbefifo.c 9efb94c8c3f4c979ebd0028219483f88e57584f5 F src/vdbemem.c 5f0afe3b92bb2c037f8d5d697f7c151fa50783a3 F src/where.c 39af47e7f48be8df8a14a5965a38326bccf8eeed @@ -355,7 +355,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P 4d70013a6a42a58bc7af3a87bf79c131a0070e96 -R 21ca7022b824f24e0d9e1adce9350a21 +P c0d20fa97f94313e6b7ee5b4baa236ef5b664d76 +R 1505d252f72cd28f9c1a95e3f8396e08 U drh -Z 3a90d1df6d7d6a018bd1a142c92b17e6 +Z c725af24c2ee63910b68e5a54ff93f6c diff --git a/manifest.uuid b/manifest.uuid index 066406a340..6d237cd772 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c0d20fa97f94313e6b7ee5b4baa236ef5b664d76 \ No newline at end of file +6bcbe8fcad35de6e9b90e7776bd262fdf7cbc28e \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 1766c45273..4214352dbb 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -107,9 +107,11 @@ int sqlite3VdbeAddOp(Vdbe *p, int op, int p1, int p2){ i = p->nOp; p->nOp++; assert( p->magic==VDBE_MAGIC_INIT ); - resizeOpArray(p, i+1); - if( sqlite3MallocFailed() ){ - return 0; + if( p->nOpAlloc<=i ){ + resizeOpArray(p, i+1); + if( sqlite3MallocFailed() ){ + return 0; + } } pOp = &p->aOp[i]; pOp->opcode = op;