mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
More tweaks to improve the performance of the insert logic, slightly.
FossilOrigin-Name: dec1307581216e01ad508ffe4455b957e3356654
This commit is contained in:
12
manifest
12
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Simplify\sthe\ssqlite3BtreeInsert()\sinterface\sby\sgathering\sthe\sfive\sarguments\ndescribing\sthe\scontent\sto\sbe\sinserted\sinto\sthe\snew\sBtreePayload\sstructure,\sand\nthus\sreducing\sthe\snumber\sof\sparameters\sfrom\seight\sto\sfour.
|
C More\stweaks\sto\simprove\sthe\sperformance\sof\sthe\sinsert\slogic,\sslightly.
|
||||||
D 2016-05-21T20:03:42.980
|
D 2016-05-21T23:25:29.377
|
||||||
F Makefile.in f59e0763ff448719fc1bd25513882b0567286317
|
F Makefile.in f59e0763ff448719fc1bd25513882b0567286317
|
||||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||||
F Makefile.msc 306d73e854b1a92ea06e5d1e637faa5c44de53c7
|
F Makefile.msc 306d73e854b1a92ea06e5d1e637faa5c44de53c7
|
||||||
@@ -322,7 +322,7 @@ F src/auth.c b56c78ebe40a2110fd361379f7e8162d23f92240
|
|||||||
F src/backup.c 6df65fdd569c901a418887a1a76f82ec35044556
|
F src/backup.c 6df65fdd569c901a418887a1a76f82ec35044556
|
||||||
F src/bitvec.c 3ee4c8b2c94ed3a7377256e18199e6ff5cf33f63
|
F src/bitvec.c 3ee4c8b2c94ed3a7377256e18199e6ff5cf33f63
|
||||||
F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73
|
F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73
|
||||||
F src/btree.c e312cc3fdff31fdcc727b973fa0f195573b86393
|
F src/btree.c 2128172fc1c420a6fa6878827fa595407795069a
|
||||||
F src/btree.h 1342a9b2cc2089e3534d3ef00204786783f6aea6
|
F src/btree.h 1342a9b2cc2089e3534d3ef00204786783f6aea6
|
||||||
F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5
|
F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5
|
||||||
F src/build.c 785fa789319d93c6ae20efbd01d4da9ce8f8a793
|
F src/build.c 785fa789319d93c6ae20efbd01d4da9ce8f8a793
|
||||||
@@ -1492,7 +1492,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||||
P 2ce1166717ac3c0cec37b2f6d70d8359fbaefc71
|
P 55f348cdd24c7812ea4b63345514764b69f64dc8
|
||||||
R 560ed5c35c4c6718e1a252b0b3f02845
|
R c264a769216b385e0f4c9931cdb639d6
|
||||||
U drh
|
U drh
|
||||||
Z ca823f4324bb11c74d57e3f017091386
|
Z 3ab4f00ccff5a15915c6caecbe082e94
|
||||||
|
@@ -1 +1 @@
|
|||||||
55f348cdd24c7812ea4b63345514764b69f64dc8
|
dec1307581216e01ad508ffe4455b957e3356654
|
19
src/btree.c
19
src/btree.c
@@ -6096,24 +6096,23 @@ static int fillInCell(
|
|||||||
|
|
||||||
/* Fill in the header. */
|
/* Fill in the header. */
|
||||||
nHeader = pPage->childPtrSize;
|
nHeader = pPage->childPtrSize;
|
||||||
nPayload = pX->nData + pX->nZero;
|
if( pPage->intKey ){
|
||||||
if( pPage->intKeyLeaf ){
|
nPayload = pX->nData + pX->nZero;
|
||||||
|
pSrc = pX->pData;
|
||||||
|
nSrc = pX->nData;
|
||||||
|
assert( pPage->intKeyLeaf ); /* fillInCell() only called for leaves */
|
||||||
nHeader += putVarint32(&pCell[nHeader], nPayload);
|
nHeader += putVarint32(&pCell[nHeader], nPayload);
|
||||||
|
nHeader += putVarint(&pCell[nHeader], *(u64*)&pX->nKey);
|
||||||
}else{
|
}else{
|
||||||
assert( pX->nData==0 );
|
assert( pX->nData==0 );
|
||||||
assert( pX->nZero==0 );
|
assert( pX->nZero==0 );
|
||||||
}
|
|
||||||
nHeader += putVarint(&pCell[nHeader], *(u64*)&pX->nKey);
|
|
||||||
|
|
||||||
/* Fill in the payload */
|
|
||||||
if( pPage->intKey ){
|
|
||||||
pSrc = pX->pData;
|
|
||||||
nSrc = pX->nData;
|
|
||||||
}else{
|
|
||||||
assert( pX->nKey<=0x7fffffff && pX->pKey!=0 );
|
assert( pX->nKey<=0x7fffffff && pX->pKey!=0 );
|
||||||
nSrc = nPayload = (int)pX->nKey;
|
nSrc = nPayload = (int)pX->nKey;
|
||||||
pSrc = pX->pKey;
|
pSrc = pX->pKey;
|
||||||
|
nHeader += putVarint32(&pCell[nHeader], nPayload);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Fill in the payload */
|
||||||
if( nPayload<=pPage->maxLocal ){
|
if( nPayload<=pPage->maxLocal ){
|
||||||
n = nHeader + nPayload;
|
n = nHeader + nPayload;
|
||||||
testcase( n==3 );
|
testcase( n==3 );
|
||||||
|
Reference in New Issue
Block a user