]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Another optimization on the OP_Column opcode.
authordrh <drh@noemail.net>
Fri, 20 May 2016 21:40:11 +0000 (21:40 +0000)
committerdrh <drh@noemail.net>
Fri, 20 May 2016 21:40:11 +0000 (21:40 +0000)
FossilOrigin-Name: 1765672c2599eb03d39c52cd2dc32ea1e5ee069e

manifest
manifest.uuid
src/vdbe.c

index 59b91454b08b922822769ea446c263904a751f6c..1cd3edacb42f3e2dabf7d137bd14b2e86422b47d 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\stypo\sin\scomment.
-D 2016-05-20T20:58:30.520
+C Another\soptimization\son\sthe\sOP_Column\sopcode.
+D 2016-05-20T21:40:11.890
 F Makefile.in f59e0763ff448719fc1bd25513882b0567286317
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 306d73e854b1a92ea06e5d1e637faa5c44de53c7
@@ -444,7 +444,7 @@ F src/update.c 4f05ea8cddfa367d045e03589756c02199e8f9bd
 F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
 F src/util.c 810ec3f22e2d1b62e66c30fe3621ebdedd23584d
 F src/vacuum.c feb1eabb20987983d9350cad98299b21fa811f52
-F src/vdbe.c 9d0872c73555b335d7e658bb9b6fd69798ba551c
+F src/vdbe.c 975ac1d3d326bcb36b4e99255daeaf81ff6659d1
 F src/vdbe.h 5591b5add447096e31288b5a0a78ec5d7b5c5170
 F src/vdbeInt.h ddb157974436d87652de7dc641f7191496d9a8cd
 F src/vdbeapi.c ba85b78fe08dc4a9ce747e62c89a2b4a4547e74c
@@ -1490,7 +1490,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 5c157474391f90f24e8867c77fbc6564c7955ecc
-R 24d15d6cfb006c0761a9dcc11f99e304
-U mistachkin
-Z 03dddc8d9c707d4b35ca07d5a2fcd8f4
+P 9db8f2147339ba519c4ec32e34068e9f4a25e099
+R b59019073443c960ff19359461f0425d
+U drh
+Z be39c49e0fa0986f111ad70cd504ec49
index 7ce09e7144bf26a70a2242d6025fb6ce0b1ad236..f85b5caaaec9db09936ca93da931755e3cd8e857 100644 (file)
@@ -1 +1 @@
-9db8f2147339ba519c4ec32e34068e9f4a25e099
\ No newline at end of file
+1765672c2599eb03d39c52cd2dc32ea1e5ee069e
\ No newline at end of file
index 9f36a3feb2a4d953289c13ed269f05e5d8ad9f88..36c014a7d052cc0a55f27a0d00045a17ea73826e 100644 (file)
@@ -2531,9 +2531,7 @@ case OP_Column: {
         pC->aType[i++] = t;
         aOffset[i] = (u32)(offset64 & 0xffffffff);
       }while( i<=p2 && zHdr<zEndHdr );
-      pC->nHdrParsed = i;
-      pC->iHdrOffset = (u32)(zHdr - zData);
-  
+
       /* The record is corrupt if any of the following are true:
       ** (1) the bytes of the header extend past the declared header size
       ** (2) the entire header was used but not all data was used
@@ -2546,8 +2544,10 @@ case OP_Column: {
         rc = SQLITE_CORRUPT_BKPT;
         goto abort_due_to_error;
       }
-      if( pC->aRow==0 ) sqlite3VdbeMemRelease(&sMem);
 
+      pC->nHdrParsed = i;
+      pC->iHdrOffset = (u32)(zHdr - zData);
+      if( pC->aRow==0 ) sqlite3VdbeMemRelease(&sMem);
     }else{
       t = 0;
     }