]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Performance improvement for the OP_MustBeInt opcode in the VDBE.
authordrh <drh@noemail.net>
Wed, 20 Nov 2013 00:59:02 +0000 (00:59 +0000)
committerdrh <drh@noemail.net>
Wed, 20 Nov 2013 00:59:02 +0000 (00:59 +0000)
FossilOrigin-Name: 96a65388e75fed96e2e73ef65726f6db88cc5ccd

manifest
manifest.uuid
src/vdbe.c

index 588130af149db8817a44fde3d18769f52c3bb927..63b26c9cc05b9cc2ba33143c47676226daa790e8 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\sharmless\sMSVC\scompiler\swarning.
-D 2013-11-19T18:17:20.533
+C Performance\simprovement\sfor\sthe\sOP_MustBeInt\sopcode\sin\sthe\sVDBE.
+D 2013-11-20T00:59:02.349
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 8a07bebafbfda0eb67728f4bd15a36201662d1a1
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -280,7 +280,7 @@ F src/update.c c05a0ee658f1a149e0960dfd110f3b8bd846bcb0
 F src/utf.c 6fc6c88d50448c469c5c196acf21617a24f90269
 F src/util.c 2fa6c821d28bbdbeec1b2a7b091a281c9ef8f918
 F src/vacuum.c 3728d74919d4fb1356f9e9a13e27773db60b7179
-F src/vdbe.c 5573893423aec2d64871e8d504fadbcdaad39fed
+F src/vdbe.c 9e2b906528de10d62c33e7c4f1ac50f96d43b4ed
 F src/vdbe.h c06f0813f853566457ce9cfb1a4a4bc39a5da644
 F src/vdbeInt.h 62eb680327011f3a4b0336642b0ca9d6ecc6eb91
 F src/vdbeapi.c 93a22a9ba2abe292d5c2cf304d7eb2e894dde0ed
@@ -1140,7 +1140,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
-P 17e8524fc05aa1e6074c19a8ccccc5ab5883103a
-R fdf3e89d3298858e83482c5ae882639e
+P 6cc023bb29be51847fbbfab95c24fc89993ccdba
+R ea2b846df6a1b7af99928ae17f1103b5
 U drh
-Z 293cb080495f6949faacc3bee3334f1e
+Z 854085182559c61795f3e3e96d9d7a82
index ca50561c4cac60f90dcaf0c848a8e1db048665b4..3983daa60726d59c44c09b811a76842b2e6c544c 100644 (file)
@@ -1 +1 @@
-6cc023bb29be51847fbbfab95c24fc89993ccdba
\ No newline at end of file
+96a65388e75fed96e2e73ef65726f6db88cc5ccd
\ No newline at end of file
index 1cd7be94ea2952e22c9c3cdca54711a84724e067..21d0dfaab26dd7644a383bb9e4c76e4e0a7ce332 100644 (file)
@@ -1662,17 +1662,19 @@ case OP_AddImm: {            /* in1 */
 */
 case OP_MustBeInt: {            /* jump, in1 */
   pIn1 = &aMem[pOp->p1];
-  applyAffinity(pIn1, SQLITE_AFF_NUMERIC, encoding);
   if( (pIn1->flags & MEM_Int)==0 ){
-    if( pOp->p2==0 ){
-      rc = SQLITE_MISMATCH;
-      goto abort_due_to_error;
-    }else{
-      pc = pOp->p2 - 1;
+    applyAffinity(pIn1, SQLITE_AFF_NUMERIC, encoding);
+    if( (pIn1->flags & MEM_Int)==0 ){
+      if( pOp->p2==0 ){
+        rc = SQLITE_MISMATCH;
+        goto abort_due_to_error;
+      }else{
+        pc = pOp->p2 - 1;
+        break;
+      }
     }
-  }else{
-    MemSetTypeFlag(pIn1, MEM_Int);
   }
+  MemSetTypeFlag(pIn1, MEM_Int);
   break;
 }