]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Minor performance enhancements to the OP_Affinity opcode.
authordrh <drh@noemail.net>
Sat, 1 Apr 2017 20:14:01 +0000 (20:14 +0000)
committerdrh <drh@noemail.net>
Sat, 1 Apr 2017 20:14:01 +0000 (20:14 +0000)
FossilOrigin-Name: c45cd3b947c0f03a688f827fddb4629a986788f0dd98d5ef899f11e68ff1c202

manifest
manifest.uuid
src/vdbe.c

index 2f2efc5396b3f1e5d4aa2a3150a0bba9381f75e6..e8f78f99edf25223b61e43ca067eed311a8b4cb7 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\san\sunnecessary\sclearing\sof\sthe\sVdbe.iCurrentTime\svalue.
-D 2017-04-01T19:45:20.706
+C Minor\sperformance\senhancements\sto\sthe\sOP_Affinity\sopcode.
+D 2017-04-01T20:14:01.312
 F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc a4c0613a18663bda56d8cf76079ab6590a7c3602e54befb4bbdef76bcaa38b6a
@@ -468,7 +468,7 @@ F src/update.c 456d4a4656f8a03c2abc88a51b19172197400e58
 F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
 F src/util.c ca8440ede81e155d15cff7c101654f60b55a9ae6
 F src/vacuum.c 1fe4555cd8c9b263afb85b5b4ee3a4a4181ad569
-F src/vdbe.c f1acf5744cef62cbfd0b503d84289f840b6cdc980ac47b0d9632dfdb89cc79eb
+F src/vdbe.c 73ddbad81e181cd97db84a654d9f4e0e2a1cffe5ada55d2d415730bb92ba9154
 F src/vdbe.h caa5346d52bae2a3c8c1dcfa60a7a4dc878a9e3865cb8239da55808b316c8158
 F src/vdbeInt.h 5db089ce18c4feff8820ec6e4cac2d2c82e03d4b1d96f10a6e43832147b8dffe
 F src/vdbeapi.c 5b08d82592bcff4470601fe78aaabebd50837860
@@ -1569,7 +1569,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 8698df60c23d4dcc80b58352c14ae80ec238cac496f8a87bd72a96fef61cc63f
-R 07505fb3d31361478cf20d311fece580
+P fcd2acdd6075aa9a7a66ce254eba77485f7b2804127e109c0309173488cd4b87
+R b2865bd21e6736872cabd9a653d63ed6
 U drh
-Z 308793a249443429e619af47ce6ccfc8
+Z b3718432a24e2278ab854298acb77351
index a49b4804634a157c3cdbb8919fb0d6bfa7555813..7d8d3f0fe382b2d0ddcdc4002dc5dc3b2e85f0f6 100644 (file)
@@ -1 +1 @@
-fcd2acdd6075aa9a7a66ce254eba77485f7b2804127e109c0309173488cd4b87
\ No newline at end of file
+c45cd3b947c0f03a688f827fddb4629a986788f0dd98d5ef899f11e68ff1c202
\ No newline at end of file
index 406394c5be77e2e76b12532a3d61230b54d6bf23..feccb424ec066f6927e63bfd64e552543cb8bbf1 100644 (file)
@@ -2710,18 +2710,18 @@ op_column_out:
 */
 case OP_Affinity: {
   const char *zAffinity;   /* The affinity to be applied */
-  char cAff;               /* A single character of affinity */
 
   zAffinity = pOp->p4.z;
   assert( zAffinity!=0 );
+  assert( pOp->p2>0 );
   assert( zAffinity[pOp->p2]==0 );
   pIn1 = &aMem[pOp->p1];
-  while( (cAff = *(zAffinity++))!=0 ){
+  do{
     assert( pIn1 <= &p->aMem[(p->nMem+1 - p->nCursor)] );
     assert( memIsValid(pIn1) );
-    applyAffinity(pIn1, cAff, encoding);
+    applyAffinity(pIn1, *(zAffinity++), encoding);
     pIn1++;
-  }
+  }while( zAffinity[0] );
   break;
 }