From: drh Date: Thu, 30 Sep 2010 18:12:01 +0000 (+0000) Subject: Remove unnecessary calls to memAboutToChange() in vdbe.c. An affinity X-Git-Tag: version-3.7.4~122^2~3 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=6b8705657030299a735de2ce525f995b2e0c418c;p=thirdparty%2Fsqlite.git Remove unnecessary calls to memAboutToChange() in vdbe.c. An affinity change no longer invalidates shallow copies. FossilOrigin-Name: afb0fd0b0421c42630c5e6e5e8811aca634bc9d0 --- diff --git a/manifest b/manifest index 607886fbf2..8e2bfc803b 100644 --- a/manifest +++ b/manifest @@ -1,8 +1,8 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -C Do\scorrect\saffinity\stransformations\son\sfloating\spoint\svalues\swhich\shave\na\sdecimal\spoint\sat\sthe\sbeginning\sor\send\sof\sthe\smantissa.\nTicket\s[3998683a16a7076e08f5]. -D 2010-09-30T17:33:12 +C Remove\sunnecessary\scalls\sto\smemAboutToChange()\sin\svdbe.c.\s\sAn\saffinity\nchange\sno\slonger\sinvalidates\sshallow\scopies. +D 2010-09-30T18:12:02 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in c599a15d268b1db2aeadea19df2adc3bf2eb6bee F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -228,7 +228,7 @@ F src/update.c 227e6cd512108b84f69421fc6c7aa1b83d60d6e0 F src/utf.c 1baeeac91707a4df97ccc6141ec0f808278af685 F src/util.c cd78524566fe45671863eee78685969a4bfd4e4c F src/vacuum.c 924bd1bcee2dfb05376f79845bd3b4cec7b54b2f -F src/vdbe.c 447577ca9db7cccac30dd8ea07aeb6a4ddee9cde +F src/vdbe.c e1aa917961e69f71c80f46ce231b496d3c841ae1 F src/vdbe.h 4de0efb4b0fdaaa900cf419b35c458933ef1c6d2 F src/vdbeInt.h 7f4cf1b2b69bef3a432b1f23dfebef57275436b4 F src/vdbeapi.c 03cddfa4f85cadf608c0d28ff6b622b7da432446 @@ -874,14 +874,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 43fef1cab6315f837782ea601d5a2aeb9843ab3c -R 9f0571eacddb9a3dd22902b2fc6da09d +P ca154f97a590745539b2cbfd77eb319fd7392a40 +R 748449bce6ae506eaa073ea594abdada U drh -Z c3bfcfff0e351511af94c6133a9e5932 +Z 093ac075ab4b1886bb1eccb584418581 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) -iD8DBQFMpMncoxKgR168RlERApVjAJ9CgWo7czjJJMuzPPhDGIuxcWDpSACeLMY+ -2nv8gkZ9kYhTsRmCj46G7ik= -=tJZ/ +iD8DBQFMpNL1oxKgR168RlERAjjtAJ4+t7sulYFx05+58t1+K8swwMqAWQCfbEoM +G6/RegdDSppspf4YTh1aD/Y= +=7FrQ -----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index 8e6154f471..e03860e931 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ca154f97a590745539b2cbfd77eb319fd7392a40 \ No newline at end of file +afb0fd0b0421c42630c5e6e5e8811aca634bc9d0 \ No newline at end of file diff --git a/src/vdbe.c b/src/vdbe.c index 7718516faa..02d1a406c9 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -1541,7 +1541,6 @@ case OP_MustBeInt: { /* jump, in1 */ */ case OP_RealAffinity: { /* in1 */ pIn1 = &aMem[pOp->p1]; - memAboutToChange(p, pIn1); if( pIn1->flags & MEM_Int ){ sqlite3VdbeMemRealify(pIn1); } @@ -1584,7 +1583,6 @@ case OP_ToText: { /* same as TK_TO_TEXT, in1 */ */ case OP_ToBlob: { /* same as TK_TO_BLOB, in1 */ pIn1 = &aMem[pOp->p1]; - memAboutToChange(p, pIn1); if( pIn1->flags & MEM_Null ) break; if( (pIn1->flags & MEM_Blob)==0 ){ applyAffinity(pIn1, SQLITE_AFF_TEXT, encoding); @@ -1609,7 +1607,6 @@ case OP_ToBlob: { /* same as TK_TO_BLOB, in1 */ */ case OP_ToNumeric: { /* same as TK_TO_NUMERIC, in1 */ pIn1 = &aMem[pOp->p1]; - memAboutToChange(p, pIn1); sqlite3VdbeMemNumerify(pIn1); break; } @@ -1626,7 +1623,6 @@ case OP_ToNumeric: { /* same as TK_TO_NUMERIC, in1 */ */ case OP_ToInt: { /* same as TK_TO_INT, in1 */ pIn1 = &aMem[pOp->p1]; - memAboutToChange(p, pIn1); if( (pIn1->flags & MEM_Null)==0 ){ sqlite3VdbeMemIntegerify(pIn1); } @@ -1738,8 +1734,6 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ pIn1 = &aMem[pOp->p1]; pIn3 = &aMem[pOp->p3]; - memAboutToChange(p, pIn1); - memAboutToChange(p, pIn3); flags1 = pIn1->flags; flags3 = pIn3->flags; if( (pIn1->flags | pIn3->flags)&MEM_Null ){ @@ -2362,7 +2356,6 @@ case OP_Affinity: { while( (cAff = *(zAffinity++))!=0 ){ assert( pIn1 <= &p->aMem[p->nMem] ); assert( memIsValid(pIn1) ); - memAboutToChange(p, pIn1); ExpandBlob(pIn1); applyAffinity(pIn1, cAff, encoding); pIn1++; @@ -2440,7 +2433,6 @@ case OP_MakeRecord: { for(pRec=pData0; pRec<=pLast; pRec++){ assert( memIsValid(pRec) ); if( zAffinity ){ - memAboutToChange(p, pRec); applyAffinity(pRec, zAffinity[pRec-pData0], encoding); } if( pRec->flags&MEM_Zero && pRec->n>0 ){