mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
Small performance increase and size reduction in the OP_Column opcode.
FossilOrigin-Name: a9498407e646305e7b60115d63e85c642bbd1c3f
This commit is contained in:
12
manifest
12
manifest
@@ -1,5 +1,5 @@
|
||||
C Performance\senhancement\sto\ssqlite3_snprintf().
|
||||
D 2016-11-25T15:47:53.375
|
||||
C Small\sperformance\sincrease\sand\ssize\sreduction\sin\sthe\sOP_Column\sopcode.
|
||||
D 2016-11-25T17:03:03.293
|
||||
F Makefile.in 6b572807415d3f0a379cebc9461416d8df4a12c8
|
||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||
F Makefile.msc bb4d970894abbbe0e88d00aac29bd52af8bc95f4
|
||||
@@ -454,7 +454,7 @@ F src/update.c 68714ed42a506d782a3d75ff8f09640706d6a3b2
|
||||
F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
|
||||
F src/util.c 3e2da6101888d073e79ecc6af5e0a2f70fa1e498
|
||||
F src/vacuum.c 33c174b28886b2faf26e503b5a49a1c01a9b1c16
|
||||
F src/vdbe.c e76ee960a2e6d099838173599ae2d0999dc3aa63
|
||||
F src/vdbe.c 54a1d3e143a87ebcd355c956999b667dcfb64824
|
||||
F src/vdbe.h c044be7050ac6bf596eecc6ab159f5dbc020a3b7
|
||||
F src/vdbeInt.h 29b25318a0286c4b2599c0fbef6acf524398489a
|
||||
F src/vdbeapi.c 97129bec6b1553da50d8e73f523c278bda66d9f6
|
||||
@@ -1534,7 +1534,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 b6acf5d4ef016326a079463e70e71c2fc95a352d
|
||||
R 66214ce5c9237cac8843327752704c96
|
||||
P c53dca7fadd81ea340fef776373cbb122c9ccd46
|
||||
R 5cc42cc506bbe372234cb9f20b970e00
|
||||
U drh
|
||||
Z 00ed6ef21d5c142098e92d37ff95081c
|
||||
Z dac9238c0e962ec79642eb1c1f1654f2
|
||||
|
@@ -1 +1 @@
|
||||
c53dca7fadd81ea340fef776373cbb122c9ccd46
|
||||
a9498407e646305e7b60115d63e85c642bbd1c3f
|
@@ -2470,7 +2470,6 @@ case OP_Column: {
|
||||
assert( pC->eCurType!=CURTYPE_VTAB );
|
||||
assert( pC->eCurType!=CURTYPE_PSEUDO || pC->nullRow );
|
||||
assert( pC->eCurType!=CURTYPE_SORTER );
|
||||
pCrsr = pC->uc.pCursor;
|
||||
|
||||
if( pC->cacheStatus!=p->cacheCtr ){ /*OPTIMIZATION-IF-FALSE*/
|
||||
if( pC->nullRow ){
|
||||
@@ -2486,6 +2485,7 @@ case OP_Column: {
|
||||
goto op_column_out;
|
||||
}
|
||||
}else{
|
||||
pCrsr = pC->uc.pCursor;
|
||||
assert( pC->eCurType==CURTYPE_BTREE );
|
||||
assert( pCrsr );
|
||||
assert( sqlite3BtreeCursorIsValid(pCrsr) );
|
||||
@@ -2549,7 +2549,8 @@ case OP_Column: {
|
||||
/* Make sure zData points to enough of the record to cover the header. */
|
||||
if( pC->aRow==0 ){
|
||||
memset(&sMem, 0, sizeof(sMem));
|
||||
rc = sqlite3VdbeMemFromBtree(pCrsr, 0, aOffset[0], !pC->isTable, &sMem);
|
||||
rc = sqlite3VdbeMemFromBtree(pC->uc.pCursor, 0, aOffset[0],
|
||||
!pC->isTable, &sMem);
|
||||
if( rc!=SQLITE_OK ) goto abort_due_to_error;
|
||||
zData = (u8*)sMem.z;
|
||||
}else{
|
||||
@@ -2662,8 +2663,8 @@ case OP_Column: {
|
||||
static u8 aZero[8]; /* This is the bogus content */
|
||||
sqlite3VdbeSerialGet(aZero, t, pDest);
|
||||
}else{
|
||||
rc = sqlite3VdbeMemFromBtree(pCrsr, aOffset[p2], len, !pC->isTable,
|
||||
pDest);
|
||||
rc = sqlite3VdbeMemFromBtree(pC->uc.pCursor, aOffset[p2], len,
|
||||
!pC->isTable, pDest);
|
||||
if( rc!=SQLITE_OK ) goto abort_due_to_error;
|
||||
sqlite3VdbeSerialGet((const u8*)pDest->z, t, pDest);
|
||||
pDest->flags &= ~MEM_Ephem;
|
||||
|
Reference in New Issue
Block a user